@charset "UTF-8";
/**

This is the base of the app.css file, to modify the configuration ot a site level go to /branding.scss if you need modify the global configuration of all sites go to /global/variables.scss.

[ IMPORTANT ] - No BESPOKE CSS RULE'S should be specified here or in branding.scss, if you need to modify the css do it in either /global or in /componants otherwise it will cause tears, IF you really have to to it in the site specific branding.scss under all of the SASS overrides.

**/
/*

values can be either a list or map.

Breakpoint values:
Small = 1
Medium = 2
Large = 3
xLarge = 4
xxLarge = 5

*/
/**

Site specific branding ( colours & fonts ) any sass overrides get defined here as well.

[ IMPORTANT ] - You maybe compelled to write bespoke css rules at the bottom of the file just to make a " quick " site specific change but this WILL conflict with the css being defined in /global and /component either from a configuration stance or responsive point of view, so please consult/modify those 2 directories as needed, this file was only to designed for SASS variables.

**/
@import url("https://fonts.googleapis.com/css2?family=Khula:wght@300;400;600;700;800&display=swap");
/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-brands: 'Font Awesome 6 Brands';
  --fa-font-brands: normal 400 1em/1 'Font Awesome 6 Brands'; }

@font-face {
  font-family: 'Font Awesome 6 Brands';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.ttf") format("truetype"); }

.fab,
.fa-brands {
  font-weight: 400; }

.fa-monero:before {
  content: "\f3d0"; }

.fa-hooli:before {
  content: "\f427"; }

.fa-yelp:before {
  content: "\f1e9"; }

.fa-cc-visa:before {
  content: "\f1f0"; }

.fa-lastfm:before {
  content: "\f202"; }

.fa-shopware:before {
  content: "\f5b5"; }

.fa-creative-commons-nc:before {
  content: "\f4e8"; }

.fa-aws:before {
  content: "\f375"; }

.fa-redhat:before {
  content: "\f7bc"; }

.fa-yoast:before {
  content: "\f2b1"; }

.fa-cloudflare:before {
  content: "\e07d"; }

.fa-ups:before {
  content: "\f7e0"; }

.fa-pixiv:before {
  content: "\e640"; }

.fa-wpexplorer:before {
  content: "\f2de"; }

.fa-dyalog:before {
  content: "\f399"; }

.fa-bity:before {
  content: "\f37a"; }

.fa-stackpath:before {
  content: "\f842"; }

.fa-buysellads:before {
  content: "\f20d"; }

.fa-first-order:before {
  content: "\f2b0"; }

.fa-modx:before {
  content: "\f285"; }

.fa-guilded:before {
  content: "\e07e"; }

.fa-vnv:before {
  content: "\f40b"; }

.fa-square-js:before {
  content: "\f3b9"; }

.fa-js-square:before {
  content: "\f3b9"; }

.fa-microsoft:before {
  content: "\f3ca"; }

.fa-qq:before {
  content: "\f1d6"; }

.fa-orcid:before {
  content: "\f8d2"; }

.fa-java:before {
  content: "\f4e4"; }

.fa-invision:before {
  content: "\f7b0"; }

.fa-creative-commons-pd-alt:before {
  content: "\f4ed"; }

.fa-centercode:before {
  content: "\f380"; }

.fa-glide-g:before {
  content: "\f2a6"; }

.fa-drupal:before {
  content: "\f1a9"; }

.fa-hire-a-helper:before {
  content: "\f3b0"; }

.fa-creative-commons-by:before {
  content: "\f4e7"; }

.fa-unity:before {
  content: "\e049"; }

.fa-whmcs:before {
  content: "\f40d"; }

.fa-rocketchat:before {
  content: "\f3e8"; }

.fa-vk:before {
  content: "\f189"; }

.fa-untappd:before {
  content: "\f405"; }

.fa-mailchimp:before {
  content: "\f59e"; }

.fa-css3-alt:before {
  content: "\f38b"; }

.fa-square-reddit:before {
  content: "\f1a2"; }

.fa-reddit-square:before {
  content: "\f1a2"; }

.fa-vimeo-v:before {
  content: "\f27d"; }

.fa-contao:before {
  content: "\f26d"; }

.fa-square-font-awesome:before {
  content: "\e5ad"; }

.fa-deskpro:before {
  content: "\f38f"; }

.fa-brave:before {
  content: "\e63c"; }

.fa-sistrix:before {
  content: "\f3ee"; }

.fa-square-instagram:before {
  content: "\e055"; }

.fa-instagram-square:before {
  content: "\e055"; }

.fa-battle-net:before {
  content: "\f835"; }

.fa-the-red-yeti:before {
  content: "\f69d"; }

.fa-square-hacker-news:before {
  content: "\f3af"; }

.fa-hacker-news-square:before {
  content: "\f3af"; }

.fa-edge:before {
  content: "\f282"; }

.fa-threads:before {
  content: "\e618"; }

.fa-napster:before {
  content: "\f3d2"; }

.fa-square-snapchat:before {
  content: "\f2ad"; }

.fa-snapchat-square:before {
  content: "\f2ad"; }

.fa-google-plus-g:before {
  content: "\f0d5"; }

.fa-artstation:before {
  content: "\f77a"; }

.fa-markdown:before {
  content: "\f60f"; }

.fa-sourcetree:before {
  content: "\f7d3"; }

.fa-google-plus:before {
  content: "\f2b3"; }

.fa-diaspora:before {
  content: "\f791"; }

.fa-foursquare:before {
  content: "\f180"; }

.fa-stack-overflow:before {
  content: "\f16c"; }

.fa-github-alt:before {
  content: "\f113"; }

.fa-phoenix-squadron:before {
  content: "\f511"; }

.fa-pagelines:before {
  content: "\f18c"; }

.fa-algolia:before {
  content: "\f36c"; }

.fa-red-river:before {
  content: "\f3e3"; }

.fa-creative-commons-sa:before {
  content: "\f4ef"; }

.fa-safari:before {
  content: "\f267"; }

.fa-google:before {
  content: "\f1a0"; }

.fa-square-font-awesome-stroke:before {
  content: "\f35c"; }

.fa-font-awesome-alt:before {
  content: "\f35c"; }

.fa-atlassian:before {
  content: "\f77b"; }

.fa-linkedin-in:before {
  content: "\f0e1"; }

.fa-digital-ocean:before {
  content: "\f391"; }

.fa-nimblr:before {
  content: "\f5a8"; }

.fa-chromecast:before {
  content: "\f838"; }

.fa-evernote:before {
  content: "\f839"; }

.fa-hacker-news:before {
  content: "\f1d4"; }

.fa-creative-commons-sampling:before {
  content: "\f4f0"; }

.fa-adversal:before {
  content: "\f36a"; }

.fa-creative-commons:before {
  content: "\f25e"; }

.fa-watchman-monitoring:before {
  content: "\e087"; }

.fa-fonticons:before {
  content: "\f280"; }

.fa-weixin:before {
  content: "\f1d7"; }

.fa-shirtsinbulk:before {
  content: "\f214"; }

.fa-codepen:before {
  content: "\f1cb"; }

.fa-git-alt:before {
  content: "\f841"; }

.fa-lyft:before {
  content: "\f3c3"; }

.fa-rev:before {
  content: "\f5b2"; }

.fa-windows:before {
  content: "\f17a"; }

.fa-wizards-of-the-coast:before {
  content: "\f730"; }

.fa-square-viadeo:before {
  content: "\f2aa"; }

.fa-viadeo-square:before {
  content: "\f2aa"; }

.fa-meetup:before {
  content: "\f2e0"; }

.fa-centos:before {
  content: "\f789"; }

.fa-adn:before {
  content: "\f170"; }

.fa-cloudsmith:before {
  content: "\f384"; }

.fa-opensuse:before {
  content: "\e62b"; }

.fa-pied-piper-alt:before {
  content: "\f1a8"; }

.fa-square-dribbble:before {
  content: "\f397"; }

.fa-dribbble-square:before {
  content: "\f397"; }

.fa-codiepie:before {
  content: "\f284"; }

.fa-node:before {
  content: "\f419"; }

.fa-mix:before {
  content: "\f3cb"; }

.fa-steam:before {
  content: "\f1b6"; }

.fa-cc-apple-pay:before {
  content: "\f416"; }

.fa-scribd:before {
  content: "\f28a"; }

.fa-debian:before {
  content: "\e60b"; }

.fa-openid:before {
  content: "\f19b"; }

.fa-instalod:before {
  content: "\e081"; }

.fa-expeditedssl:before {
  content: "\f23e"; }

.fa-sellcast:before {
  content: "\f2da"; }

.fa-square-twitter:before {
  content: "\f081"; }

.fa-twitter-square:before {
  content: "\f081"; }

.fa-r-project:before {
  content: "\f4f7"; }

.fa-delicious:before {
  content: "\f1a5"; }

.fa-freebsd:before {
  content: "\f3a4"; }

.fa-vuejs:before {
  content: "\f41f"; }

.fa-accusoft:before {
  content: "\f369"; }

.fa-ioxhost:before {
  content: "\f208"; }

.fa-fonticons-fi:before {
  content: "\f3a2"; }

.fa-app-store:before {
  content: "\f36f"; }

.fa-cc-mastercard:before {
  content: "\f1f1"; }

.fa-itunes-note:before {
  content: "\f3b5"; }

.fa-golang:before {
  content: "\e40f"; }

.fa-kickstarter:before {
  content: "\f3bb"; }

.fa-grav:before {
  content: "\f2d6"; }

.fa-weibo:before {
  content: "\f18a"; }

.fa-uncharted:before {
  content: "\e084"; }

.fa-firstdraft:before {
  content: "\f3a1"; }

.fa-square-youtube:before {
  content: "\f431"; }

.fa-youtube-square:before {
  content: "\f431"; }

.fa-wikipedia-w:before {
  content: "\f266"; }

.fa-wpressr:before {
  content: "\f3e4"; }

.fa-rendact:before {
  content: "\f3e4"; }

.fa-angellist:before {
  content: "\f209"; }

.fa-galactic-republic:before {
  content: "\f50c"; }

.fa-nfc-directional:before {
  content: "\e530"; }

.fa-skype:before {
  content: "\f17e"; }

.fa-joget:before {
  content: "\f3b7"; }

.fa-fedora:before {
  content: "\f798"; }

.fa-stripe-s:before {
  content: "\f42a"; }

.fa-meta:before {
  content: "\e49b"; }

.fa-laravel:before {
  content: "\f3bd"; }

.fa-hotjar:before {
  content: "\f3b1"; }

.fa-bluetooth-b:before {
  content: "\f294"; }

.fa-square-letterboxd:before {
  content: "\e62e"; }

.fa-sticker-mule:before {
  content: "\f3f7"; }

.fa-creative-commons-zero:before {
  content: "\f4f3"; }

.fa-hips:before {
  content: "\f452"; }

.fa-behance:before {
  content: "\f1b4"; }

.fa-reddit:before {
  content: "\f1a1"; }

.fa-discord:before {
  content: "\f392"; }

.fa-chrome:before {
  content: "\f268"; }

.fa-app-store-ios:before {
  content: "\f370"; }

.fa-cc-discover:before {
  content: "\f1f2"; }

.fa-wpbeginner:before {
  content: "\f297"; }

.fa-confluence:before {
  content: "\f78d"; }

.fa-shoelace:before {
  content: "\e60c"; }

.fa-mdb:before {
  content: "\f8ca"; }

.fa-dochub:before {
  content: "\f394"; }

.fa-accessible-icon:before {
  content: "\f368"; }

.fa-ebay:before {
  content: "\f4f4"; }

.fa-amazon:before {
  content: "\f270"; }

.fa-unsplash:before {
  content: "\e07c"; }

.fa-yarn:before {
  content: "\f7e3"; }

.fa-square-steam:before {
  content: "\f1b7"; }

.fa-steam-square:before {
  content: "\f1b7"; }

.fa-500px:before {
  content: "\f26e"; }

.fa-square-vimeo:before {
  content: "\f194"; }

.fa-vimeo-square:before {
  content: "\f194"; }

.fa-asymmetrik:before {
  content: "\f372"; }

.fa-font-awesome:before {
  content: "\f2b4"; }

.fa-font-awesome-flag:before {
  content: "\f2b4"; }

.fa-font-awesome-logo-full:before {
  content: "\f2b4"; }

.fa-gratipay:before {
  content: "\f184"; }

.fa-apple:before {
  content: "\f179"; }

.fa-hive:before {
  content: "\e07f"; }

.fa-gitkraken:before {
  content: "\f3a6"; }

.fa-keybase:before {
  content: "\f4f5"; }

.fa-apple-pay:before {
  content: "\f415"; }

.fa-padlet:before {
  content: "\e4a0"; }

.fa-amazon-pay:before {
  content: "\f42c"; }

.fa-square-github:before {
  content: "\f092"; }

.fa-github-square:before {
  content: "\f092"; }

.fa-stumbleupon:before {
  content: "\f1a4"; }

.fa-fedex:before {
  content: "\f797"; }

.fa-phoenix-framework:before {
  content: "\f3dc"; }

.fa-shopify:before {
  content: "\e057"; }

.fa-neos:before {
  content: "\f612"; }

.fa-square-threads:before {
  content: "\e619"; }

.fa-hackerrank:before {
  content: "\f5f7"; }

.fa-researchgate:before {
  content: "\f4f8"; }

.fa-swift:before {
  content: "\f8e1"; }

.fa-angular:before {
  content: "\f420"; }

.fa-speakap:before {
  content: "\f3f3"; }

.fa-angrycreative:before {
  content: "\f36e"; }

.fa-y-combinator:before {
  content: "\f23b"; }

.fa-empire:before {
  content: "\f1d1"; }

.fa-envira:before {
  content: "\f299"; }

.fa-google-scholar:before {
  content: "\e63b"; }

.fa-square-gitlab:before {
  content: "\e5ae"; }

.fa-gitlab-square:before {
  content: "\e5ae"; }

.fa-studiovinari:before {
  content: "\f3f8"; }

.fa-pied-piper:before {
  content: "\f2ae"; }

.fa-wordpress:before {
  content: "\f19a"; }

.fa-product-hunt:before {
  content: "\f288"; }

.fa-firefox:before {
  content: "\f269"; }

.fa-linode:before {
  content: "\f2b8"; }

.fa-goodreads:before {
  content: "\f3a8"; }

.fa-square-odnoklassniki:before {
  content: "\f264"; }

.fa-odnoklassniki-square:before {
  content: "\f264"; }

.fa-jsfiddle:before {
  content: "\f1cc"; }

.fa-sith:before {
  content: "\f512"; }

.fa-themeisle:before {
  content: "\f2b2"; }

.fa-page4:before {
  content: "\f3d7"; }

.fa-hashnode:before {
  content: "\e499"; }

.fa-react:before {
  content: "\f41b"; }

.fa-cc-paypal:before {
  content: "\f1f4"; }

.fa-squarespace:before {
  content: "\f5be"; }

.fa-cc-stripe:before {
  content: "\f1f5"; }

.fa-creative-commons-share:before {
  content: "\f4f2"; }

.fa-bitcoin:before {
  content: "\f379"; }

.fa-keycdn:before {
  content: "\f3ba"; }

.fa-opera:before {
  content: "\f26a"; }

.fa-itch-io:before {
  content: "\f83a"; }

.fa-umbraco:before {
  content: "\f8e8"; }

.fa-galactic-senate:before {
  content: "\f50d"; }

.fa-ubuntu:before {
  content: "\f7df"; }

.fa-draft2digital:before {
  content: "\f396"; }

.fa-stripe:before {
  content: "\f429"; }

.fa-houzz:before {
  content: "\f27c"; }

.fa-gg:before {
  content: "\f260"; }

.fa-dhl:before {
  content: "\f790"; }

.fa-square-pinterest:before {
  content: "\f0d3"; }

.fa-pinterest-square:before {
  content: "\f0d3"; }

.fa-xing:before {
  content: "\f168"; }

.fa-blackberry:before {
  content: "\f37b"; }

.fa-creative-commons-pd:before {
  content: "\f4ec"; }

.fa-playstation:before {
  content: "\f3df"; }

.fa-quinscape:before {
  content: "\f459"; }

.fa-less:before {
  content: "\f41d"; }

.fa-blogger-b:before {
  content: "\f37d"; }

.fa-opencart:before {
  content: "\f23d"; }

.fa-vine:before {
  content: "\f1ca"; }

.fa-signal-messenger:before {
  content: "\e663"; }

.fa-paypal:before {
  content: "\f1ed"; }

.fa-gitlab:before {
  content: "\f296"; }

.fa-typo3:before {
  content: "\f42b"; }

.fa-reddit-alien:before {
  content: "\f281"; }

.fa-yahoo:before {
  content: "\f19e"; }

.fa-dailymotion:before {
  content: "\e052"; }

.fa-affiliatetheme:before {
  content: "\f36b"; }

.fa-pied-piper-pp:before {
  content: "\f1a7"; }

.fa-bootstrap:before {
  content: "\f836"; }

.fa-odnoklassniki:before {
  content: "\f263"; }

.fa-nfc-symbol:before {
  content: "\e531"; }

.fa-mintbit:before {
  content: "\e62f"; }

.fa-ethereum:before {
  content: "\f42e"; }

.fa-speaker-deck:before {
  content: "\f83c"; }

.fa-creative-commons-nc-eu:before {
  content: "\f4e9"; }

.fa-patreon:before {
  content: "\f3d9"; }

.fa-avianex:before {
  content: "\f374"; }

.fa-ello:before {
  content: "\f5f1"; }

.fa-gofore:before {
  content: "\f3a7"; }

.fa-bimobject:before {
  content: "\f378"; }

.fa-brave-reverse:before {
  content: "\e63d"; }

.fa-facebook-f:before {
  content: "\f39e"; }

.fa-square-google-plus:before {
  content: "\f0d4"; }

.fa-google-plus-square:before {
  content: "\f0d4"; }

.fa-mandalorian:before {
  content: "\f50f"; }

.fa-first-order-alt:before {
  content: "\f50a"; }

.fa-osi:before {
  content: "\f41a"; }

.fa-google-wallet:before {
  content: "\f1ee"; }

.fa-d-and-d-beyond:before {
  content: "\f6ca"; }

.fa-periscope:before {
  content: "\f3da"; }

.fa-fulcrum:before {
  content: "\f50b"; }

.fa-cloudscale:before {
  content: "\f383"; }

.fa-forumbee:before {
  content: "\f211"; }

.fa-mizuni:before {
  content: "\f3cc"; }

.fa-schlix:before {
  content: "\f3ea"; }

.fa-square-xing:before {
  content: "\f169"; }

.fa-xing-square:before {
  content: "\f169"; }

.fa-bandcamp:before {
  content: "\f2d5"; }

.fa-wpforms:before {
  content: "\f298"; }

.fa-cloudversify:before {
  content: "\f385"; }

.fa-usps:before {
  content: "\f7e1"; }

.fa-megaport:before {
  content: "\f5a3"; }

.fa-magento:before {
  content: "\f3c4"; }

.fa-spotify:before {
  content: "\f1bc"; }

.fa-optin-monster:before {
  content: "\f23c"; }

.fa-fly:before {
  content: "\f417"; }

.fa-aviato:before {
  content: "\f421"; }

.fa-itunes:before {
  content: "\f3b4"; }

.fa-cuttlefish:before {
  content: "\f38c"; }

.fa-blogger:before {
  content: "\f37c"; }

.fa-flickr:before {
  content: "\f16e"; }

.fa-viber:before {
  content: "\f409"; }

.fa-soundcloud:before {
  content: "\f1be"; }

.fa-digg:before {
  content: "\f1a6"; }

.fa-tencent-weibo:before {
  content: "\f1d5"; }

.fa-letterboxd:before {
  content: "\e62d"; }

.fa-symfony:before {
  content: "\f83d"; }

.fa-maxcdn:before {
  content: "\f136"; }

.fa-etsy:before {
  content: "\f2d7"; }

.fa-facebook-messenger:before {
  content: "\f39f"; }

.fa-audible:before {
  content: "\f373"; }

.fa-think-peaks:before {
  content: "\f731"; }

.fa-bilibili:before {
  content: "\e3d9"; }

.fa-erlang:before {
  content: "\f39d"; }

.fa-x-twitter:before {
  content: "\e61b"; }

.fa-cotton-bureau:before {
  content: "\f89e"; }

.fa-dashcube:before {
  content: "\f210"; }

.fa-42-group:before {
  content: "\e080"; }

.fa-innosoft:before {
  content: "\e080"; }

.fa-stack-exchange:before {
  content: "\f18d"; }

.fa-elementor:before {
  content: "\f430"; }

.fa-square-pied-piper:before {
  content: "\e01e"; }

.fa-pied-piper-square:before {
  content: "\e01e"; }

.fa-creative-commons-nd:before {
  content: "\f4eb"; }

.fa-palfed:before {
  content: "\f3d8"; }

.fa-superpowers:before {
  content: "\f2dd"; }

.fa-resolving:before {
  content: "\f3e7"; }

.fa-xbox:before {
  content: "\f412"; }

.fa-searchengin:before {
  content: "\f3eb"; }

.fa-tiktok:before {
  content: "\e07b"; }

.fa-square-facebook:before {
  content: "\f082"; }

.fa-facebook-square:before {
  content: "\f082"; }

.fa-renren:before {
  content: "\f18b"; }

.fa-linux:before {
  content: "\f17c"; }

.fa-glide:before {
  content: "\f2a5"; }

.fa-linkedin:before {
  content: "\f08c"; }

.fa-hubspot:before {
  content: "\f3b2"; }

.fa-deploydog:before {
  content: "\f38e"; }

.fa-twitch:before {
  content: "\f1e8"; }

.fa-ravelry:before {
  content: "\f2d9"; }

.fa-mixer:before {
  content: "\e056"; }

.fa-square-lastfm:before {
  content: "\f203"; }

.fa-lastfm-square:before {
  content: "\f203"; }

.fa-vimeo:before {
  content: "\f40a"; }

.fa-mendeley:before {
  content: "\f7b3"; }

.fa-uniregistry:before {
  content: "\f404"; }

.fa-figma:before {
  content: "\f799"; }

.fa-creative-commons-remix:before {
  content: "\f4ee"; }

.fa-cc-amazon-pay:before {
  content: "\f42d"; }

.fa-dropbox:before {
  content: "\f16b"; }

.fa-instagram:before {
  content: "\f16d"; }

.fa-cmplid:before {
  content: "\e360"; }

.fa-upwork:before {
  content: "\e641"; }

.fa-facebook:before {
  content: "\f09a"; }

.fa-gripfire:before {
  content: "\f3ac"; }

.fa-jedi-order:before {
  content: "\f50e"; }

.fa-uikit:before {
  content: "\f403"; }

.fa-fort-awesome-alt:before {
  content: "\f3a3"; }

.fa-phabricator:before {
  content: "\f3db"; }

.fa-ussunnah:before {
  content: "\f407"; }

.fa-earlybirds:before {
  content: "\f39a"; }

.fa-trade-federation:before {
  content: "\f513"; }

.fa-autoprefixer:before {
  content: "\f41c"; }

.fa-whatsapp:before {
  content: "\f232"; }

.fa-slideshare:before {
  content: "\f1e7"; }

.fa-google-play:before {
  content: "\f3ab"; }

.fa-viadeo:before {
  content: "\f2a9"; }

.fa-line:before {
  content: "\f3c0"; }

.fa-google-drive:before {
  content: "\f3aa"; }

.fa-servicestack:before {
  content: "\f3ec"; }

.fa-simplybuilt:before {
  content: "\f215"; }

.fa-bitbucket:before {
  content: "\f171"; }

.fa-imdb:before {
  content: "\f2d8"; }

.fa-deezer:before {
  content: "\e077"; }

.fa-raspberry-pi:before {
  content: "\f7bb"; }

.fa-jira:before {
  content: "\f7b1"; }

.fa-docker:before {
  content: "\f395"; }

.fa-screenpal:before {
  content: "\e570"; }

.fa-bluetooth:before {
  content: "\f293"; }

.fa-gitter:before {
  content: "\f426"; }

.fa-d-and-d:before {
  content: "\f38d"; }

.fa-microblog:before {
  content: "\e01a"; }

.fa-cc-diners-club:before {
  content: "\f24c"; }

.fa-gg-circle:before {
  content: "\f261"; }

.fa-pied-piper-hat:before {
  content: "\f4e5"; }

.fa-kickstarter-k:before {
  content: "\f3bc"; }

.fa-yandex:before {
  content: "\f413"; }

.fa-readme:before {
  content: "\f4d5"; }

.fa-html5:before {
  content: "\f13b"; }

.fa-sellsy:before {
  content: "\f213"; }

.fa-sass:before {
  content: "\f41e"; }

.fa-wirsindhandwerk:before {
  content: "\e2d0"; }

.fa-wsh:before {
  content: "\e2d0"; }

.fa-buromobelexperte:before {
  content: "\f37f"; }

.fa-salesforce:before {
  content: "\f83b"; }

.fa-octopus-deploy:before {
  content: "\e082"; }

.fa-medapps:before {
  content: "\f3c6"; }

.fa-ns8:before {
  content: "\f3d5"; }

.fa-pinterest-p:before {
  content: "\f231"; }

.fa-apper:before {
  content: "\f371"; }

.fa-fort-awesome:before {
  content: "\f286"; }

.fa-waze:before {
  content: "\f83f"; }

.fa-cc-jcb:before {
  content: "\f24b"; }

.fa-snapchat:before {
  content: "\f2ab"; }

.fa-snapchat-ghost:before {
  content: "\f2ab"; }

.fa-fantasy-flight-games:before {
  content: "\f6dc"; }

.fa-rust:before {
  content: "\e07a"; }

.fa-wix:before {
  content: "\f5cf"; }

.fa-square-behance:before {
  content: "\f1b5"; }

.fa-behance-square:before {
  content: "\f1b5"; }

.fa-supple:before {
  content: "\f3f9"; }

.fa-webflow:before {
  content: "\e65c"; }

.fa-rebel:before {
  content: "\f1d0"; }

.fa-css3:before {
  content: "\f13c"; }

.fa-staylinked:before {
  content: "\f3f5"; }

.fa-kaggle:before {
  content: "\f5fa"; }

.fa-space-awesome:before {
  content: "\e5ac"; }

.fa-deviantart:before {
  content: "\f1bd"; }

.fa-cpanel:before {
  content: "\f388"; }

.fa-goodreads-g:before {
  content: "\f3a9"; }

.fa-square-git:before {
  content: "\f1d2"; }

.fa-git-square:before {
  content: "\f1d2"; }

.fa-square-tumblr:before {
  content: "\f174"; }

.fa-tumblr-square:before {
  content: "\f174"; }

.fa-trello:before {
  content: "\f181"; }

.fa-creative-commons-nc-jp:before {
  content: "\f4ea"; }

.fa-get-pocket:before {
  content: "\f265"; }

.fa-perbyte:before {
  content: "\e083"; }

.fa-grunt:before {
  content: "\f3ad"; }

.fa-weebly:before {
  content: "\f5cc"; }

.fa-connectdevelop:before {
  content: "\f20e"; }

.fa-leanpub:before {
  content: "\f212"; }

.fa-black-tie:before {
  content: "\f27e"; }

.fa-themeco:before {
  content: "\f5c6"; }

.fa-python:before {
  content: "\f3e2"; }

.fa-android:before {
  content: "\f17b"; }

.fa-bots:before {
  content: "\e340"; }

.fa-free-code-camp:before {
  content: "\f2c5"; }

.fa-hornbill:before {
  content: "\f592"; }

.fa-js:before {
  content: "\f3b8"; }

.fa-ideal:before {
  content: "\e013"; }

.fa-git:before {
  content: "\f1d3"; }

.fa-dev:before {
  content: "\f6cc"; }

.fa-sketch:before {
  content: "\f7c6"; }

.fa-yandex-international:before {
  content: "\f414"; }

.fa-cc-amex:before {
  content: "\f1f3"; }

.fa-uber:before {
  content: "\f402"; }

.fa-github:before {
  content: "\f09b"; }

.fa-php:before {
  content: "\f457"; }

.fa-alipay:before {
  content: "\f642"; }

.fa-youtube:before {
  content: "\f167"; }

.fa-skyatlas:before {
  content: "\f216"; }

.fa-firefox-browser:before {
  content: "\e007"; }

.fa-replyd:before {
  content: "\f3e6"; }

.fa-suse:before {
  content: "\f7d6"; }

.fa-jenkins:before {
  content: "\f3b6"; }

.fa-twitter:before {
  content: "\f099"; }

.fa-rockrms:before {
  content: "\f3e9"; }

.fa-pinterest:before {
  content: "\f0d2"; }

.fa-buffer:before {
  content: "\f837"; }

.fa-npm:before {
  content: "\f3d4"; }

.fa-yammer:before {
  content: "\f840"; }

.fa-btc:before {
  content: "\f15a"; }

.fa-dribbble:before {
  content: "\f17d"; }

.fa-stumbleupon-circle:before {
  content: "\f1a3"; }

.fa-internet-explorer:before {
  content: "\f26b"; }

.fa-stubber:before {
  content: "\e5c7"; }

.fa-telegram:before {
  content: "\f2c6"; }

.fa-telegram-plane:before {
  content: "\f2c6"; }

.fa-old-republic:before {
  content: "\f510"; }

.fa-odysee:before {
  content: "\e5c6"; }

.fa-square-whatsapp:before {
  content: "\f40c"; }

.fa-whatsapp-square:before {
  content: "\f40c"; }

.fa-node-js:before {
  content: "\f3d3"; }

.fa-edge-legacy:before {
  content: "\e078"; }

.fa-slack:before {
  content: "\f198"; }

.fa-slack-hash:before {
  content: "\f198"; }

.fa-medrt:before {
  content: "\f3c8"; }

.fa-usb:before {
  content: "\f287"; }

.fa-tumblr:before {
  content: "\f173"; }

.fa-vaadin:before {
  content: "\f408"; }

.fa-quora:before {
  content: "\f2c4"; }

.fa-square-x-twitter:before {
  content: "\e61a"; }

.fa-reacteurope:before {
  content: "\f75d"; }

.fa-medium:before {
  content: "\f23a"; }

.fa-medium-m:before {
  content: "\f23a"; }

.fa-amilia:before {
  content: "\f36d"; }

.fa-mixcloud:before {
  content: "\f289"; }

.fa-flipboard:before {
  content: "\f44d"; }

.fa-viacoin:before {
  content: "\f237"; }

.fa-critical-role:before {
  content: "\f6c9"; }

.fa-sitrox:before {
  content: "\e44a"; }

.fa-discourse:before {
  content: "\f393"; }

.fa-joomla:before {
  content: "\f1aa"; }

.fa-mastodon:before {
  content: "\f4f6"; }

.fa-airbnb:before {
  content: "\f834"; }

.fa-wolf-pack-battalion:before {
  content: "\f514"; }

.fa-buy-n-large:before {
  content: "\f8a6"; }

.fa-gulp:before {
  content: "\f3ae"; }

.fa-creative-commons-sampling-plus:before {
  content: "\f4f1"; }

.fa-strava:before {
  content: "\f428"; }

.fa-ember:before {
  content: "\f423"; }

.fa-canadian-maple-leaf:before {
  content: "\f785"; }

.fa-teamspeak:before {
  content: "\f4f9"; }

.fa-pushed:before {
  content: "\f3e1"; }

.fa-wordpress-simple:before {
  content: "\f411"; }

.fa-nutritionix:before {
  content: "\f3d6"; }

.fa-wodu:before {
  content: "\e088"; }

.fa-google-pay:before {
  content: "\e079"; }

.fa-intercom:before {
  content: "\f7af"; }

.fa-zhihu:before {
  content: "\f63f"; }

.fa-korvue:before {
  content: "\f42f"; }

.fa-pix:before {
  content: "\e43a"; }

.fa-steam-symbol:before {
  content: "\f3f6"; }

/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: 'Font Awesome 6 Free';
  --fa-font-regular: normal 400 1em/1 'Font Awesome 6 Free'; }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.ttf") format("truetype"); }

.far,
.fa-regular {
  font-weight: 400; }

/*!
 * Font Awesome Free 6.5.1 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2023 Fonticons, Inc.
 */
:root, :host {
  --fa-style-family-classic: 'Font Awesome 6 Free';
  --fa-font-solid: normal 900 1em/1 'Font Awesome 6 Free'; }

@font-face {
  font-family: 'Font Awesome 6 Free';
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.ttf") format("truetype"); }

.fas,
.fa-solid {
  font-weight: 900; }

@font-face {
  font-family: 'Font Awesome Brands';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-brands-400.ttf");
  font-weight: 400;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: 'Font Awesome Solid';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-solid-900.ttf");
  font-weight: 900;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: 'Font Awesome Regular';
  src: url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.woff2"), url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.woff"), url("/template/content/development/css/webfonts/fontawesome/fa-regular-400.ttf");
  font-weight: 400;
  font-size: normal;
  font-display: swap; }

@font-face {
  font-family: "fontello";
  src: url("/template/content/development/css/webfonts/fontello-express/fontello.eot") format("embedded-opentype"), url("/template/content/development/css/webfonts/fontello-express/fontello.svg") format("svg"), url("/template/content/development/css/webfonts/fontello-express/fontello.ttf") format("truetype"), url("/template/content/development/css/webfonts/fontello-express/fontello.woff") format("woff"), url("/template/content/development/css/webfonts/fontello-express/fontello.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap; }

/** 
    ----- Email Templates ----- 

    THINK!...... LIKE REALLY THINK OUTLOOK BEFORE MAKING CHANGES, things that these variables will effect: 
    - Fragments ( are colours generic ) 
    - Outlook 
    - Diplomat email parameters

**/
.mobile-break {
  width: 100%;
  height: 0;
  display: block;
  overflow: hidden; }
  @media print, screen and (min-width: 81.25em) {
    .mobile-break {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      height: auto;
      display: inline-block;
      margin: auto 8px; } }

.page-heading-module h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .page-heading-module h1.preset1 {
    position: relative;
    color: #01416f;
    padding-bottom: 15px;
    position: relative; }
    .page-heading-module h1.preset1:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        .page-heading-module h1.preset1:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }

body h1 {
  margin: 0 0 25px; }

h1 {
  color: #01416f;
  font-size: 2.1875rem;
  font-family: "Khula", "Khula Fallback", "Arial"; }
  h1.preset1 {
    margin: 0 0 25px;
    font-size: 1.5625rem;
    font-weight: 600;
    text-transform: none;
    border-radius: 0; }
  h1.preset2 {
    font-size: 1.9375rem;
    font-weight: 300;
    text-transform: none;
    border-radius: 0;
    position: relative;
    position: relative; }
    h1.preset2:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        h1.preset2:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }

h2 {
  font-size: 2rem;
  font-family: "Khula", "Khula Fallback", "Arial";
  line-height: 1.5; }
  h2.preset1 {
    padding: 15px 0;
    margin: 0 0 25px;
    color: #ffffff;
    background-color: #1281bf;
    text-align: center;
    text-transform: none;
    font-size: 1.25rem;
    font-weight: 700;
    word-spacing: normal;
    border-radius: 0;
    border-bottom: 0; }
  h2.preset2 {
    margin: 0;
    color: #01416f;
    text-transform: none;
    font-size: 1.25rem;
    font-weight: 700;
    word-spacing: normal; }
  h2.preset3 {
    margin: 0;
    font-size: 1.5625rem;
    font-weight: 600;
    text-transform: none;
    word-spacing: normal;
    border-radius: 0;
    position: relative;
    color: #01416f;
    padding-bottom: 15px;
    position: relative; }
    h2.preset3:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        h2.preset3:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }
  h2.preset4 {
    padding: 15px 0;
    margin: 0 0 15px;
    color: #ffffff;
    background-color: #1281bf;
    font-size: 1.125rem;
    font-weight: 600;
    text-align: center;
    text-transform: none;
    border-radius: 0; }
    @media print, screen and (min-width: 81.25em) {
      h2.preset4 {
        margin: 0 0 50px; } }

h3 {
  margin: 0;
  font-family: "Khula", "Khula Fallback", "Arial";
  font-size: 1.5625rem;
  font-weight: 600;
  color: #01416f; }
  h3.preset1 {
    width: 100%;
    margin: 0;
    padding: 15px 0;
    background-color: #1281bf;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 600;
    border-radius: 0;
    text-transform: none;
    color: #ffffff; }
  h3.preset2 {
    position: relative;
    margin: 0 0 25px;
    padding: 0 0 10px;
    font-size: 1.5625rem;
    text-transform: none;
    color: #01416f; }
    h3.preset2:after {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      left: 0;
      bottom: 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }

h4 {
  color: #000000;
  font-size: 1.375rem;
  font-weight: 400;
  font-family: "Khula", "Khula Fallback", "Arial"; }

h5 {
  color: #000000;
  font-size: 1.125rem;
  font-weight: 400;
  font-family: "Khula", "Khula Fallback", "Arial"; }

h6 {
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400;
  font-family: "Khula", "Khula Fallback", "Arial"; }

.callout.alert h5, .callout.alert p {
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700; }

.text-container {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin: 0; }
  @media screen and (min-width: 100em) {
    .text-container {
      margin: 0 auto;
      text-align: right; } }
  @media screen and (min-width: 100em) and (orientation: landscape) {
    .text-container {
      margin: 0; } }
  @media screen and (min-width: 100em) {
    .text-container.align-left {
      text-align: left; } }

a {
  text-decoration: none;
  color: var(--primary-colour-lightness-0, #01416f);
  font-weight: inherit;
  font-size: 0.9375rem;
  -webkit-transition: color 0.8s, opacity 0.8s;
  transition: color 0.8s, opacity 0.8s; }
  a.success {
    color: #12811f; }
    a.success:before, a.success:after {
      color: #12811f; }
  a.warning {
    color: #ff5e05; }
    a.warning:before, a.warning:after {
      color: #ff5e05; }
  a.alert {
    color: #b20c0c; }
    a.alert:before, a.alert:after {
      color: #b20c0c; }
  a.edit {
    font-size: 0.875rem;
    color: #01416f;
    cursor: pointer; }
    a.edit:after {
      content: "";
      margin-left: 10px;
      font-family: "Font Awesome Regular";
      font-size: 17px; }
  a.disabled {
    cursor: not-allowed;
    opacity: 0.4; }
  a.news-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 700;
    font-style: normal; }
    a.news-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.news-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.news-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.news-button:active {
      color: var(--primary-colour-lightness-0); }
      a.news-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.blog-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 700;
    font-style: normal; }
    a.blog-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.blog-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.blog-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.blog-button:active {
      color: var(--primary-colour-lightness-0); }
      a.blog-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.events-button {
    position: relative;
    float: right;
    color: var(--primary-colour-lightness-2);
    font-weight: 700;
    font-style: normal; }
    a.events-button:after {
      content: "";
      margin: 0 0 0 10px;
      color: var(--primary-colour-lightness-2);
      font-family: "Font Awesome Regular";
      font-size: 1.1875rem;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.events-button:hover {
      color: var(--secondary-colour-lightness-0); }
      a.events-button:hover:after {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    a.events-button:active {
      color: var(--primary-colour-lightness-0); }
      a.events-button:active:after {
        color: var(--primary-colour-lightness-0); }
  a.external-link-icon:after {
    content: "";
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 12px;
    font-family: "Font Awesome Solid"; }
  a:hover {
    text-decoration: none;
    color: var(--secondary-colour-lightness-0, #67156a);
    opacity: 0.9;
    -webkit-transition: color 0.6s, opacity 0.6s;
    transition: color 0.6s, opacity 0.6s; }
  a:active {
    color: var(--neutral-colour-lightness-0, #484848); }
  a.pdf-download {
    position: relative;
    font-weight: 400; }
    a.pdf-download:before {
      content: "";
      margin-right: 15px;
      font-size: 20px;
      font-weight: 400;
      font-family: "Font Awesome Regular";
      color: #ff0101;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    a.pdf-download:hover:before {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

ol li {
  text-align: left; }

@media print, screen and (min-width: 81.25em) {
  hr.mobile-seperator {
    display: none; } }

address {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-style: normal;
  color: #000000; }
  address span {
    width: 100%;
    display: block; }

span[class*="-icon"] .icon-text {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-left: 5px; }
  @media print, screen and (min-width: 81.25em) {
    span[class*="-icon"] .icon-text {
      display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

.prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.875rem; }
  .prices p {
    margin: 0;
    font-weight: 700; }
  .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.2; }
    .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .prices .price-container .label {
      color: #000000;
      font-weight: 700; }
      .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    .prices .price-container .value {
      color: #ff0101;
      font-weight: 700; }
      @media print, screen and (min-width: 81.25em) {
        .prices .price-container .value {
          text-align: right; } }
    .prices .price-container.saving .label, .prices .price-container.saving .value {
      color: #01416f;
      font-weight: 700;
      text-transform: uppercase; }
    .prices .price-container.rrp .label, .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 700;
      font-size: 0.875rem;
      text-transform: uppercase;
      text-decoration: line-through; }
    .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

.price-container .value {
  font-size: 0.875rem; }

.price-container .label, .price-container .value {
  font-family: "Khula", "Khula Fallback", "Arial"; }

.price {
  margin: 0; }
  .price .currency {
    font-size: 1.625rem; }

.vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #484848;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: left;
  white-space: nowrap; }

hr {
  margin: 25px 0; }

/**
 * Foundation for Sites
 * Version 6.7.5
 * https://get.foundation
 * Licensed under MIT Open Source
 */
.table-footer-spacer.preset-1 {
  margin-bottom: 15px; }
  @media screen and (min-width: 81.25em) {
    .table-footer-spacer.preset-1 {
      margin-bottom: 40px; } }

.table-footer-spacer.preset-2 {
  margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    .table-footer-spacer.preset-2 {
      margin-bottom: 20px; } }

.table-footer-spacer hr {
  border-top: 1px solid #aeaeae; }

table {
  --border-colour: var(--neutral-colour-lightness-7);
  --border-hover-colour: #aeaeae;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  border-radius: 0 !important;
  border-color: var(--border-colour); }
  table.striped tr {
    padding: 25px; }
  @media screen and (min-width: 81.25em) {
    table.show-border-bottom tr {
      padding-bottom: 20px; }
      table.show-border-bottom tr:not(:last-child) {
        border-bottom: 1px solid var(--border-colour);
        -webkit-transition: border-color 0.8s;
        transition: border-color 0.8s; }
        table.show-border-bottom tr:not(:last-child):hover {
          border-color: var(--border-hover-colour);
          -webkit-transition: border-color 0.6s;
          transition: border-color 0.6s; } }
  table.show-borders {
    border: 1px solid var(--border-colour); }
    table.show-borders th, table.show-borders td {
      border: 1px solid var(--border-colour); }
  @media screen and (min-width: 81.25em) {
    table.show-internal-borders tr:first-child th, table.show-internal-borders tr:first-child td {
      border-top: 0; }
    table.show-internal-borders tr:last-child th, table.show-internal-borders tr:last-child td {
      border-bottom: 0; }
    table.show-internal-borders tr th, table.show-internal-borders tr td {
      border: 1px solid var(--border-colour); }
      table.show-internal-borders tr th:first-child, table.show-internal-borders tr td:first-child {
        border-left: 0; }
      table.show-internal-borders tr th:last-child, table.show-internal-borders tr td:last-child {
        border-right: 0; } }
  table.highlight-first-column tr td:first-child {
    color: var(--primary-colour-lightness-0);
    font-size: 0.9375rem;
    font-weight: 700;
    font-family: "Khula", "Khula Fallback", "Arial"; }
  table.preset-1 {
    margin: 10px 0; }
    @media screen and (min-width: 81.25em) {
      table.preset-1 {
        margin: 15px 0; } }
    table.preset-1 td, table.preset-1 th {
      padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      table.preset-1.row-spacing tbody:before {
        margin: -10px; } }
    table.preset-1 tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        table.preset-1 tbody:before {
          margin: 10px; } }
    table.preset-1 tbody tr {
      padding: 5px; }
      @media screen and (min-width: 81.25em) {
        table.preset-1 tbody tr {
          padding: 0; } }
    table.preset-1 tbody td {
      position: relative;
      padding: 5px 0 0;
      text-align: left;
      font-size: 0.9375rem; }
      @media screen and (min-width: 81.25em) {
        table.preset-1 tbody td {
          padding: 7px 5px;
          text-align: center; } }
      table.preset-1 tbody td.image-col {
        --media-aspect-ratio: 1/1;
        text-align: left;
        padding: 0; }
        table.preset-1 tbody td.image-col .image {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          border: 1px solid #f3f3f3; }
    table.preset-1 tbody a:not([class*="-button"]) {
      color: #484848;
      font-size: 0.9375rem; }
      table.preset-1 tbody a:not([class*="-button"]):hover {
        color: #67156a;
        text-decoration: underline; }
        table.preset-1 tbody a:not([class*="-button"]):hover span {
          text-decoration: underline; }
      table.preset-1 tbody a:not([class*="-button"]):active {
        color: #01416f; }
    table.preset-1 tbody a:not(.pdf-download) {
      font-weight: 700; }
  @media screen and (min-width: 81.25em) {
    table.preset-2 {
      margin: 45px 0 40px; } }
  table.preset-2 tbody:before {
    content: '';
    display: block;
    margin: 10px; }
  table.preset-3 td, table.preset-3 th {
    padding: 0 0 10px; }
    @media screen and (min-width: 81.25em) {
      table.preset-3 td, table.preset-3 th {
        padding: 1px 5px; } }
  @media screen and (min-width: 81.25em) {
    table.preset-3.row-additional-padding td {
      padding-top: 20px;
      padding-bottom: 20px; } }
  @media screen and (min-width: 81.25em) {
    table.preset-3 tbody:before {
      content: '';
      display: block;
      margin: 10px; } }
  table.preset-3 tbody tr {
    padding: 10px 20px; }
    @media screen and (min-width: 81.25em) {
      table.preset-3 tbody tr {
        padding: 0; } }
  table.preset-3 tbody td, table.preset-3 tbody th {
    font-size: 0.875rem; }
  table.preset-3 tbody td {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      table.preset-3 tbody td {
        text-align: center; } }
  table.preset-3 tbody a {
    font-weight: 700;
    font-size: 0.9375rem;
    color: #484848; }
    table.preset-3 tbody a:hover {
      color: #67156a;
      text-decoration: underline; }
    table.preset-3 tbody a:active {
      color: #01416f; }
  table.row-spacing {
    border-collapse: separate !important;
    border-spacing: 0 10px; }
    table.row-spacing:has(.row-input-toggle) {
      padding-right: 2px;
      padding-left: 2px; }
  table tbody span.col-label {
    width: 100%;
    display: inline-block;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      table tbody span.col-label {
        width: auto; } }
  table td {
    vertical-align: baseline; }
  table:has(td[class*="image-col"]) td {
    vertical-align: middle; }
  @media screen and (min-width: 81.25em) {
    table td.no-pdf-download span.text-container {
      padding-left: 35px; } }
  table button {
    display: inline-block; }
  table tr.success .notification-indicator-container:before {
    background: #12811f; }
  table tr.success .notification-content-container {
    border-color: #12811f; }
    table tr.success .notification-content-container .notification-content {
      color: #12811f; }
  table tr.warning .notification-indicator-container:before {
    background: #ff5e05; }
  table tr.warning .notification-content-container {
    border-color: #ff5e05; }
    table tr.warning .notification-content-container .notification-content {
      color: #ff5e05; }
  table tr.alert .notification-indicator-container:before {
    background: #b20c0c; }
  table tr.alert .notification-content-container {
    border-color: #b20c0c; }
    table tr.alert .notification-content-container .notification-content {
      color: #b20c0c; }
  table tr.error-row, table tr.error {
    background-color: #fde1e1 !important;
    color: #b20c0c; }
  @media screen and (min-width: 81.25em) {
    table tr + tr.error-row td, table tr + tr.error td {
      border-top: 2px solid #ffffff; } }
  table tr.card-expired, table tr.expired {
    background-color: var(--neutral-colour-lightness-9);
    cursor: not-allowed;
    -webkit-transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    table tr.card-expired:hover, table tr.expired:hover {
      background-color: transparent;
      -webkit-box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
              box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
      -webkit-transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    table tr.card-expired td, table tr.expired td {
      opacity: 0.5;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
    table tr.card-expired .remove-col, table tr.card-expired .expire-date-col, table tr.expired .remove-col, table tr.expired .expire-date-col {
      opacity: 1; }
  table tr.row-input-toggle {
    -webkit-box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
            box-shadow: 0px 0px 0px 2px var(--neutral-colour-lightness-9);
    cursor: pointer;
    -webkit-transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, -webkit-box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s;
    transition: background-color, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    table tr.row-input-toggle:has(input[type='checkbox']:checked, input[type="radio"]:checked) {
      -webkit-box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-0);
              box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-0);
      background-color: var(--secondary-colour-lightness-10);
      -webkit-transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, -webkit-box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s;
      transition: background-color, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    table tr.row-input-toggle:hover {
      -webkit-box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-7);
              box-shadow: 0px 0px 0px 2px var(--secondary-colour-lightness-7); }
  table tr:hover td {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  table .success-icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    color: #12811f; }
  table .failed-icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    color: #b20c0c; }
  table .failed-reason {
    width: 100%;
    display: block;
    margin-left: 30px;
    font-size: 0.8125rem;
    color: #484848; }
    @media screen and (min-width: 81.25em) {
      table .failed-reason {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
  @media screen and (min-width: 81.25em) {
    table .failed-icon, table .success-icon {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  table .failed-icon:before, table .success-icon:before {
    margin-right: 10px;
    margin-left: 0;
    font-size: 20px; }
  @media screen and (min-width: 81.25em) {
    table .order-total-col, table th.csv-import-col {
      width: 200px; } }
  @media print, screen and (max-width: 81.24875em) {
    table .address-block {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }
  table .remove-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #959595;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  table .remove-button:hover:before {
    color: #67156a;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  table .remove-button:active:before {
    color: #01416f; }
  table .card-type:before {
    content: "";
    margin: 0 10px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 1.25rem;
    color: #959595;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  table .expired-text {
    display: inline-block;
    margin: 0 0 0 5px;
    color: #ff0101;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      table .expired-text {
        position: absolute; } }
  @media screen and (min-width: 81.25em) {
    table .tooltip-container.state-indicator .tooltip-trigger:before {
      font-size: 9px; } }

thead.preset-1 {
  background-color: transparent; }
  thead.preset-1 th {
    padding: 0 5px 10px;
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--primary-colour-lightness-0);
    border-bottom: 1px solid #aeaeae;
    text-align: center; }
    thead.preset-1 th button {
      font-size: 0.9375rem;
      font-weight: 700;
      color: var(--primary-colour-lightness-0); }
  thead.preset-1 th[class$=description-col] {
    text-align: left; }
  thead.preset-1 + tbody .col-label {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--primary-colour-lightness-0); }

thead.preset-2 {
  background-color: transparent; }
  thead.preset-2 th {
    padding: 0 0 20px;
    font-size: 0.875rem;
    font-weight: 600;
    color: #000000;
    border-bottom: 1px solid #aeaeae; }

thead th {
  vertical-align: baseline;
  font-family: "Khula", "Khula Fallback", "Arial"; }

.comparison-table-container .comparison-table-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 81.25em) {
    .comparison-table-container .comparison-table-buttons {
      display: none; } }
  .comparison-table-container .comparison-table-buttons ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: hidden;
    overflow-x: auto; }
    .comparison-table-container .comparison-table-buttons ul li {
      height: 100%; }
      .comparison-table-container .comparison-table-buttons ul li:not(:last-child) {
        margin-right: 10px; }
  .comparison-table-container .comparison-table-buttons .comparison-table-button {
    height: 100%;
    padding: 20px;
    border: 1px solid #959595;
    line-height: 20px;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .comparison-table-container .comparison-table-buttons .comparison-table-button.active {
      background-color: #01416f;
      color: #ffffff;
      border-color: #01416f;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }

.comparison-table-container {
  max-width: 100%;
  width: 100%; }

[comparison-table] .comparison-values td + td, [comparison-table] th + th {
  display: none;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] .comparison-values td + td, [comparison-table] th + th {
      display: table-cell; } }

[comparison-table] thead {
  display: none; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] thead {
      display: table-header-group;
      background-color: transparent; } }
  [comparison-table] thead tr {
    background-color: transparent; }
  [comparison-table] thead th {
    padding: 0 0 15px;
    border-bottom: 1px solid #dadada; }
    [comparison-table] thead th:first-child {
      width: 15%; }

[comparison-table] tbody.comparison-values {
  padding: 10px;
  background-color: #ffffff;
  border: 1px solid #eeeeee; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] tbody.comparison-values {
      border: 0; } }
  @media print, screen and (max-width: 81.24875em) {
    [comparison-table] tbody.comparison-values tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-line-pack: baseline;
          align-content: baseline; } }
  [comparison-table] tbody.comparison-values td {
    margin: 5px 0;
    padding: 10px;
    font-size: 1.0625rem;
    border-bottom: 1px solid #dadada; }
    @media screen and (min-width: 81.25em) {
      [comparison-table] tbody.comparison-values td {
        margin: 0;
        border: 0; } }
    [comparison-table] tbody.comparison-values td:nth-child(1) {
      width: 58%;
      font-family: "Khula", "Khula Fallback", "Arial"; }
      @media print, screen and (max-width: 81.24875em) {
        [comparison-table] tbody.comparison-values td:nth-child(1) {
          text-align: left; } }
      [comparison-table] tbody.comparison-values td:nth-child(1):first-child {
        margin-top: 0; }
      @media screen and (min-width: 81.25em) {
        [comparison-table] tbody.comparison-values td:nth-child(1) {
          width: 15%;
          border-right: 1px solid #dadada; } }

@media print, screen and (max-width: 81.24875em) {
  [comparison-table].align-value-right tbody td.active {
    text-align: right; } }

[comparison-table].align-value-right .comparison-summary tr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline; }

[comparison-table].align-value-right .comparison-summary .comparison-currently-selected {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  text-align: right; }

[comparison-table] tbody.comparison-summary {
  display: block;
  margin: 15px 0 10px;
  color: #484848; }
  @media screen and (min-width: 81.25em) {
    [comparison-table] tbody.comparison-summary {
      display: none; } }
  [comparison-table] tbody.comparison-summary .comparison-column-heading {
    width: 58%; }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table tbody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 0; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table.force-mobile-row-layout td {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 5px 0; } }

table.stack.responsive-table.force-mobile-row-layout td .col-label {
  width: 50%; }
  @media print, screen and (min-width: 40em) {
    table.stack.responsive-table.force-mobile-row-layout td .col-label {
      width: 250px; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td.column-empty {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td .col-label {
    width: 100%; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table td[class*="description-col"] {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start; } }

@media print, screen and (max-width: 39.99875em) {
  table.stack.responsive-table:has(td[class*="image-col"]) td:not([class*="image-col"]):has(.col-label) {
    grid-template-columns: 50% 50%; } }

@media print, screen and (min-width: 40em) {
  table.stack.responsive-table:has(td[class*="image-col"]) td:not([class*="image-col"]):has(.col-label) {
    grid-template-columns: 30% 70%; } }

@media print, screen and (max-width: 81.24875em) {
  table.stack.responsive-table:has(td[class*="image-col"]) tbody tr {
    display: grid;
    grid-template-columns: 25% 1fr;
    gap: 0 10px; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td {
    padding: 0; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]) {
    grid-column: 2;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]):has(.col-label) {
      display: grid; }
    table.stack.responsive-table:has(td[class*="image-col"]) tbody td:not([class*="image-col"]) .control {
      margin: auto 0; }
  table.stack.responsive-table:has(td[class*="image-col"]) tbody td[class*="description-col"] {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; } }

@media print, screen and (max-width: 81.24875em) {
  [responsive-reveal] {
    display: none; } }

.responsive-reveal-table {
  display: block; }
  @media screen and (min-width: 81.25em) {
    .responsive-reveal-table {
      display: none; } }
  @media print, screen and (max-width: 81.24875em) {
    .responsive-reveal-table + table {
      display: none; } }
  .responsive-reveal-table .responsive-table-item {
    background-color: #f3f3f3; }
    .responsive-reveal-table .responsive-table-item:not(:last-child) {
      margin-bottom: 5px; }
    .responsive-reveal-table .responsive-table-item.success {
      border-left: 2px solid #12811f; }
      .responsive-reveal-table .responsive-table-item.success .table-notification-text {
        color: #12811f; }
    .responsive-reveal-table .responsive-table-item.warning {
      border-left: 2px solid #ff5e05; }
      .responsive-reveal-table .responsive-table-item.warning .table-notification-text {
        color: #ff5e05; }
    .responsive-reveal-table .responsive-table-item.alert {
      border-left: 2px solid #b20c0c; }
      .responsive-reveal-table .responsive-table-item.alert .table-notification-text {
        color: #b20c0c; }
    .responsive-reveal-table .responsive-table-item.active .header-container .header-item a {
      color: #01416f; }
    .responsive-reveal-table .responsive-table-item.active .header-container:after {
      content: ""; }
    .responsive-reveal-table .responsive-table-item.active .content-container {
      max-height: 500px;
      margin-top: 10px;
      padding-bottom: 18px;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
    .responsive-reveal-table .responsive-table-item.active .ellipsis-text {
      white-space: normal;
      -webkit-mask-image: none;
              mask-image: none; }
  .responsive-reveal-table .header-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 18px 20px; }
    .responsive-reveal-table .header-container:has(.unread-col) {
      padding-left: 0; }
    .responsive-reveal-table .header-container:after {
      content: "";
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      margin-left: 10px;
      font-family: "Font Awesome Solid";
      font-size: 18px;
      color: #01416f; }
  .responsive-reveal-table .content-container {
    max-height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
    padding: 0 18px;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
  .responsive-reveal-table .content-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    font-size: 0.875rem; }
  .responsive-reveal-table .col-label {
    max-width: 120px;
    width: 100%;
    display: block;
    font-weight: 700;
    color: #484848; }
  .responsive-reveal-table .tooltip-container.state-indicator .tooltip-trigger:before {
    font-size: 12px; }

.table-sort-col.ascend button:after {
  content: ""; }

.table-sort-col.descend button:after {
  content: ""; }

.table-sort-col button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer; }
  .table-sort-col button:after {
    content: '';
    display: inline-block;
    margin-left: 5px;
    font-family: "Font Awesome Solid";
    font-size: 10px;
    color: #959595; }
  .table-sort-col button:hover {
    color: #67156a;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .table-sort-col button:hover:after {
      color: #67156a;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .table-sort-col button:active {
    color: #2f6589; }
    .table-sort-col button:active:after {
      color: #2f6589; }

td.notification-col:hover .table-row-notification .notification-indicator-container {
  width: 6px;
  -webkit-transition: width 0.6s;
  transition: width 0.6s; }

td.notification-col:hover .table-row-notification .notification-content-container {
  max-width: 500px;
  left: 6px;
  -webkit-box-shadow: 4px 0px 8px 3px rgba(12, 12, 12, 0.18);
          box-shadow: 4px 0px 8px 3px rgba(12, 12, 12, 0.18);
  -webkit-transition: max-width 0.6s, border-width 0.6s, left 0.6s;
  transition: max-width 0.6s, border-width 0.6s, left 0.6s; }

.unread-col {
  width: 48px; }
  @media print, screen and (max-width: 81.24875em) {
    .unread-col {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (min-width: 81.25em) {
    .unread-col {
      width: 20px; } }

.table-row-notification {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  cursor: pointer; }
  .table-row-notification .notification-indicator-container {
    width: 2px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-transition: width 0.8s;
    transition: width 0.8s; }
    .table-row-notification .notification-indicator-container:before {
      content: '';
      width: 100%;
      height: 100%;
      display: block;
      background-color: #484848; }
  .table-row-notification .notification-content-container {
    max-width: 0;
    position: absolute;
    top: 0;
    left: 2px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #ffffff;
    overflow: hidden;
    white-space: nowrap;
    border-width: 0;
    border-style: solid;
    border-color: #484848;
    z-index: 5000;
    cursor: text;
    -webkit-transition: max-width 0.8s, left 0.8s ease-in-out;
    transition: max-width 0.8s, left 0.8s ease-in-out; }
    .table-row-notification .notification-content-container .notification-content {
      width: 100%;
      color: #484848;
      font-size: 0.875rem;
      font-style: italic;
      font-weight: 600; }

.table-notification-text {
  font-size: 0.875rem;
  font-style: italic;
  font-weight: 600;
  color: #484848; }
  .table-notification-text p {
    margin: 5px 0;
    padding: 0; }

@media screen and (min-width: 81.25em) {
  table.reusable-card-table.payment .remove-col {
    width: 10%; } }

@media screen and (min-width: 81.25em) {
  table.reusable-card-table .expire-date-col {
    width: 25%; } }

table.reusable-card-table th.select-col, table.reusable-card-table td.select-col {
  display: none; }

table.invalid-basket-table {
  width: calc(100% - 0);
  margin-right: auto;
  margin-left: auto; }
  @media screen and (min-width: 81.25em) {
    table.invalid-basket-table {
      width: calc(100% - 60px); } }
  table.invalid-basket-table .reference-col, table.invalid-basket-table .description-col {
    text-align: left; }

@media screen and (min-width: 81.25em) {
  table.audit-trail-entries {
    width: 850px; } }

table.audit-trail-entries th {
  text-align: left; }

table.audit-trail-entries tbody td {
  text-align: left; }

@media screen and (min-width: 81.25em) {
  table.audit-trail-entries .updated-col, table.audit-trail-entries .updated-by-col {
    width: 19%; } }

@media screen and (min-width: 81.25em) {
  table.audit-trail-entries .access-level-col {
    width: 15%; } }

table.audit-trail-entry {
  margin: 0; }
  table.audit-trail-entry th {
    text-align: left; }
  table.audit-trail-entry th, table.audit-trail-entry td {
    padding: 2.5px 5px; }
    @media screen and (min-width: 81.25em) {
      table.audit-trail-entry th, table.audit-trail-entry td {
        padding: 10px; } }
  table.audit-trail-entry tbody td {
    text-align: left;
    font-size: 0.9375rem; }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .revision-col {
      width: 5%; } }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .updated-by-col {
      width: 17%; } }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .updated-col {
      width: 11%; } }
  @media screen and (min-width: 81.25em) {
    table.audit-trail-entry .published-col, table.audit-trail-entry .access-level-col {
      width: 9%; } }

table.documentation-structured-data {
  --nested-table-row-border-colour: var(--neutral-colour-lightness-8);
  --nested-table-row-border-width: 2px; }
  table.documentation-structured-data .nested-table-row-parent {
    border-width: var(--nested-table-row-border-width) var(--nested-table-row-border-width) 0 var(--nested-table-row-border-width);
    border-style: solid;
    border-color: var(--nested-table-row-border-colour); }
    table.documentation-structured-data .nested-table-row-parent + .nested-table-row {
      border-width: 0 var(--nested-table-row-border-width) var(--nested-table-row-border-width) var(--nested-table-row-border-width);
      border-style: solid;
      border-color: var(--nested-table-row-border-colour); }
      table.documentation-structured-data .nested-table-row-parent + .nested-table-row > td {
        padding: 25px; }
  table.documentation-structured-data thead th {
    text-align: left; }
  table.documentation-structured-data tbody td {
    text-align: left; }

table.folder-filters-table th {
  text-align: left; }

table.folder-filters-table tbody td {
  text-align: left; }

.table-container.table-scroll-enabled {
  position: relative;
  overflow-y: auto;
  border-bottom: 1px solid #aeaeae; }
  .table-container.table-scroll-enabled table thead th {
    border: 0; }

.table-container.scroll-middle thead:after, .table-container.scroll-at-bottom thead:after {
  -webkit-box-shadow: 0 5px 9px -1px rgba(0, 0, 0, 0.3);
          box-shadow: 0 5px 9px -1px rgba(0, 0, 0, 0.3); }

.table-container.scroll-middle, .table-container.scroll-at-top {
  -webkit-box-shadow: inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3);
          box-shadow: inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3); }

.table-container.scroll-middle {
  -webkit-box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.3), inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3);
          box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.3), inset 0 -10px 10px -10px rgba(0, 0, 0, 0.3); }

.table-container.audit-trail-entries {
  max-height: 400px; }
  @media screen and (min-width: 81.25em) {
    .table-container.audit-trail-entries {
      max-height: 600px; } }

.table-container table {
  margin: 0; }

.table-container thead {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  background: var(--white-colour);
  z-index: 1; }
  .table-container thead:after {
    content: '';
    height: 4px;
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    border-bottom: 1px solid #aeaeae; }

/*
---- Inputs ---- 
- Styling for form inputs ( select, input, textarea )
- Quantity selectors
- Forms
  - Fieldsets
  - Fields
- Validation
  - Form errors from the server
  - Advanced validation ( setting password )
- Primary, Secondary, Etc buttons used throughout the site.
- UI block pane.
*/
form {
  background-color: transparent;
  border-radius: 0; }

form.is-invalid button[type=submit], form.is-invalid .form-submit-button {
  cursor: not-allowed;
  opacity: 0.4; }
  form.is-invalid button[type=submit]:hover, form.is-invalid .form-submit-button:hover {
    background-color: #b20c0c !important; }

form.is-invalid input[type=submit] {
  cursor: not-allowed;
  opacity: 0.4; }

button:disabled, button.disabled {
  opacity: 0.4;
  cursor: not-allowed;
  text-decoration: none; }

input[type=submit]:hover {
  cursor: pointer; }

select:focus::-ms-value {
  background-color: transparent;
  color: #000000; }

@media screen and (min-width: 81.25em) {
  .column-content-container .control.text input {
    max-width: 360px; } }

@media screen and (min-width: 81.25em) {
  .column-content-container .control.text.password-reveal-container input {
    max-width: calc(360px - 45px); } }

.field {
  max-width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 5px 0; }
  @media print, screen and (min-width: 40em) {
    .field {
      max-width: 640px;
      margin: auto; } }
  .field.align-right {
    margin-left: 0; }
  .field.align-left {
    margin-right: 0; }
  .field label {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 10px 0;
    font-size: 0.9375rem; }
    @media screen and (min-width: 81.25em) {
      .field label {
        margin: 10px 0; } }
    .field label.password-reveal-container input {
      max-width: calc(100% - 45px);
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      border-width: 1px 0 1px 1px;
      border-radius: 0 0 0 0; }
      @media screen and (min-width: 81.25em) {
        .field label.password-reveal-container input {
          max-width: calc(100% - 45px -  160px);
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1; } }
    .field label.password-reveal-container .label {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
    .field label.password-reveal-container .form-error {
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4; }
    .field label.password-reveal-container .password-reveal {
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3; }
    .field label .label + textarea {
      margin: 0; }
    .field label .label .advisory-text {
      width: 100%;
      display: block;
      color: #959595;
      font-size: 0.75rem;
      font-style: italic; }
    @media screen and (min-width: 81.25em) {
      .field label.text, .field label.email, .field label.tel, .field label.number, .field label.textarea {
        padding: 0 0 0 0; } }
  @media screen and (min-width: 81.25em) {
    .field:has(button[type="submit"].primary-button) {
      margin-top: 10px;
      margin-bottom: 10px; } }
  .field + .cms-content-container {
    margin-top: 20px;
    margin-bottom: 20px; }
  .field input:not([type=checkbox]) {
    padding: 5px 0 5px 25px;
    margin: 0; }
  @media screen and (min-width: 81.25em) {
    .field .label + textarea {
      max-width: 480px;
      width: auto;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .field textarea {
    margin: auto; }
    .field textarea:hover {
      border-color: #6d6d6d; }
  @media screen and (min-width: 81.25em) {
    .field .error-block {
      max-width: 581.81818px; } }
  .field:not(.medium):not(.large):not(.large-1) {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center; }
  .field.small {
    width: 100%;
    margin-bottom: 30px; }
    .field.small label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .field.small .label {
        width: 300px; } }
  .field.medium {
    width: 100%; }
    .field.medium label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    @media print, screen and (min-width: 40em) {
      .field.medium .label {
        width: 350px; } }
  .field.large {
    width: 100%; }
    .field.large label {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
    @media print, screen and (min-width: 40em) {
      .field.large .label {
        width: 440px; } }
  .field.full-width .label {
    width: 100%; }
  .field.list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .field.list label {
      margin-bottom: 15px; }
    @media print, screen and (min-width: 40em) {
      .field.list .label {
        width: 340px; } }
  .field .label {
    width: 100%;
    padding-right: 5px;
    margin-bottom: 5px; }
    @media screen and (min-width: 81.25em) {
      .field .label {
        width: 160px;
        margin-bottom: 0; } }
    .field .label a {
      display: block;
      font-style: italic; }
  .field .control.select {
    margin: 0 auto 10px 0; }
  .field .custom-input-container {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
    .field .custom-input-container.active {
      max-height: 200px;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
  .field[class^="field small-"], .field[class^="field medium-"], .field[class^="field large-"] {
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .field[class^="field small-"] label, .field[class^="field medium-"] label, .field[class^="field large-"] label {
        width: auto; } }
    @media print, screen and (max-width: 81.24875em) {
      .field[class^="field small-"] .control.checkbox span.checkbox, .field[class^="field medium-"] .control.checkbox span.checkbox, .field[class^="field large-"] .control.checkbox span.checkbox {
        margin-right: 40px;
        margin-left: auto; } }
    .field[class^="field small-"] .custom-input-container, .field[class^="field medium-"] .custom-input-container, .field[class^="field large-"] .custom-input-container {
      padding: 0 10px; }
    .field[class^="field small-"] .additional-input-info, .field[class^="field medium-"] .additional-input-info, .field[class^="field large-"] .additional-input-info {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; }
  .field.small-1, .field.medium-1, .field.large-1 {
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      .field.small-1, .field.medium-1, .field.large-1 {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .field.small-1 .label, .field.medium-1 .label, .field.large-1 .label {
      width: auto;
      margin-right: 20px; }
      @media screen and (min-width: 81.25em) {
        .field.small-1 .label, .field.medium-1 .label, .field.large-1 .label {
          width: 360px; } }
  .field.small-2 {
    width: 50%; }
  .field.small-3 {
    width: 33%; }
  @media print, screen and (min-width: 40em) {
    .field.medium-2 {
      width: 50%; } }
  @media print, screen and (min-width: 40em) {
    .field.medium-3 {
      width: 33%; } }
  @media screen and (min-width: 81.25em) {
    .field.large-2 {
      width: 50%; } }
  @media screen and (min-width: 81.25em) {
    .field.large-3 {
      width: 33%; } }

.additional-input-info {
  margin-bottom: 15px; }
  .additional-input-info a[href^="tel:"], .additional-input-info a[href^="mailto:"] {
    font-weight: 700; }
    .additional-input-info a[href^="tel:"]:hover, .additional-input-info a[href^="mailto:"]:hover {
      text-decoration: none; }
    .additional-input-info a[href^="tel:"].show-contact-icon:before, .additional-input-info a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .additional-input-info a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .additional-input-info a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .additional-input-info p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .additional-input-info p a:has([style*="float"]) {
    display: inline; }
  .additional-input-info p {
    margin: var(--indent-margin, 0);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    color: #000000; }
    .additional-input-info p img[style*="float:left"], .additional-input-info p img[style*="float: left"], .additional-input-info p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .additional-input-info p img[style*="float:right"], .additional-input-info p img[style*="float: right"], .additional-input-info p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .additional-input-info p img {
      margin: .2em 0; }
    .additional-input-info p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .additional-input-info ul, .additional-input-info ol {
    text-align: left; }
  .additional-input-info ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .additional-input-info ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .additional-input-info ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .additional-input-info ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #01416f;
        border-radius: 5px; }
  .additional-input-info ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .additional-input-info ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .additional-input-info ol ol ol {
        list-style-type: lower-roman; }
        .additional-input-info ol ol ol ol {
          list-style-type: lower-alpha; }
          .additional-input-info ol ol ol ol ol {
            list-style-type: lower-roman; }
  .additional-input-info li {
    color: #000000;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6; }
  .additional-input-info ul + h1, .additional-input-info ol + h1 {
    margin-top: 20px; }
  .additional-input-info ul + h2, .additional-input-info ol + h2 {
    margin-top: 20px; }
  .additional-input-info ul + h3, .additional-input-info ol + h3 {
    margin-top: 10px; }
  .additional-input-info ul + h4, .additional-input-info ol + h4 {
    margin-top: 10px; }
  .additional-input-info ul + h5, .additional-input-info ol + h5 {
    margin-top: 10px; }
  .additional-input-info ul + h6, .additional-input-info ol + h6 {
    margin-top: 15px; }
  .additional-input-info dl {
    text-align: left; }
  .additional-input-info p, .additional-input-info a {
    font-size: 0.9375rem; }
  .additional-input-info a:not([class*="-button"]) {
    font-size: 0.9375rem; }
  .additional-input-info img {
    margin: 10px 15px; }
  .additional-input-info.large {
    width: 100%; }

.lookup-content {
  width: 100%;
  position: relative; }

input[type=password] {
  color: #959595;
  font-size: 22px;
  letter-spacing: -1px;
  font-family: caption;
  -webkit-transition: font-size 0.8s;
  transition: font-size 0.8s;
  overflow: hidden;
  border-radius: 0 0 0 0; }
  @media screen and (min-width: 81.25em) {
    input[type=password] {
      font-size: 44px; } }
  input[type=password]:hover {
    -webkit-box-shadow: -14px -3px 28px 4px rgba(12, 12, 13, 0.1);
            box-shadow: -14px -3px 28px 4px rgba(12, 12, 13, 0.1);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    input[type=password]:hover + button {
      -webkit-box-shadow: 14px -3px 28px 4px rgba(12, 12, 13, 0.1);
              box-shadow: 14px -3px 28px 4px rgba(12, 12, 13, 0.1);
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  input[type=password]:focus + button {
    border-color: #6d6d6d; }
  input[type=password] + button {
    border-radius: 0 0 0 0; }

.password-reveal {
  width: 45px;
  height: 45px;
  position: relative;
  display: inline-block;
  border-color: #c8c8c8;
  border-style: solid;
  border-width: 1px 1px 1px 0;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .password-reveal:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-style: 12px;
    color: rgba(72, 72, 72, 0.7);
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .password-reveal:hover:before {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  .password-reveal.active:before {
    color: #67156a;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .password-reveal.input-active {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

input::-ms-clear, input::-ms-reveal {
  display: none; }

.action-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 15px 35px);
  color: #01416f;
  background-color: #bbe8f7;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .action-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .action-button:hover, .action-button.hover {
      color: #ffffff;
      background-color: #01416f;
      border-color: #1281bf;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .action-button:hover .graduated-colour-edge .step, .action-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .action-button:active, .action-button.active {
    color: #ffffff;
    background-color: #67156a;
    border-color: #67156a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .action-button:disabled, .action-button.disabled, .action-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .action-button:disabled:hover, .action-button.disabled:hover {
    border-color: #6d6d6d; }
  .action-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .action-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  .action-button.success, .action-button.email {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 15px 35px);
    color: #12811f;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #12811f;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .action-button.success, .action-button.email {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.success:hover, .action-button.success.hover, .action-button.email:hover, .action-button.email.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.success:hover .graduated-colour-edge .step, .action-button.success.hover .graduated-colour-edge .step, .action-button.email:hover .graduated-colour-edge .step, .action-button.email.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.success:active, .action-button.success.active, .action-button.email:active, .action-button.email.active {
      color: #ffffff;
      background-color: #bbe8f7;
      border-color: #bbe8f7;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.success:disabled, .action-button.success.disabled, .action-button.success[disabled], .action-button.email:disabled, .action-button.email.disabled, .action-button.email[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .action-button.success:disabled:hover, .action-button.success.disabled:hover, .action-button.email:disabled:hover, .action-button.email.disabled:hover {
      border-color: #6d6d6d; }
    .action-button.success:focus-visible, .action-button.email:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.success .graduated-colour-edge .step, .action-button.email .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .action-button.warning {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 15px 35px);
    color: #ff5e05;
    background-color: #ffefe6;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #ff5e05;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .action-button.warning {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.warning:hover, .action-button.warning.hover {
        color: #ffffff;
        background-color: #ff5e05;
        border-color: #ff5e05;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.warning:hover .graduated-colour-edge .step, .action-button.warning.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.warning:active, .action-button.warning.active {
      color: #ffffff;
      background-color: #bbe8f7;
      border-color: #bbe8f7;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.warning:disabled, .action-button.warning.disabled, .action-button.warning[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .action-button.warning:disabled:hover, .action-button.warning.disabled:hover {
      border-color: #6d6d6d; }
    .action-button.warning:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.warning .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .action-button.alert {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 5px 10px);
    padding: var(--common-button-padding, 15px 35px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #b20c0c;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .action-button.alert {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .action-button.alert:hover, .action-button.alert.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .action-button.alert:hover .graduated-colour-edge .step, .action-button.alert.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .action-button.alert:active, .action-button.alert.active {
      color: #ffffff;
      background-color: #bbe8f7;
      border-color: #bbe8f7;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .action-button.alert:disabled, .action-button.alert.disabled, .action-button.alert[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .action-button.alert:disabled:hover, .action-button.alert.disabled:hover {
      border-color: #6d6d6d; }
    .action-button.alert:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .action-button.alert .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

a[class*="-button"].align-center {
  margin-right: auto;
  margin-left: auto; }

a[class*="-button"].align-right {
  margin-right: 0;
  margin-left: auto; }

a[class*="-button"].align-left {
  margin-right: auto;
  margin-left: 0; }

.button1, .primary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 15px 35px);
  color: #01416f;
  background-color: #bbe8f7;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .button1, .primary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .button1:hover, .button1.hover, .primary-button:hover, .primary-button.hover {
      color: #ffffff;
      background-color: #01416f;
      border-color: #1281bf;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .button1:hover .graduated-colour-edge .step, .button1.hover .graduated-colour-edge .step, .primary-button:hover .graduated-colour-edge .step, .primary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .button1:active, .button1.active, .primary-button:active, .primary-button.active {
    color: #ffffff;
    background-color: #67156a;
    border-color: #67156a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .button1:disabled, .button1.disabled, .button1[disabled], .primary-button:disabled, .primary-button.disabled, .primary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .button1:disabled:hover, .button1.disabled:hover, .primary-button:disabled:hover, .primary-button.disabled:hover {
    border-color: #6d6d6d; }
  .button1:focus-visible, .primary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .button1 .graduated-colour-edge .step, .primary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.secondary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 15px 35px);
  color: #01416f;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .secondary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .secondary-button:hover, .secondary-button.hover {
      color: #01416f;
      background-color: #bbe8f7;
      border-color: #01416f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .secondary-button:hover .graduated-colour-edge .step, .secondary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .secondary-button:active, .secondary-button.active {
    color: #ffffff;
    background-color: #01416f;
    border-color: #01416f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .secondary-button:disabled, .secondary-button.disabled, .secondary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .secondary-button:disabled:hover, .secondary-button.disabled:hover {
    border-color: #6d6d6d; }
  .secondary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .secondary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.tertiary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 15px 35px);
  color: #ff0101;
  background-color: #ffdfdf;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .tertiary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .tertiary-button:hover, .tertiary-button.hover {
      color: #ffffff;
      background-color: #ff0101;
      border-color: #ff0101;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .tertiary-button:hover .graduated-colour-edge .step, .tertiary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .tertiary-button:active, .tertiary-button.active {
    color: #ffffff;
    background-color: #01416f;
    border-color: #ffffff;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .tertiary-button:disabled, .tertiary-button.disabled, .tertiary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .tertiary-button:disabled:hover, .tertiary-button.disabled:hover {
    border-color: #6d6d6d; }
  .tertiary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .tertiary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.quaternary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 3.5px 16px);
  color: #ffffff;
  background-color: #67156a;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #67156a;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .quaternary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .quaternary-button:hover, .quaternary-button.hover {
      color: #67156a;
      background-color: #ffffff;
      border-color: #67156a;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .quaternary-button:hover .graduated-colour-edge .step, .quaternary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .quaternary-button:active, .quaternary-button.active {
    color: #01416f;
    background-color: #ffffff;
    border-color: #01416f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .quaternary-button:disabled, .quaternary-button.disabled, .quaternary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .quaternary-button:disabled:hover, .quaternary-button.disabled:hover {
    border-color: #6d6d6d; }
  .quaternary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .quaternary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.quinary-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 5px 10px);
  padding: var(--common-button-padding, 15px 35px);
  color: #01416f;
  background-color: #eeeeee;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .quinary-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .quinary-button:hover, .quinary-button.hover {
      color: #01416f;
      background-color: rgba(18, 129, 191, 0.8);
      border-color: #01416f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .quinary-button:hover .graduated-colour-edge .step, .quinary-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .quinary-button:active, .quinary-button.active {
    color: #01416f;
    background-color: #ffffff;
    border-color: #01416f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .quinary-button:disabled, .quinary-button.disabled, .quinary-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .quinary-button:disabled:hover, .quinary-button.disabled:hover {
    border-color: #6d6d6d; }
  .quinary-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .quinary-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 35px);
  color: #01416f;
  background-color: transparent;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #01416f;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .cms-button {
      margin: var(--common-button-medium-margin, 0 0 10px); } }
  @media screen and (min-width: 81.25em) {
    .cms-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0 0 10px); } }
  @media (hover: hover) {
    .cms-button:hover, .cms-button.hover {
      color: #ffffff;
      background-color: #01416f;
      border-color: hover-color((default: transparent, hover: #01416f, active: #67156a, disabled: #ffffff));
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .cms-button:hover .graduated-colour-edge .step, .cms-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .cms-button:active, .cms-button.active {
    color: #1281bf;
    background-color: #67156a;
    border-color: #1281bf;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-button:disabled, .cms-button.disabled, .cms-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .cms-button:disabled:hover, .cms-button.disabled:hover {
    border-color: #6d6d6d; }
  .cms-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .cms-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-proceed-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-size: 0.9375rem;
  font-weight: 600; }
  .cms-proceed-button:after {
    content: "";
    font-size: 12px;
    font-family: "Font Awesome Solid";
    font-weight: normal; }
  .cms-proceed-button:hover {
    text-decoration: none; }

.copy-to-clipboard-button {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .copy-to-clipboard-button:after {
    content: "";
    margin-left: 5px;
    color: #484848;
    font-family: "Font Awesome Solid";
    size: 15px; }
  .copy-to-clipboard-button .copied-text-container {
    width: calc(100% + 10px);
    height: calc(100% + 10px);
    position: absolute;
    top: -5px;
    left: -5px;
    padding: 5px;
    background-color: rgba(238, 238, 238, 0.9);
    color: #000000;
    text-align: center;
    font-size: 0.8125rem;
    font-weight: 600; }

.location-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 9.5px 12px 9.5px 21px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 81.25em) {
    .location-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .location-button:hover, .location-button.hover {
      color: #01416f;
      background-color: #64a6d4;
      border-color: #01416f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .location-button:hover:after, .location-button.hover:after {
        color: #01416f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .location-button:hover .graduated-colour-edge .step, .location-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .location-button:active, .location-button.active {
    color: #ffffff;
    background-color: #01416f;
    border-color: #01416f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .location-button:active:after, .location-button.active:after {
      color: #ffffff; }
  .location-button:disabled, .location-button.disabled, .location-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
    .location-button:disabled:after, .location-button.disabled:after, .location-button[disabled]:after {
      color: #6d6d6d; }
  .location-button:disabled:hover, .location-button.disabled:hover {
    border-color: #6d6d6d; }
  .location-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .location-button:after {
    content: "";
    margin: 0 0 0 40px;
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #1281bf;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .location-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.third-party-tracking-reference {
  margin: 0;
  padding: 10px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #64a6d4; }
  .third-party-tracking-reference .reference {
    margin-left: 5px; }

.third-party-tracking-button {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 10px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #64a6d4;
  background-color: #00adef;
  border: 1px solid #64a6d4; }
  .third-party-tracking-button:hover {
    color: #01416f;
    background-color: #64a6d4;
    border-color: #01416f; }
    .third-party-tracking-button:hover:after {
      color: #01416f; }
  .third-party-tracking-button:active {
    color: #67156a;
    background-color: #ffffff;
    border-color: #ffffff; }
    .third-party-tracking-button:active:after {
      color: #67156a; }
  .third-party-tracking-button:after {
    content: "";
    margin-left: 12px;
    font-family: "fontello";
    font-size: 16px;
    color: #64a6d4; }

.third-party-tracking-button-2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 5px 0 0;
  padding: 5px 8px;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #00adef;
  border: 1px solid #aeaeae;
  -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
  transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .third-party-tracking-button-2 {
      padding: 3px 5px;
      font-size: 0.75rem; } }
  .third-party-tracking-button-2:hover {
    color: #ffffff;
    background-color: #01416f;
    border-color: #01416f;
    -webkit-transition: color 0.6s, border-color 0.6s, background-color 0.6s;
    transition: color 0.6s, border-color 0.6s, background-color 0.6s; }
    .third-party-tracking-button-2:hover:after {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .third-party-tracking-button-2:active {
    color: #01416f;
    background-color: #64a6d4;
    border-color: #01416f; }
    .third-party-tracking-button-2:active:after {
      color: #01416f; }
  .third-party-tracking-button-2:after {
    content: "";
    margin-left: 12px;
    font-family: "fontello";
    font-size: 16px;
    color: #00adef;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .third-party-tracking-button-2:after {
        margin-left: 6px;
        font-size: 13px; } }

.print-element-button {
  --component-specifc-step-height: 15px;
  width: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 35px);
  color: #01416f;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media print, screen and (min-width: 40em) {
    .print-element-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 81.25em) {
    .print-element-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .print-element-button:hover, .print-element-button.hover {
      color: #01416f;
      background-color: #bbe8f7;
      border-color: #01416f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .print-element-button:hover:before, .print-element-button.hover:before {
        color: #01416f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .print-element-button:hover .graduated-colour-edge .step, .print-element-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .print-element-button:active, .print-element-button.active {
    color: #ffffff;
    background-color: #01416f;
    border-color: #01416f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .print-element-button:active:before, .print-element-button.active:before {
      color: #01416f; }
  .print-element-button:disabled, .print-element-button.disabled, .print-element-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
    .print-element-button:disabled:before, .print-element-button.disabled:before, .print-element-button[disabled]:before {
      color: #6d6d6d; }
  .print-element-button:disabled:hover, .print-element-button.disabled:hover {
    border-color: #6d6d6d; }
  .print-element-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .print-element-button:before {
    content: "";
    margin: 0 12px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #1281bf;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .print-element-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.print-element-link:before {
  content: "";
  margin-right: 10px;
  font-family: "Font Awesome Solid"; }

#paypal-checkout-button, .paypal-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 12px 5px);
  background-color: #ffc439;
  border-width: 2px;
  font-size: 0.9375rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #eeeeee;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  border-radius: 5px;
  position: relative; }
  @media print, screen and (min-width: 40em) {
    #paypal-checkout-button, .paypal-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 81.25em) {
    #paypal-checkout-button, .paypal-button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    #paypal-checkout-button:hover, #paypal-checkout-button.hover, .paypal-button:hover, .paypal-button.hover {
      background-color: #01416f;
      border-color: #01416f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      #paypal-checkout-button:hover .graduated-colour-edge .step, #paypal-checkout-button.hover .graduated-colour-edge .step, .paypal-button:hover .graduated-colour-edge .step, .paypal-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  #paypal-checkout-button:active, #paypal-checkout-button.active, .paypal-button:active, .paypal-button.active {
    background-color: #67156a;
    border-color: #67156a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  #paypal-checkout-button:disabled, #paypal-checkout-button.disabled, #paypal-checkout-button[disabled], .paypal-button:disabled, .paypal-button.disabled, .paypal-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  #paypal-checkout-button:disabled:hover, #paypal-checkout-button.disabled:hover, .paypal-button:disabled:hover, .paypal-button.disabled:hover {
    border-color: #6d6d6d; }
  #paypal-checkout-button:focus-visible, .paypal-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #paypal-checkout-button .graduated-colour-edge .step, .paypal-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  #paypal-checkout-button:after, .paypal-button:after {
    content: '';
    width: 6rem;
    height: 20px;
    display: inline-block;
    background-image: url("/template/content/development/images/icons/paypal.svg");
    background-position: right;
    background-repeat: no-repeat; }

.increment-row-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin: auto;
  padding: 10px;
  color: #000000;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .increment-row-button:before {
    content: "+";
    font-family: "Font Awesome Solid"; }
  .increment-row-button:hover {
    color: var(--secondary-colour-lightness-0);
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.page-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto 30px; }
  @media screen and (min-width: 81.25em) {
    .page-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .page-buttons-container .button-container {
    --common-button-small-margin: 5px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    @media print, screen and (max-width: 81.24875em) {
      .page-buttons-container .button-container {
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container {
        width: 50%;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        gap: 10px 20px; } }
    .page-buttons-container .button-container:nth-of-type(3n-2) [class*="-button"] {
      margin-right: 0;
      margin-left: 0; }
      @media screen and (min-width: 81.25em) {
        .page-buttons-container .button-container:nth-of-type(3n-2) [class*="-button"] {
          margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container:nth-of-type(2n):not(.align-center) [class*="-button"]:not(.action-button):only-child, .page-buttons-container .button-container:only-child:not(.align-center) [class*="-button"]:not(.action-button):only-child {
        margin-right: 0;
        margin-left: auto; }
      .page-buttons-container .button-container:nth-of-type(2n):not(.align-center) [class*="-button"]:not(.action-button):not(:only-child):first-child, .page-buttons-container .button-container:only-child:not(.align-center) [class*="-button"]:not(.action-button):not(:only-child):first-child {
        margin-left: auto; } }
    @media print, screen and (max-width: 81.24875em) {
      .page-buttons-container .button-container [class*="-button"] {
        width: 100%; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container [class*="-button"]:not(.action-button) {
        margin-right: 0; }
      .page-buttons-container .button-container [class*="-button"].action-button {
        margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .page-buttons-container .button-container .secondary-button {
        margin-left: auto; } }

.addToBasketForm {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.basket-add-button.icon {
  width: 35px;
  height: 35px;
  position: relative;
  display: inline-block;
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .basket-add-button.icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 23px;
    color: #1281bf;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .basket-add-button.icon:not(.disabled):hover:before {
    font-size: 26px;
    color: #67156a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .basket-add-button.icon:not(.disabled):active:before {
    color: #01416f; }
  .basket-add-button.icon.disabled {
    cursor: not-allowed; }
    .basket-add-button.icon.disabled:before {
      color: #ffffff; }

.basket-add-button.text-based {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 10px);
  color: #ffffff;
  background-color: #1281bf;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #1281bf;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .basket-add-button.text-based {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .basket-add-button.text-based:hover, .basket-add-button.text-based.hover {
      color: #ffffff;
      background-color: #67156a;
      border-color: #67156a;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .basket-add-button.text-based:hover .graduated-colour-edge .step, .basket-add-button.text-based.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .basket-add-button.text-based:active, .basket-add-button.text-based.active {
    background-color: #01416f;
    border-color: #01416f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .basket-add-button.text-based:disabled, .basket-add-button.text-based.disabled, .basket-add-button.text-based[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .basket-add-button.text-based:disabled:hover, .basket-add-button.text-based.disabled:hover {
    border-color: #6d6d6d; }
  .basket-add-button.text-based:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .basket-add-button.text-based .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.addToBasket.icon {
  width: 35px;
  height: 35px;
  position: relative;
  display: inline-block;
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .addToBasket.icon:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 23px;
    color: #1281bf;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .addToBasket.icon:not(.disabled):hover:before {
    font-size: 26px;
    color: #67156a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .addToBasket.icon:not(.disabled):active:before {
    color: #01416f; }
  .addToBasket.icon.disabled {
    cursor: not-allowed; }
    .addToBasket.icon.disabled:before {
      color: #ffffff; }

.add-to-basket:not(.preset-2) {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 10px);
  color: #ffffff;
  background-color: #1281bf;
  border-width: 2px;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #1281bf;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .add-to-basket:not(.preset-2) {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .add-to-basket:not(.preset-2):hover, .add-to-basket:not(.preset-2).hover {
      color: #ffffff;
      background-color: #67156a;
      border-color: #67156a;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .add-to-basket:not(.preset-2):hover .graduated-colour-edge .step, .add-to-basket:not(.preset-2).hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .add-to-basket:not(.preset-2):active, .add-to-basket:not(.preset-2).active {
    background-color: #01416f;
    border-color: #01416f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .add-to-basket:not(.preset-2):disabled, .add-to-basket:not(.preset-2).disabled, .add-to-basket:not(.preset-2)[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .add-to-basket:not(.preset-2):disabled:hover, .add-to-basket:not(.preset-2).disabled:hover {
    border-color: #6d6d6d; }
  .add-to-basket:not(.preset-2):focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .add-to-basket:not(.preset-2) .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.add-to-basket.preset-2 {
  --component-specifc-step-height: 15px;
  width: 100px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 10px);
  color: #01416f;
  background-color: #bbe8f7;
  border-width: 2px;
  font-size: 0.83333rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .add-to-basket.preset-2 {
      width: 100px;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .add-to-basket.preset-2:hover, .add-to-basket.preset-2.hover {
      color: #ffffff;
      background-color: #01416f;
      border-color: #1281bf;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .add-to-basket.preset-2:hover .graduated-colour-edge .step, .add-to-basket.preset-2.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .add-to-basket.preset-2:active, .add-to-basket.preset-2.active {
    color: #ffffff;
    background-color: #67156a;
    border-color: #67156a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .add-to-basket.preset-2:disabled, .add-to-basket.preset-2.disabled, .add-to-basket.preset-2[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .add-to-basket.preset-2:disabled:hover, .add-to-basket.preset-2.disabled:hover {
    border-color: #6d6d6d; }
  .add-to-basket.preset-2:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .add-to-basket.preset-2 .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.animated.drop:before {
  color: #67156a !important;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.animated.drop:after {
  content: '';
  width: 10px;
  height: 10px;
  position: absolute;
  top: -20px;
  right: 0;
  left: 0;
  margin: auto;
  border-radius: 25px;
  background-color: #67156a;
  -webkit-animation: basketIconHover 0.5s;
          animation: basketIconHover 0.5s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  z-index: -1;
  opacity: 0; }

@-webkit-keyframes basketIconHover {
  0% {
    top: -20px;
    opacity: 0.2; }
  15% {
    top: -15px;
    opacity: 0.4; }
  30% {
    top: -10px;
    opacity: 0.6; }
  45% {
    top: -5px;
    opacity: 0.8; }
  60% {
    top: 0px;
    border-radius: 16px;
    opacity: 1; }
  75% {
    top: 10px;
    border-radius: 8px;
    opacity: 1; }
  100% {
    width: 15px;
    height: 13px;
    top: 20px;
    border-radius: 0;
    opacity: 1; } }

@keyframes basketIconHover {
  0% {
    top: -20px;
    opacity: 0.2; }
  15% {
    top: -15px;
    opacity: 0.4; }
  30% {
    top: -10px;
    opacity: 0.6; }
  45% {
    top: -5px;
    opacity: 0.8; }
  60% {
    top: 0px;
    border-radius: 16px;
    opacity: 1; }
  75% {
    top: 10px;
    border-radius: 8px;
    opacity: 1; }
  100% {
    width: 15px;
    height: 13px;
    top: 20px;
    border-radius: 0;
    opacity: 1; } }

.stockline-view-button a, .stockline-view-button button, .stockline-view-container a, .stockline-view-container button {
  --component-specifc-step-height: 15px;
  width: auto;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 20px 10px);
  color: #01416f;
  background-color: #bbe8f7;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .stockline-view-button a, .stockline-view-button button, .stockline-view-container a, .stockline-view-container button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .stockline-view-button a:hover, .stockline-view-button a.hover, .stockline-view-button button:hover, .stockline-view-button button.hover, .stockline-view-container a:hover, .stockline-view-container a.hover, .stockline-view-container button:hover, .stockline-view-container button.hover {
      color: #ffffff;
      background-color: #01416f;
      border-color: #1281bf;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .stockline-view-button a:hover .graduated-colour-edge .step, .stockline-view-button a.hover .graduated-colour-edge .step, .stockline-view-button button:hover .graduated-colour-edge .step, .stockline-view-button button.hover .graduated-colour-edge .step, .stockline-view-container a:hover .graduated-colour-edge .step, .stockline-view-container a.hover .graduated-colour-edge .step, .stockline-view-container button:hover .graduated-colour-edge .step, .stockline-view-container button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .stockline-view-button a:active, .stockline-view-button a.active, .stockline-view-button button:active, .stockline-view-button button.active, .stockline-view-container a:active, .stockline-view-container a.active, .stockline-view-container button:active, .stockline-view-container button.active {
    color: #ffffff;
    background-color: #67156a;
    border-color: #67156a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .stockline-view-button a:disabled, .stockline-view-button a.disabled, .stockline-view-button a[disabled], .stockline-view-button button:disabled, .stockline-view-button button.disabled, .stockline-view-button button[disabled], .stockline-view-container a:disabled, .stockline-view-container a.disabled, .stockline-view-container a[disabled], .stockline-view-container button:disabled, .stockline-view-container button.disabled, .stockline-view-container button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .stockline-view-button a:disabled:hover, .stockline-view-button a.disabled:hover, .stockline-view-button button:disabled:hover, .stockline-view-button button.disabled:hover, .stockline-view-container a:disabled:hover, .stockline-view-container a.disabled:hover, .stockline-view-container button:disabled:hover, .stockline-view-container button.disabled:hover {
    border-color: #6d6d6d; }
  .stockline-view-button a:focus-visible, .stockline-view-button button:focus-visible, .stockline-view-container a:focus-visible, .stockline-view-container button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .stockline-view-button a .graduated-colour-edge .step, .stockline-view-button button .graduated-colour-edge .step, .stockline-view-container a .graduated-colour-edge .step, .stockline-view-container button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.not-logged-in-container a, .not-logged-in-container button {
  --component-specifc-step-height: 15px;
  width: auto;
  height: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 20px 10px);
  color: #ffffff;
  background-color: #1281bf;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #aeaeae;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .not-logged-in-container a, .not-logged-in-container button {
      width: 100%;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .not-logged-in-container a:hover, .not-logged-in-container a.hover, .not-logged-in-container button:hover, .not-logged-in-container button.hover {
      color: #01416f;
      background-color: #00adef;
      border-color: #00adef;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .not-logged-in-container a:hover .graduated-colour-edge .step, .not-logged-in-container a.hover .graduated-colour-edge .step, .not-logged-in-container button:hover .graduated-colour-edge .step, .not-logged-in-container button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .not-logged-in-container a:active, .not-logged-in-container a.active, .not-logged-in-container button:active, .not-logged-in-container button.active {
    color: #ffffff;
    background-color: #67156a;
    border-color: #67156a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .not-logged-in-container a:disabled, .not-logged-in-container a.disabled, .not-logged-in-container a[disabled], .not-logged-in-container button:disabled, .not-logged-in-container button.disabled, .not-logged-in-container button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .not-logged-in-container a:disabled:hover, .not-logged-in-container a.disabled:hover, .not-logged-in-container button:disabled:hover, .not-logged-in-container button.disabled:hover {
    border-color: #6d6d6d; }
  .not-logged-in-container a:focus-visible, .not-logged-in-container button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .not-logged-in-container a .graduated-colour-edge .step, .not-logged-in-container button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.enquiry-button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .enquiry-button-container .enquiry-button {
    --component-specifc-step-height: 15px;
    width: auto;
    height: 45px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #01416f;
    background-color: #bbe8f7;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 81.25em) {
      .enquiry-button-container .enquiry-button {
        width: 100%;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .enquiry-button-container .enquiry-button:hover, .enquiry-button-container .enquiry-button.hover {
        color: #ffffff;
        background-color: #01416f;
        border-color: #1281bf;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .enquiry-button-container .enquiry-button:hover .graduated-colour-edge .step, .enquiry-button-container .enquiry-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .enquiry-button-container .enquiry-button:active, .enquiry-button-container .enquiry-button.active {
      color: #ffffff;
      background-color: #67156a;
      border-color: #67156a;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .enquiry-button-container .enquiry-button:disabled, .enquiry-button-container .enquiry-button.disabled, .enquiry-button-container .enquiry-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .enquiry-button-container .enquiry-button:disabled:hover, .enquiry-button-container .enquiry-button.disabled:hover {
      border-color: #6d6d6d; }
    .enquiry-button-container .enquiry-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .enquiry-button-container .enquiry-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.favouritesContainer a[disabled], .favouritesContainer a.disabled {
  color: #6d6d6d;
  opacity: 0.4;
  cursor: not-allowed; }
  .favouritesContainer a[disabled]:after, .favouritesContainer a[disabled]:hover:after, .favouritesContainer a.disabled:after, .favouritesContainer a.disabled:hover:after {
    font-family: "Font Awesome Regular";
    color: #6d6d6d; }

.favouritesContainer a:after {
  content: "";
  color: #67156a;
  font-size: 23px;
  font-family: "Font Awesome Regular";
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.favouritesContainer a:hover:after {
  color: #67156a;
  font-family: "Font Awesome Solid";
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }

.favouritesContainer a:active:after {
  color: #67156a;
  font-family: "Font Awesome Solid"; }

.favouritesContainer.active a:after {
  font-family: "Font Awesome Solid"; }

.favouritesContainer.preset1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .favouritesContainer.preset1 a {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    font-size: 0.875rem;
    font-weight: 700;
    color: #000000;
    text-align: center;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .favouritesContainer.preset1 a:not(.disabled):hover {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

.favouritesContainer.preset2:not(.active) a:hover {
  text-decoration: none; }

.favouritesContainer.preset2 a {
  width: 35px;
  height: 35px;
  position: relative;
  display: block; }
  .favouritesContainer.preset2 a:after {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .favouritesContainer.preset2 a:hover {
    text-decoration: none; }

label.disabled, label.readonly {
  cursor: no-drop; }

.control input[type=checkbox], .control input[type=radio] {
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  -webkit-box-flex: 0;
      -ms-flex: 0;
          flex: 0;
  opacity: 0; }

@-moz-document url-prefix() {
  .control input[type=checkbox], .control input[type=radio] {
    margin-right: -4px !important; } }

.control {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  line-height: 20px; }
  @media print, screen and (max-width: 81.24875em) {
    .control {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  @media screen and (min-width: 81.25em) {
    .control {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  .control input[type=checkbox], .control input[type=radio] {
    z-index: -1;
    position: relative; }
  .control.is-hovered .input-prefix-icon, .control:hover .input-prefix-icon {
    background-color: #ffffff;
    border-color: #6d6d6d;
    -webkit-box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
            box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
    -webkit-transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, box-shadow 0.6s;
    transition: border-color 0.6s, background-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .control.is-invalid-label .input-prefix-icon {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    .control.is-invalid-label .input-prefix-icon:before {
      color: #b20c0c; }
  .control.is-invalid-label:hover .input-prefix-icon, .control.is-invalid-label:hover input {
    border-color: #6d6d6d;
    background-color: #ffffff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .control.is-focused .input-prefix-icon {
    border-color: #6d6d6d;
    background-color: #ffffff;
    -webkit-box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1);
            box-shadow: -15px 0 27px 3px rgba(12, 12, 13, 0.1); }
  .control + .label {
    padding-left: 5px; }
  .control .input-prefix-icon {
    height: 45px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: auto;
    background-color: #ffffff;
    border-width: 1px 0 1px 1px;
    border-color: #c8c8c8;
    border-style: solid;
    -webkit-transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s;
    z-index: 1; }
    .control .input-prefix-icon:hover {
      -webkit-transition: border-color 0.6s, background-color 0.6s;
      transition: border-color 0.6s, background-color 0.6s; }
    .control .input-prefix-icon:before {
      line-height: normal; }
    .control .input-prefix-icon + input {
      border-left-width: 0; }
  .control .label {
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover .label {
    color: #01416f;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=text], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=number], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover input[type=tel], .control:not(.read-only-input):not(.disabled-input):not(.is-invalid-label):hover textarea {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .control.read-only-input, .control.disabled-input {
    cursor: no-drop; }
    @media print, screen and (max-width: 81.24875em) {
      .control.read-only-input:not(.text):hover:after, .control.disabled-input:not(.text):hover:after {
        color: var(--neutral-colour-lightness-8);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.read-only-input:not(.text):after, .control.disabled-input:not(.text):after {
        content: "";
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto;
        font-family: "Font Awesome Solid";
        font-size: 16px;
        color: transparent;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; } }
    @media screen and (min-width: 81.25em) {
      .control.read-only-input:hover:after, .control.disabled-input:hover:after {
        color: var(--neutral-colour-lightness-8);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.read-only-input:after, .control.disabled-input:after {
        content: "";
        position: absolute;
        top: 0;
        right: 10px;
        bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto;
        font-family: "Font Awesome Solid";
        font-size: 16px;
        color: transparent;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; } }
  @media screen and (min-width: 81.25em) {
    .control.checkbox.small {
      width: auto; } }
  .control.checkbox.small input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.checkbox.small input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.checkbox.small input + span {
    border-color: #c8c8c8; }
    .control.checkbox.small input + span:before {
      opacity: 0; }
  .control.checkbox.small input[readonly] + span, .control.checkbox.small input[disabled] {
    border-color: #6d6d6d;
    background-color: var(--neutral-colour-lightness-8); }
    .control.checkbox.small input[readonly] + span:before, .control.checkbox.small input[disabled]:before {
      cursor: no-drop; }
  .control.checkbox.small input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.checkbox.small input:hover:not([readonly]):not([disabled]) + span:before {
      color: #6d6d6d; }
  .control.checkbox.small input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #6d6d6d; }
  .control.checkbox.small input + span:focus {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox.small input:focus + span {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox.small input:checked + span:before {
    opacity: 1; }
  .control.checkbox.small input:checked:not([readonly]):not([disabled]) + span:before {
    color: #67156a; }
  .control.checkbox.small input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #6d6d6d; }
  .control.checkbox.small input:checked[disabled] + span:before, .control.checkbox.small input:checked[readonly] + span:before {
    color: #6d6d6d; }
  .control.checkbox:not(.small) input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.checkbox:not(.small) input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.checkbox:not(.small) input + span {
    border-color: #c8c8c8; }
    .control.checkbox:not(.small) input + span:before {
      opacity: 0; }
  .control.checkbox:not(.small) input[readonly] + span, .control.checkbox:not(.small) input[disabled] {
    border-color: #6d6d6d;
    background-color: var(--neutral-colour-lightness-8); }
    .control.checkbox:not(.small) input[readonly] + span:before, .control.checkbox:not(.small) input[disabled]:before {
      cursor: no-drop; }
  .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]) + span:before {
      color: #6d6d6d; }
  .control.checkbox:not(.small) input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #6d6d6d; }
  .control.checkbox:not(.small) input + span:focus {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox:not(.small) input:focus + span {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.checkbox:not(.small) input:checked + span:before {
    opacity: 1; }
  .control.checkbox:not(.small) input:checked:not([readonly]):not([disabled]) + span:before {
    color: #67156a; }
  .control.checkbox:not(.small) input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #6d6d6d; }
  .control.checkbox:not(.small) input:checked[disabled] + span:before, .control.checkbox:not(.small) input:checked[readonly] + span:before {
    color: #6d6d6d; }
  .control.radio {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .control.radio:not(.checkbox) input:checked + span.radio {
    background-color: #ffffff;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .control.radio:not(.checkbox) input:checked + span.radio:after {
      background-color: #67156a;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .control.radio:not(.checkbox) span.radio {
    width: 15px;
    height: 15px;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #ffffff;
    border-radius: 15px;
    border: 1px solid #c8c8c8;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .control.radio:not(.checkbox) span.radio:after {
      content: '';
      width: 7.5px;
      height: 7.5px;
      position: relative;
      top: .2px;
      left: .4px;
      display: block;
      margin: auto;
      background-color: #ffffff;
      border-radius: 7.5px;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .control.radio:not(.checkbox) span.radio:hover {
      background-color: #ffffff; }
      .control.radio:not(.checkbox) span.radio:hover:after {
        background-color: #6d6d6d; }
    .control.radio:not(.checkbox) span.radio:active {
      background-color: #ffffff; }
      .control.radio:not(.checkbox) span.radio:active:after {
        background-color: #67156a; }
  .control.radio.checkbox input + span {
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    border-width: 1px;
    border-style: solid;
    background-color: #ffffff;
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .control.radio.checkbox input + span:before {
      content: "";
      width: 20px;
      height: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      padding-right: 2px;
      font-family: "Font Awesome Solid";
      font-size: 11.76471px; }
  .control.radio.checkbox input + span {
    border-color: #c8c8c8; }
    .control.radio.checkbox input + span:before {
      opacity: 0; }
  .control.radio.checkbox input[readonly] + span, .control.radio.checkbox input[disabled] {
    border-color: #6d6d6d;
    background-color: var(--neutral-colour-lightness-8); }
    .control.radio.checkbox input[readonly] + span:before, .control.radio.checkbox input[disabled]:before {
      cursor: no-drop; }
  .control.radio.checkbox input:hover:not([readonly]):not([disabled]) + span {
    background-color: #ffffff;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .control.radio.checkbox input:hover:not([readonly]):not([disabled]) + span:before {
      color: #6d6d6d; }
  .control.radio.checkbox input:hover:not([readonly]):not([disabled]):checked + span {
    border-color: #6d6d6d; }
  .control.radio.checkbox input + span:focus {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.radio.checkbox input:focus + span {
    outline: none;
    border-color: #6d6d6d;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.radio.checkbox input:checked + span:before {
    opacity: 1; }
  .control.radio.checkbox input:checked:not([readonly]):not([disabled]) + span:before {
    color: #67156a; }
  .control.radio.checkbox input:checked:not([readonly]):not([disabled]) + span:focus {
    border-color: #6d6d6d; }
  .control.radio.checkbox input:checked[disabled] + span:before, .control.radio.checkbox input:checked[readonly] + span:before {
    color: #6d6d6d; }
  .control.select {
    width: 100%; }
    .control.select select {
      height: 45px;
      width: auto;
      display: block;
      margin: 0; }
      .control.select select:disabled + .control-select-container .selected-option, .control.select select[readonly] + .control-select-container .selected-option {
        background-color: var(--neutral-colour-lightness-8);
        border-color: #6d6d6d;
        cursor: no-drop; }
      .control.select select:disabled + .control-select-container .control-select-dropdown:hover .select-arrow, .control.select select[readonly] + .control-select-container .control-select-dropdown:hover .select-arrow {
        background-color: var(--neutral-colour-lightness-8); }
        .control.select select:disabled + .control-select-container .control-select-dropdown:hover .select-arrow:after, .control.select select[readonly] + .control-select-container .control-select-dropdown:hover .select-arrow:after {
          color: #6d6d6d; }
      .control.select select.is-invalid-input + .control-select-container .selected-option {
        background-color: #fde1e1;
        border-color: #b20c0c; }
      .control.select select:focus + div[class=control-select-container] .selected-option {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-color: #6d6d6d; }
    .control.select.is-closing {
      z-index: 2000; }
    .control.select.active, .control.select.active:hover {
      z-index: 1999; }
      .control.select.active:hover .control-select-options, .control.select.active:hover:hover .control-select-options {
        border-color: #6d6d6d; }
      .control.select.active.dropdown-top .selected-option, .control.select.active:hover.dropdown-top .selected-option {
        border-radius: 0 0 0 0; }
        .control.select.active.dropdown-top .selected-option .select-arrow, .control.select.active:hover.dropdown-top .selected-option .select-arrow {
          border-radius: 0 0 0 0; }
      .control.select.active.dropdown-top .control-select-options, .control.select.active:hover.dropdown-top .control-select-options {
        border-radius: 0 0 0 0; }
      .control.select.active .selected-option, .control.select.active:hover .selected-option {
        border-width: 1px 1px 0 1px;
        border-color: #6d6d6d;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-radius: 0 0 0 0; }
        .control.select.active .selected-option:focus, .control.select.active:hover .selected-option:focus {
          border-color: #6d6d6d; }
      .control.select.active .select-arrow, .control.select.active:hover .select-arrow {
        background-color: #67156a;
        border-radius: 0 0 0 0; }
        .control.select.active .select-arrow:after, .control.select.active:hover .select-arrow:after {
          content: "";
          color: #ffffff; }
      .control.select.active .control-select-options, .control.select.active:hover .control-select-options {
        max-height: 185px;
        border-color: #6d6d6d;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
    .control.select.dropdown-bottom .selected-option {
      border-bottom-color: #c8c8c8; }
    .control.select.dropdown-top .selected-option {
      border-top-color: #c8c8c8; }
    .control.select.dropdown-top .control-select-options {
      top: auto;
      bottom: 100%;
      margin: 0;
      border-width: 1px 1px 0 1px; }
    .control.select.dropdown-top.active .selected-option {
      border-width: 0 1px 1px 1px; }
    .control.select .select-arrow {
      width: 30px;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      background-color: transparent;
      border-radius: 0 0 0 0;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      .control.select .select-arrow:after {
        content: "";
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-size: 18px;
        font-family: "Font Awesome Solid";
        color: #959595;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .control.select .selected-option {
      height: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      cursor: pointer;
      padding: 5px 0 5px 0;
      padding-right: 33px;
      margin: 0;
      background: #ffffff;
      border: 1px solid #c8c8c8;
      font-family: "Khula", "Khula Fallback", "Arial";
      font-size: 0.875rem;
      opacity: 1;
      outline: 0;
      border-radius: 0; }
      .control.select .selected-option .selected-description {
        padding: 5px 0 5px 25px;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 0.875rem; }
        @media screen and (min-width: 81.25em) {
          .control.select .selected-option .selected-description {
            white-space: nowrap; } }
      .selected-description {
        color: #484848; }
      .control.select .selected-option:hover {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-color: #6d6d6d; }
      .control.select .selected-option:focus {
        border-color: #c8c8c8; }
    .control.select .control-select-options {
      max-height: 0;
      width: 100%;
      position: absolute;
      margin: auto 0 0;
      padding: 0;
      border-width: 0 1px 0 1px;
      border-style: solid;
      border-color: transparent;
      background-color: #ffffff;
      list-style: none;
      font-size: 0.875rem;
      overflow-x: hidden;
      overflow-y: scroll;
      -webkit-transition: all 0.8s;
      transition: all 0.8s;
      z-index: 1;
      border-radius: 0 0 0 0; }
    .control.select .control-select-option {
      padding: 5px 0 5px 10px;
      text-align: left;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
      .control.select .control-select-option[selected] {
        background-color: #01416f;
        color: #ffffff;
        font-weight: 600; }
      .control.select .control-select-option[disabled], .control.select .control-select-option.disabled {
        background-color: var(--neutral-colour-lightness-8);
        color: #6d6d6d;
        cursor: no-drop; }
      .control.select .control-select-option:hover {
        color: #ffffff;
        background-color: #67156a;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
      .control.select .control-select-option:active {
        background-color: #00adef;
        color: #ffffff; }
        .control.select .control-select-option:active[disabled], .control.select .control-select-option:active.disabled {
          opacity: 0.7; }
    .control.select .control-select-container {
      min-width: 150px;
      max-width: 100%;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      @media screen and (min-width: 81.25em) {
        .control.select .control-select-container {
          width: auto; } }
    .control.select .control-select-dropdown {
      width: 100%;
      position: relative; }
      @media screen and (min-width: 81.25em) {
        .control.select .control-select-dropdown {
          height: 45px; } }
      .control.select .control-select-dropdown:hover .select-arrow {
        background-color: #01416f; }
        .control.select .control-select-dropdown:hover .select-arrow:after {
          color: #ffffff; }
    .control.select.title .control-select-dropdown {
      width: 250px; }
  .control.text {
    cursor: text; }
    .control.text input {
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
      .control.text input:not([type=password]):hover {
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
      .control.text input:hover {
        border-color: #6d6d6d;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .control.text input:hover.is-invalid-input {
          border-color: #b20c0c; }
          .control.text input:hover.is-invalid-input:focus {
            border-color: #6d6d6d; }
            .control.text input:hover.is-invalid-input:focus + button {
              border-color: #6d6d6d; }
          .control.text input:hover.is-invalid-input + button {
            border-color: #b20c0c; }
        .control.text input:hover:not(.is-invalid-input) + button {
          border-color: #6d6d6d;
          -webkit-transition: border-color 0.6s;
          transition: border-color 0.6s; }
      .control.text input + button:focus {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .control.slider {
    height: auto;
    background-color: transparent;
    border: 0; }
  .control.file {
    width: 100% !important;
    height: 100% !important;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-bottom: 30px;
    padding: 10px;
    background-color: transparent;
    border: 4px solid rgba(18, 129, 191, 0.8);
    border-radius: 0;
    -webkit-transition: background-color 0.8s, border-color 0.8s;
    transition: background-color 0.8s, border-color 0.8s; }
    .control.file:after {
      content: '';
      width: calc(100% - 2.5px);
      height: calc(100% - 2.5px);
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      margin: auto;
      border: 2.5px dashed rgba(18, 129, 191, 0.8);
      border-radius: 0;
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .control.file {
        width: 700px !important;
        padding: 38px 10px; } }
    .control.file:hover {
      background-color: transparent;
      border-color: #01416f;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .control.file:hover:after {
        border-color: #01416f;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
      .control.file:hover span.label {
        color: #01416f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .control.file:hover .file-upload-icon:before {
        color: #01416f; }
    .control.file:active, .control.file.is-ready {
      background-color: rgba(18, 129, 191, 0.1);
      border-color: rgba(1, 65, 111, 0.7); }
      .control.file:active:after, .control.file.is-ready:after {
        border-color: rgba(1, 65, 111, 0.7); }
    .control.file.is-ready .file-upload-icon:before {
      content: "";
      color: rgba(1, 65, 111, 0.7); }
    .control.file.is-invalid-label {
      border-color: #b20c0c;
      background-color: #fde1e1; }
      .control.file.is-invalid-label:after {
        border-color: #b20c0c; }
      .control.file.is-invalid-label .form-error {
        margin: 20px 0; }
      .control.file.is-invalid-label .file-upload-icon:before {
        content: "";
        color: #b20c0c; }
      .control.file.is-invalid-label span.label {
        color: #b20c0c; }
    .control.file span.label {
      width: 100%;
      padding: 5px 10px;
      text-align: center;
      font-size: 1rem;
      font-weight: 700;
      color: #01416f;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        .control.file span.label {
          padding: 5px; } }
    .control.file .file-upload-icon {
      padding: 20px 10px 0;
      display: block;
      line-height: normal; }
      .control.file .file-upload-icon:before {
        content: "";
        font-family: "Font Awesome Solid";
        font-size: 46px;
        color: #01416f; }
      .control.file .file-upload-icon + .label {
        padding-top: 10px; }
    .control.file .input-button-container {
      margin-bottom: 5px;
      z-index: 2; }
      @media screen and (min-width: 81.25em) {
        .control.file .input-button-container {
          margin-bottom: 10px; } }
    .control.file .file-size {
      margin-left: 10px;
      font-size: 0.8125rem;
      font-weight: 700; }
    .control.file .remove-button {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto;
      padding: 10px;
      cursor: pointer;
      z-index: 2; }
      .control.file .remove-button:hover {
        text-decoration: underline; }
      .control.file .remove-button:after {
        content: "";
        margin-left: 10px;
        font-family: "Font Awesome Solid";
        font-size: 18px;
        color: #484848; }
    .control.file input {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      padding: 0;
      opacity: 0;
      cursor: pointer;
      z-index: 1; }
  .control.search input {
    height: 45px; }
    .control.search input + button {
      height: 45px;
      margin: auto 0; }
  .control .tooltip-container {
    margin-left: 20px; }
  .control:hover .tooltip-trigger:before {
    -webkit-animation: animateToolTipHint 2s;
            animation: animateToolTipHint 2s; }

.quantity-selector-container select, .quantity-selector-container .control.select .control-select-dropdown {
  width: 90px; }

.quantity-selector-container .control.select .selected-option .selected-description {
  padding-left: 10px; }

@-webkit-keyframes animateToolTipHint {
  0% {
    background-color: rgba(72, 72, 72, 0.7);
    color: #ffffff; }
  20% {
    background-color: #67156a;
    color: #ffffff; } }

@keyframes animateToolTipHint {
  0% {
    background-color: rgba(72, 72, 72, 0.7);
    color: #ffffff; }
  20% {
    background-color: #67156a;
    color: #ffffff; } }

@media print, screen and (max-width: 81.24875em) {
  input {
    font-size: 1rem !important; } }

input::-webkit-input-placeholder {
  color: #484848;
  font-size: 0.8125rem;
  font-weight: 600; }

input::-moz-placeholder {
  color: #484848;
  font-size: 0.8125rem;
  font-weight: 600; }

input:-ms-input-placeholder {
  color: #484848;
  font-size: 0.8125rem;
  font-weight: 600; }

input::-ms-input-placeholder {
  color: #484848;
  font-size: 0.8125rem;
  font-weight: 600; }

input::placeholder {
  color: #484848;
  font-size: 0.8125rem;
  font-weight: 600; }

input.mail-input {
  height: 45px;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  float: left;
  border-style: solid;
  border-width: 1px;
  border-radius: 0 0 0 0;
  margin: 0;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media print, screen and (min-width: 40em) {
    input.mail-input {
      width: auto;
      border-width: 1px 0 1px 1px; } }
  input.mail-input.is-invalid-input + button {
    border-color: #b20c0c;
    background-color: #fde1e1;
    opacity: 1; }
    input.mail-input.is-invalid-input + button:before {
      color: #b20c0c; }
    input.mail-input.is-invalid-input + button:hover:before {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  input.mail-input + button {
    width: 100%;
    height: 45px;
    margin: 5px 0 0;
    padding: 0 5px;
    background-color: #ffffff;
    border-style: solid;
    border-color: #c8c8c8;
    border-width: 1px;
    color: rgba(1, 65, 111, 0.6);
    cursor: pointer;
    border-radius: 0 0 0 0;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media print, screen and (min-width: 40em) {
      input.mail-input + button {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0;
        border-width: 1px 1px 1px 0; } }
    input.mail-input + button:empty:before {
      content: "";
      width: 40px;
      display: block;
      margin: auto;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: rgba(1, 65, 111, 0.6);
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    input.mail-input + button:hover {
      color: #ffffff;
      border-color: #c8c8c8;
      background-color: rgba(1, 65, 111, 0.6);
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input.mail-input + button:hover:empty:before {
        color: #ffffff; }
    input.mail-input + button:active {
      color: #ffffff;
      border-color: #6d6d6d;
      background-color: #67156a;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input.mail-input + button:active:empty:before {
        color: #ffffff; }

.conditional-inputs {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .conditional-inputs.active {
    max-height: 2000px;
    overflow: visible;
    background-color: #ffffff;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

.quantity-free-text-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .quantity-free-text-container .input-number-decrement, .quantity-free-text-container .input-number-increment {
    background-color: transparent; }
    .quantity-free-text-container .input-number-decrement:before, .quantity-free-text-container .input-number-increment:before {
      color: #01416f; }
    @media (hover: hover) {
      .quantity-free-text-container .input-number-decrement:hover, .quantity-free-text-container .input-number-increment:hover {
        background-color: #ffffff; }
        .quantity-free-text-container .input-number-decrement:hover:before, .quantity-free-text-container .input-number-increment:hover:before {
          color: #67156a; } }
    .quantity-free-text-container .input-number-decrement:active, .quantity-free-text-container .input-number-increment:active {
      background-color: #eeeeee; }
      .quantity-free-text-container .input-number-decrement:active:before, .quantity-free-text-container .input-number-increment:active:before {
        color: #000000; }
  .quantity-free-text-container.preset-1 .input-number-decrement, .quantity-free-text-container.preset-1 .input-number-increment {
    background-color: transparent; }
    .quantity-free-text-container.preset-1 .input-number-decrement:before, .quantity-free-text-container.preset-1 .input-number-increment:before {
      color: #ffffff; }
    @media (hover: hover) {
      .quantity-free-text-container.preset-1 .input-number-decrement:hover, .quantity-free-text-container.preset-1 .input-number-increment:hover {
        background-color: #eeeeee; }
        .quantity-free-text-container.preset-1 .input-number-decrement:hover:before, .quantity-free-text-container.preset-1 .input-number-increment:hover:before {
          color: #01416f; } }
    .quantity-free-text-container.preset-1 .input-number-decrement:active, .quantity-free-text-container.preset-1 .input-number-increment:active {
      background-color: #dadada; }
      .quantity-free-text-container.preset-1 .input-number-decrement:active:before, .quantity-free-text-container.preset-1 .input-number-increment:active:before {
        color: #67156a; }
  .quantity-free-text-container .input-group-button span.disabled {
    background-color: transparent; }
    .quantity-free-text-container .input-group-button span.disabled:before {
      color: #dadada; }
    .quantity-free-text-container .input-group-button span.disabled:hover {
      border-color: transparent; }
    .quantity-free-text-container .input-group-button span.disabled:active {
      background-color: transparent; }
  .quantity-free-text-container .label {
    padding: 6px 0;
    line-height: 25px;
    font-size: 0.9375rem;
    font-weight: 600; }
    @media screen and (min-width: 81.25em) {
      .quantity-free-text-container .label {
        padding: 6px 15px 6px 0; } }
  .quantity-free-text-container input[type=number]::-webkit-inner-spin-button, .quantity-free-text-container input[type=number]::-webkit-outer-spin-button, .quantity-free-text-container input[type=number] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: textfield;
    margin: 0; }
  .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment {
    border-color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement:not(.disabled), .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment:not(.disabled) {
      background-color: #fde1e1; }
      .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement:not(.disabled):before, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment:not(.disabled):before {
        color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number-decrement.disabled, .quantity-free-text-container:has(input.is-invalid-input) .input-number-increment.disabled {
      border-color: #6d6d6d; }
  .quantity-free-text-container:has(input.is-invalid-input) .input-number {
    color: #b20c0c;
    background-color: #fde1e1; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-webkit-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-moz-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number:-ms-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::-ms-input-placeholder {
      color: #b20c0c; }
    .quantity-free-text-container:has(input.is-invalid-input) .input-number::placeholder {
      color: #b20c0c; }
  .quantity-free-text-container.is-invalid-quantity .input-number-group .input-number {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    @media (hover: hover) {
      .quantity-free-text-container.is-invalid-quantity .input-number-group .input-number:hover {
        border-color: #b20c0c;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); } }
  .quantity-free-text-container.is-invalid-quantity .quantity-error {
    max-height: 100px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .quantity-free-text-container .quantity-error {
    max-height: 0;
    display: block;
    color: #b20c0c;
    font-size: 0.75rem;
    font-weight: bold;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }

.quantity-free-text-container .input-group {
  margin-bottom: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .quantity-free-text-container .input-group {
      -webkit-box-pack: unset;
          -ms-flex-pack: unset;
              justify-content: unset; } }
  .quantity-free-text-container .input-group input {
    width: 50px;
    height: 45px; }

.input-number-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .input-number-group .input-group-button {
    line-height: 36px; }
  .input-number-group .input-group-button span.disabled {
    cursor: no-drop; }
  .input-number-group .input-number {
    padding: 0;
    font-size: 0.9375rem;
    text-align: center;
    outline: none;
    display: block;
    margin: 0;
    border-color: #c8c8c8;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    .input-number-group .input-number:hover {
      border-color: #6d6d6d;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .input-number-group .input-number,
  .input-number-group .input-number-decrement,
  .input-number-group .input-number-increment {
    border-radius: 0;
    height: 45px;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .input-number-group .input-number-decrement,
  .input-number-group .input-number-increment {
    position: relative;
    display: inline-block;
    width: 40px;
    height: 45px;
    background: transparent;
    text-align: center;
    border-color: transparent;
    border-style: solid;
    cursor: pointer;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .input-number-group .input-number-decrement:before,
    .input-number-group .input-number-increment:before {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      font-size: 12px;
      font-family: "Font Awesome Solid";
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    @media (hover: hover) {
      .input-number-group .input-number-decrement:hover,
      .input-number-group .input-number-increment:hover {
        border-color: #c8c8c8; }
        .input-number-group .input-number-decrement:hover:not(.disabled),
        .input-number-group .input-number-increment:hover:not(.disabled) {
          -webkit-transition: color 0.6s;
          transition: color 0.6s; } }
  .input-number-group .input-number-decrement {
    border-width: 1px 0 1px 1px;
    border-radius: 0 0 0 0; }
    .input-number-group .input-number-decrement:before {
      content: ""; }
  .input-number-group .input-number-increment {
    border-width: 1px 1px 1px 0;
    border-radius: 0 0 0 0; }
    .input-number-group .input-number-increment:before {
      content: ""; }

.quantity-selector-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media print, screen and (min-width: 40em) {
    .quantity-selector-container {
      -webkit-box-pack: unset;
          -ms-flex-pack: unset;
              justify-content: unset; } }
  .quantity-selector-container .control-select-container {
    height: 45px; }
  @media screen and (min-width: 81.25em) {
    .quantity-selector-container .select {
      width: 90px; } }
  .quantity-selector-container .select select {
    height: 45px; }
  .quantity-selector-container .label {
    margin-right: 10px;
    padding: 6px 0;
    line-height: 25px;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .quantity-selector-container .label {
        margin-right: 15px; } }

span.form-error {
  width: 100%;
  margin: 0;
  text-align: center;
  border: 0; }
  @media screen and (min-width: 81.25em) {
    span.form-error {
      padding-left: 160px;
      text-align: left; } }
  span.form-error.is-visible {
    margin-top: 10px; }

span.form-callout-error {
  display: none !important; }

.is-invalid-input {
  border-color: #b20c0c; }

ul.advanced-validation {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0 10px;
  list-style: none;
  margin: 0 0 35px; }
  @media print, screen and (min-width: 40em) {
    ul.advanced-validation {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding: 0; } }
  ul.advanced-validation > li {
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      ul.advanced-validation > li {
        width: auto; } }
    @media print, screen and (min-width: 40em) {
      ul.advanced-validation > li:not(:first-child) {
        padding: 0 0 0 11px; } }
    ul.advanced-validation > li.advanced-form-error {
      width: auto;
      margin: 0 10px;
      position: relative;
      font-size: 0.9375rem;
      font-weight: 600;
      font-style: italic;
      color: #000000; }
      ul.advanced-validation > li.advanced-form-error:before {
        content: "";
        display: inline-block;
        margin: 0 5px 0 0;
        font-size: 15px;
        font-family: "Font Awesome Solid";
        font-style: normal;
        color: rgba(72, 72, 72, 0.7); }
      ul.advanced-validation > li.advanced-form-error.is-valid {
        color: #12811f; }
        ul.advanced-validation > li.advanced-form-error.is-valid:before {
          content: ""; }
      ul.advanced-validation > li.advanced-form-error.is-invalid {
        color: #b20c0c; }
        ul.advanced-validation > li.advanced-form-error.is-invalid:before {
          content: ""; }

.advanced-validation-active.is-invalid-label {
  color: #959595; }

.group-form-error {
  display: none;
  margin: 10px 0 0;
  width: 100%;
  background-color: #fde1e1;
  padding: 10px 20px; }
  .group-form-error h2, .group-form-error h4 {
    margin: 0 0 10px;
    padding: 0 0 20px;
    color: #b20c0c; }
  .group-form-error ul {
    margin: 0;
    padding: 0 0 20px;
    list-style: none;
    line-height: 25px; }
    .group-form-error ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .group-form-error ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #01416f;
        border-radius: 5px; }
    .group-form-error ul li {
      color: #b20c0c;
      font-weight: 700;
      font-size: 0.9375rem; }
  .group-form-error p, .group-form-error a {
    color: #b20c0c;
    font-weight: 700;
    font-size: 0.9375rem; }
  .group-form-error a {
    text-decoration: underline; }
  @media screen and (min-width: 81.25em) {
    .group-form-error {
      margin: 0 0 10px; } }

.error-block {
  width: 100%;
  background-color: #fde1e1;
  margin: 0 0 30px;
  padding: 10px 20px;
  width: 100%;
  background-color: #fde1e1;
  padding: 10px 20px; }
  .error-block h2, .error-block h4 {
    margin: 0 0 10px;
    padding: 0 0 20px;
    color: #b20c0c; }
  .error-block ul {
    margin: 0;
    padding: 0 0 20px;
    list-style: none;
    line-height: 25px; }
    .error-block ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .error-block ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #01416f;
        border-radius: 5px; }
    .error-block ul li {
      color: #b20c0c;
      font-weight: 700;
      font-size: 0.9375rem; }
  .error-block p, .error-block a {
    color: #b20c0c;
    font-weight: 700;
    font-size: 0.9375rem; }
  .error-block a {
    text-decoration: underline; }

.control.is-invalid-label input {
  background-color: #fde1e1;
  border-color: #b20c0c;
  -webkit-transition: border-color 0.6s, background-color 0.6s;
  transition: border-color 0.6s, background-color 0.6s; }
  .control.is-invalid-label input:focus {
    border-color: #6d6d6d; }
  .control.is-invalid-label input::-webkit-input-placeholder {
    color: #b20c0c;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::-moz-placeholder {
    color: #b20c0c;
    -moz-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input:-ms-input-placeholder {
    color: #b20c0c;
    -ms-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::-ms-input-placeholder {
    color: #b20c0c;
    -ms-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input::placeholder {
    color: #b20c0c;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .control.is-invalid-label input + button {
    background-color: #fde1e1;
    border-color: #b20c0c;
    color: #b20c0c; }
    .control.is-invalid-label input + button:before {
      color: #b20c0c; }
  .control.is-invalid-label input + span.checkbox {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

@-webkit-keyframes kf_shake {
  0% {
    -webkit-transform: translate(10px); }
  20% {
    -webkit-transform: translate(-10px); }
  40% {
    -webkit-transform: translate(5px); }
  60% {
    -webkit-transform: translate(-5px); }
  80% {
    -webkit-transform: translate(4px); }
  100% {
    -webkit-transform: translate(0px); } }

@keyframes kf_shake {
  0% {
    -webkit-transform: translate(10px); }
  20% {
    -webkit-transform: translate(-10px); }
  40% {
    -webkit-transform: translate(5px); }
  60% {
    -webkit-transform: translate(-5px); }
  80% {
    -webkit-transform: translate(4px); }
  100% {
    -webkit-transform: translate(0px); } }

.field-lead-in-text {
  width: 100%;
  color: #000000;
  font-weight: 400; }

label:not(.disabled) .label:hover, label:not(.read-only-input) .label:hover {
  color: #01416f; }

label:not(.disabled) .label:active, label:not(.read-only-input) .label:active {
  color: #67156a; }

label .label {
  color: #000000;
  font-weight: 400; }

label input:not([type=file]):not([type=checkbox]):not([type=radio]) {
  position: relative;
  height: 45px; }
  @media print, screen and (min-width: 40em) {
    label input:not([type=file]):not([type=checkbox]):not([type=radio]) {
      width: auto;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }

label input.is-invalid-input + button.inline-button {
  border-color: #b20c0c; }

label input.is-invalid-input[type=password]:focus + button.inline-button {
  border-color: #6d6d6d; }

label input:focus + button.inline-button:hover {
  border-color: #6d6d6d;
  background-color: #ffffff; }

/* clears the 'X' from Internet Explorer */
/* clears the 'X' from Chrome */
.lookup-container {
  width: 100%; }

.postcode-lookup-error {
  display: none;
  color: #b20c0c; }
  .postcode-lookup-error.active {
    display: block; }

input.lookup-key {
  width: 100%;
  margin-right: 15px; }
  @media print, screen and (min-width: 40em) {
    input.lookup-key {
      width: 360px;
      margin-right: 10px; } }
  @media screen and (min-width: 81.25em) {
    input.lookup-key + button {
      height: 45px; } }
  input.lookup-key.is-valid-input + button {
    background-color: #1281bf;
    color: #ffffff; }
  input.lookup-key.is-invalid-input + button {
    cursor: not-allowed; }

button.lookup-submit {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0 0);
  padding: var(--common-button-padding, 12px 13px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.8125rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #959595;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    button.lookup-submit {
      margin: var(--common-button-medium-margin, 0 0 0 10px); } }
  @media screen and (min-width: 81.25em) {
    button.lookup-submit {
      width: auto;
      margin: var(--common-button-large-margin, 0 0 0 10px); } }
  @media (hover: hover) {
    button.lookup-submit:hover, button.lookup-submit.hover {
      color: #ffffff;
      background-color: #67156a;
      border-color: #67156a;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      button.lookup-submit:hover .graduated-colour-edge .step, button.lookup-submit.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  button.lookup-submit:active, button.lookup-submit.active {
    color: #ffffff;
    background-color: #1281bf;
    border-color: #1281bf;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  button.lookup-submit:disabled, button.lookup-submit.disabled, button.lookup-submit[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  button.lookup-submit:disabled:hover, button.lookup-submit.disabled:hover {
    border-color: #6d6d6d; }
  button.lookup-submit:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  button.lookup-submit .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.lookup-results {
  width: 100%; }
  .lookup-results ul {
    max-height: 225px;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-y: auto; }
    .lookup-results ul .selected {
      color: #01416f;
      font-weight: 600; }
    .lookup-results ul li:not(:last-child) {
      margin-bottom: 10px; }
  .lookup-results button, .lookup-results a {
    font-size: 0.875rem;
    cursor: pointer;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .lookup-results button span, .lookup-results a span {
      color: #01416f;
      font-weight: 700;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .lookup-results button:hover, .lookup-results a:hover {
      color: #01416f;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .lookup-results button:active, .lookup-results a:active {
      color: #67156a; }
      .lookup-results button:active span, .lookup-results a:active span {
        color: #67156a;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  @media screen and (min-width: 81.25em) {
    .lookup-results.branch-search, .lookup-results.account-search {
      margin-left: 120px; } }
  .lookup-results.branch-search button, .lookup-results.account-search button {
    text-align: left; }

.geolocation-contianer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

input[type=search] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  padding: 5px 0 5px 25px;
  background-color: #ffffff;
  border-style: solid;
  border-width: 1px 0 1px 1px;
  border-color: #c8c8c8;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  display: inline-block;
  -webkit-transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s;
  transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }
  input[type=search]:hover, input[type=search].hover {
    -webkit-box-shadow: -1px 0px 20px 6px rgba(12, 12, 13, 0.1);
            box-shadow: -1px 0px 20px 6px rgba(12, 12, 13, 0.1);
    background-color: #ffffff;
    border-color: #6d6d6d;
    -webkit-transition: background-color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, box-shadow 0.6s;
    transition: background-color 0.6s, border-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    input[type=search]:hover + button, input[type=search].hover + button {
      -webkit-box-shadow: 15px 0px 20px 2px rgba(12, 12, 13, 0.1);
              box-shadow: 15px 0px 20px 2px rgba(12, 12, 13, 0.1);
      border-color: #6d6d6d;
      background-color: #01416f; }
      input[type=search]:hover + button:before, input[type=search].hover + button:before {
        color: #ffffff; }
  input[type=search]:focus, input[type=search]:active, input[type=search].focus {
    background-color: #ffffff;
    border-right-width: 0; }
    input[type=search]:focus + button, input[type=search]:active + button, input[type=search].focus + button {
      border-color: #6d6d6d;
      background-color: #01416f;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, box-shadow 0.8s background-color 0.6s;
      transition: border-color 0.8s, box-shadow 0.8s background-color 0.6s, -webkit-box-shadow 0.8s background-color 0.6s; }
      input[type=search]:focus + button:before, input[type=search]:active + button:before, input[type=search].focus + button:before {
        color: #ffffff; }
  input[type=search]::-webkit-input-placeholder {
    height: -webkit-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Khula", "Khula Fallback", "Arial"; }
  input[type=search]::-moz-placeholder {
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Khula", "Khula Fallback", "Arial"; }
  input[type=search]:-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Khula", "Khula Fallback", "Arial"; }
  input[type=search]::-ms-input-placeholder {
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Khula", "Khula Fallback", "Arial"; }
  input[type=search]::placeholder {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #484848;
    font-family: "Khula", "Khula Fallback", "Arial"; }
  input[type=search]:not(:has(+ button)) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  input[type=search] + button {
    width: 70px;
    position: relative;
    background-color: #ffffff;
    border-style: solid;
    border-width: 1px 1px 1px 0;
    border-color: #c8c8c8;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    cursor: pointer;
    -webkit-transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s;
    transition: background-color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    input[type=search] + button:hover {
      background-color: #01416f;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      input[type=search] + button:hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    input[type=search] + button:active {
      background-color: #01416f; }
      input[type=search] + button:active:before {
        color: #ffffff; }
    input[type=search] + button:before {
      content: "";
      width: 70px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #67156a;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }

.toggle-container {
  max-height: 0;
  display: block;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .toggle-container.active {
    max-height: 5000px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

.ui-block-pane {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  background-color: rgba(238, 238, 238, 0.6);
  cursor: no-drop;
  z-index: 1000; }
  .ui-block-pane:before {
    content: "";
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-family: "Font Awesome Solid";
    font-size: 82px;
    color: rgba(149, 149, 149, 0.6); }

.sso-selection-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .sso-selection-container {
      padding: 20px 0; } }
  .sso-selection-container .sso-selection-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px; }
  .sso-selection-container .option-container {
    width: 100%; }
    .sso-selection-container .option-container + .sso-seperator {
      margin-top: 20px; }
  .sso-selection-container .sso-button {
    width: 70%;
    display: block;
    margin: auto;
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 215/41;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    @media print, screen and (min-width: 40em) {
      .sso-selection-container .sso-button {
        width: 300px; } }
    .sso-selection-container .sso-button:hover {
      opacity: 0.4;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .sso-selection-container .sso-button.microsoft {
      background-image: url("/template/content/development/images/buttons/microsoft-sso-light.svg"); }
  .sso-selection-container .sso-seperator {
    color: var(--primary-colour-lightness-0);
    font-size: 0.875rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase; }

/*
----- Site Styles ----- 
Allowing CSS variables to override SASS configuration, used in instances where you need department specifc colouring.

*/
.required-prompt {
  width: 100%;
  display: block;
  padding: 0 10px;
  margin: 0;
  text-align: right;
  font-size: 0.9rem;
  font-weight: 400;
  font-style: italic; }
  @media screen and (min-width: 81.25em) {
    .required-prompt {
      padding: 0 20px;
      margin: 0 0 10px; } }
  .required-prompt + .cms-content-container {
    margin-top: 0;
    padding-top: 0; }

@media screen and (min-width: 81.25em) {
  .single-column-callback-container {
    max-width: 80%;
    margin: 0 auto 30px;
    padding-bottom: 30px; } }

.single-column-callback-container.content-border {
  padding: 20px;
  border: 2px solid #eeeeee; }

.single-column-callback-container .cms-content-container {
  text-align: center; }

.single-column-callback-container .buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

form.user-data-form {
  padding: 0 0 20px;
  background-color: #ffffff;
  border-radius: 0; }

form.single-column {
  margin-bottom: 30px;
  border: 1px solid #c8c8c8;
  border-radius: 0; }
  form.single-column .field {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      form.single-column .field {
        padding: 0 20px; } }
    form.single-column .field:last-child .button-container {
      margin: 15px 0 0; }

form .cms-content-container {
  width: 100%;
  padding: 5px 10px;
  text-align: left; }
  @media print, screen and (min-width: 40em) {
    form .cms-content-container {
      text-align: center; } }
  @media screen and (min-width: 81.25em) {
    form .cms-content-container {
      margin: auto;
      padding: 10px 205px;
      text-align: center; } }

form fieldset {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 0 30px;
  padding: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    form fieldset {
      padding: 0 0 20px; } }
  form fieldset:first-of-type h2 {
    border-radius: 0 0 0 0; }
  form fieldset h3, form fieldset div > legend {
    max-width: 100%;
    width: 100%;
    margin: 25px auto 20px;
    font-style: italic;
    font-size: 1.5rem;
    font-weight: 600;
    text-align: center;
    position: relative;
    color: #01416f;
    padding-bottom: 15px;
    position: relative;
    background-color: transparent; }
    form fieldset h3:before, form fieldset div > legend:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      display: block;
      margin: auto;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae; }
      @media print {
        form fieldset h3:before, form fieldset div > legend:before {
          border-bottom: 2px solid #aeaeae;
          background-color: transparent; } }
    @media screen and (min-width: 81.25em) {
      form fieldset h3, form fieldset div > legend {
        max-width: 640px; } }
  form fieldset h2, form fieldset legend {
    width: 100%;
    display: block;
    padding: 15px 0;
    margin: 0 0 10px;
    color: #ffffff;
    background-color: #1281bf;
    font-weight: 600;
    font-size: 1.125rem;
    text-align: center;
    text-transform: none; }
    form fieldset h2 + .sub-group-name, form fieldset legend + .sub-group-name {
      margin-top: -10px; }
  form fieldset legend {
    font-family: "Khula", "Khula Fallback", "Arial"; }
  form fieldset ul {
    margin: 0 auto;
    padding: 0;
    list-style: none; }
  form fieldset > .form-error {
    margin: auto; }
  form fieldset .sub-group-name {
    width: 100%;
    display: block;
    margin: 0;
    padding: 15px 0;
    background-color: #eeeeee;
    color: #000000;
    text-align: center; }
    form fieldset .sub-group-name + .required-prompt {
      margin-top: 10px; }
  @media screen and (min-width: 81.25em) {
    form fieldset .error-block {
      margin: 0 auto 10px; } }

@media screen and (min-width: 81.25em) {
  form .forgotten-password-link {
    max-width: 570px;
    width: 100%;
    margin-right: auto; } }

.column-content-container {
  margin: 10px 0;
  background-color: #ffffff;
  border: 1px solid #c8c8c8;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s;
  border-radius: 0; }
  @media screen and (min-width: 81.25em) {
    .column-content-container {
      margin: 0 0 20px; } }
  .column-content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    border-color: transparent;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
  .column-content-container fieldset {
    margin: 0; }
  .column-content-container .fieldset-banner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 10px;
    background-color: #64a6d4;
    border-radius: 0 0 0 0; }
    @media screen and (min-width: 81.25em) {
      .column-content-container .fieldset-banner-container {
        padding: 20px 10px; } }
    .column-content-container .fieldset-banner-container .fieldset-banner {
      width: 120px; }
    .column-content-container .fieldset-banner-container + h2 {
      border-radius: 0; }
  .column-content-container .field {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .column-content-container .field {
        padding: 0; } }
    @media screen and (min-width: 81.25em) {
      .column-content-container .field label {
        margin-left: 50px; } }
  .column-content-container .heading-container h2 {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0; }
  .column-content-container .cms-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 15px 7.5px; }
    @media print, screen and (min-width: 40em) {
      .column-content-container .cms-content-container {
        padding: 0 85px; } }
  .column-content-container .page-buttons-container {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .column-content-container .page-buttons-container {
        padding: 0; } }

.captcha-container {
  position: absolute;
  z-index: 2; }
  .captcha-container.checkbox {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 15px 0; }
  .captcha-container .grecaptcha-badge {
    bottom: 60px !important; }

.popup-background {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block; }

.confirmation-prompt-container .content-container {
  max-width: 1150px;
  width: 100%;
  position: relative;
  padding: 26.66667px;
  background-color: #ffffff;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  @media screen and (min-width: 81.25em) {
    .confirmation-prompt-container .content-container {
      padding: 80px; } }
  .confirmation-prompt-container .content-container .content {
    --font-family: Font Awesome Solid;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 10px;
    margin: 0 auto 50px;
    padding: 35px 10px;
    font-size: 0.875rem;
    border-radius: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    margin-top: 30px; }
    .confirmation-prompt-container .content-container .content:has(.content-container) {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content:has(.content-container) {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 81.25em) {
      .confirmation-prompt-container .content-container .content {
        gap: 0 15px; } }
    .confirmation-prompt-container .content-container .content:has(.content-container):before {
      font-family: var(--font-family);
      font-size: 19px;
      line-height: 1; }
    .confirmation-prompt-container .content-container .content.preset-1 {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      text-align: center; }
    .confirmation-prompt-container .content-container .content.preset-2 {
      padding-top: 15px;
      padding-bottom: 15px;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content.preset-2 {
          padding: 15px 65px; } }
    .confirmation-prompt-container .content-container .content.preset-3 {
      padding: 15px 0; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content.preset-3 {
          padding: 15px 0; } }
    .confirmation-prompt-container .content-container .content.success {
      background-color: #dffbe2;
      border: 1px solid #12811f;
      border-radius: 0; }
      .confirmation-prompt-container .content-container .content.success:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.success:has(.content-container):before {
        color: #12811f; }
      .confirmation-prompt-container .content-container .content.success > p:first-of-type::before {
        content: "";
        color: #12811f; }
      .confirmation-prompt-container .content-container .content.success h1, .confirmation-prompt-container .content-container .content.success h2, .confirmation-prompt-container .content-container .content.success h3, .confirmation-prompt-container .content-container .content.success h4, .confirmation-prompt-container .content-container .content.success h5, .confirmation-prompt-container .content-container .content.success h6, .confirmation-prompt-container .content-container .content.success p, .confirmation-prompt-container .content-container .content.success a {
        color: #12811f; }
    .confirmation-prompt-container .content-container .content.warning {
      background-color: #ffefe6;
      border: 1px solid #ff5e05;
      border-radius: 0; }
      .confirmation-prompt-container .content-container .content.warning:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.warning:has(.content-container):before {
        color: #ff5e05; }
      .confirmation-prompt-container .content-container .content.warning > p:first-of-type::before {
        content: "";
        color: #ff5e05; }
      .confirmation-prompt-container .content-container .content.warning h1, .confirmation-prompt-container .content-container .content.warning h2, .confirmation-prompt-container .content-container .content.warning h3, .confirmation-prompt-container .content-container .content.warning h4, .confirmation-prompt-container .content-container .content.warning h5, .confirmation-prompt-container .content-container .content.warning h6, .confirmation-prompt-container .content-container .content.warning p, .confirmation-prompt-container .content-container .content.warning a {
        color: #ff5e05; }
    .confirmation-prompt-container .content-container .content.alert {
      background-color: #fde1e1;
      border: 1px solid #b20c0c;
      border-radius: 0; }
      .confirmation-prompt-container .content-container .content.alert:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.alert:has(.content-container):before {
        color: #b20c0c; }
      .confirmation-prompt-container .content-container .content.alert > p:first-of-type:before {
        content: "";
        color: #b20c0c; }
      .confirmation-prompt-container .content-container .content.alert h1, .confirmation-prompt-container .content-container .content.alert h2, .confirmation-prompt-container .content-container .content.alert h3, .confirmation-prompt-container .content-container .content.alert h4, .confirmation-prompt-container .content-container .content.alert h5, .confirmation-prompt-container .content-container .content.alert h6, .confirmation-prompt-container .content-container .content.alert p, .confirmation-prompt-container .content-container .content.alert a {
        color: #b20c0c; }
    .confirmation-prompt-container .content-container .content.disabled p {
      color: #959595;
      font-weight: 600; }
    .confirmation-prompt-container .content-container .content.information {
      background-color: #ededed;
      border: 1px solid #000000; }
      .confirmation-prompt-container .content-container .content.information:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .confirmation-prompt-container .content-container .content.information:has(.content-container):before {
        color: #000000; }
      .confirmation-prompt-container .content-container .content.information p {
        color: #000000;
        font-weight: 600; }
    .confirmation-prompt-container .content-container .content.icon-non-returnable {
      --font-family: fontello; }
      .confirmation-prompt-container .content-container .content.icon-non-returnable:before {
        content: ""; }
    .confirmation-prompt-container .content-container .content .user-friendly-prefix {
      margin-right: 5px; }
    .confirmation-prompt-container .content-container .content > p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: 0; }
      .confirmation-prompt-container .content-container .content > p:first-of-type:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 15px auto 0;
        font-family: var(--font-family);
        font-size: 19px; }
        @media print, screen and (max-width: 81.24875em) {
          .confirmation-prompt-container .content-container .content > p:first-of-type:before {
            position: absolute;
            top: 0;
            margin: auto; } }
    .confirmation-prompt-container .content-container .content .content-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: auto 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content .content-container {
          margin: 0; } }
    .confirmation-prompt-container .content-container .content p {
      margin: var(--indent-margin, 0);
      font-size: 0.9375rem;
      font-weight: 700;
      line-height: normal;
      color: #000000; }
      .confirmation-prompt-container .content-container .content p img[style*="float:left"], .confirmation-prompt-container .content-container .content p img[style*="float: left"], .confirmation-prompt-container .content-container .content p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .confirmation-prompt-container .content-container .content p img[style*="float:right"], .confirmation-prompt-container .content-container .content p img[style*="float: right"], .confirmation-prompt-container .content-container .content p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .confirmation-prompt-container .content-container .content p img {
        margin: .2em 0; }
      .confirmation-prompt-container .content-container .content p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .confirmation-prompt-container .content-container .content p:not(:empty) + table, .confirmation-prompt-container .content-container .content p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .confirmation-prompt-container .content-container .content table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead {
        background-color: transparent; }
        .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .confirmation-prompt-container .content-container .content table:not([class*=preset]) thead th {
          font-weight: 700; }
      .confirmation-prompt-container .content-container .content table.responsive-table {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content table.responsive-table {
            display: table; } }
        .confirmation-prompt-container .content-container .content table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 81.25em) {
            .confirmation-prompt-container .content-container .content table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .confirmation-prompt-container .content-container .content table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .confirmation-prompt-container .content-container .content table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .confirmation-prompt-container .content-container .content table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content table td {
          padding: 10px; } }
      .confirmation-prompt-container .content-container .content table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .confirmation-prompt-container .content-container .content table tbody {
        background-color: transparent; }
        .confirmation-prompt-container .content-container .content table tbody th {
          background-color: transparent; }
        .confirmation-prompt-container .content-container .content table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content table tbody tr {
            display: table-row; } }
      .confirmation-prompt-container .content-container .content table .col-label {
        color: #484848; }
      @media print, screen and (max-width: 81.24875em) {
        .confirmation-prompt-container .content-container .content table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 81.24875em) {
        .confirmation-prompt-container .content-container .content table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .confirmation-prompt-container .content-container .content table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .confirmation-prompt-container .content-container .content table.comparison-table tbody td:first-child {
        color: #484848;
        font-weight: 700; }
    .confirmation-prompt-container .content-container .content blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      text-align: center;
      font-family: "Khula", "Khula Fallback", "Arial";
      font-size: 0.9375rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .confirmation-prompt-container .content-container .content blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .confirmation-prompt-container .content-container .content blockquote:hover:before {
          color: #dadada;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .confirmation-prompt-container .content-container .content blockquote:has(img) {
        text-align: left; }
      .confirmation-prompt-container .content-container .content blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .content blockquote {
          padding: 50px 60px; } }
      .confirmation-prompt-container .content-container .content blockquote + blockquote {
        margin-top: 15px; }
      .confirmation-prompt-container .content-container .content blockquote:before, .confirmation-prompt-container .content-container .content blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .confirmation-prompt-container .content-container .content blockquote:before {
        top: 0;
        left: 0; }
      .confirmation-prompt-container .content-container .content blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .confirmation-prompt-container .content-container .content blockquote img {
        float: left; }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .content blockquote img {
            text-align: left; } }
    .confirmation-prompt-container .content-container .content a[href^="tel:"], .confirmation-prompt-container .content-container .content a[href^="mailto:"] {
      font-weight: 700; }
      .confirmation-prompt-container .content-container .content a[href^="tel:"]:hover, .confirmation-prompt-container .content-container .content a[href^="mailto:"]:hover {
        text-decoration: none; }
      .confirmation-prompt-container .content-container .content a[href^="tel:"].show-contact-icon:before, .confirmation-prompt-container .content-container .content a[href^="mailto:"].show-contact-icon:before {
        display: inline-block;
        margin-right: 5px;
        font-family: "Font Awesome Solid"; }
    .confirmation-prompt-container .content-container .content a[href^="mailto:"].show-contact-icon:before {
      content: ""; }
    .confirmation-prompt-container .content-container .content a[href^="tel:"].show-contact-icon:before {
      content: "";
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .confirmation-prompt-container .content-container .content p a:not([class*="-button"]) {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 5px;
      font-weight: 700; }
    .confirmation-prompt-container .content-container .content p a:has([style*="float"]) {
      display: inline; }
    .confirmation-prompt-container .content-container .content a {
      text-decoration: underline; }
    .confirmation-prompt-container .content-container .content > p:first-of-type {
      position: relative; }
      @media print, screen and (max-width: 81.24875em) {
        .confirmation-prompt-container .content-container .content > p:first-of-type {
          padding-top: 24px; } }
    @media screen and (min-width: 81.25em) {
      .confirmation-prompt-container .content-container .content {
        margin-top: 0; } }
    .confirmation-prompt-container .content-container .content p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .confirmation-prompt-container .content-container .content p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 19px; }
        @media print, screen and (max-width: 81.24875em) {
          .confirmation-prompt-container .content-container .content p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .confirmation-prompt-container .content-container .prompt-button-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media screen and (min-width: 81.25em) {
      .confirmation-prompt-container .content-container .prompt-button-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button {
      margin: 0 45px 20px; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
        --component-specifc-step-height: 15px;
        width: 230px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        position: relative;
        margin: var(--common-button-small-margin, 10px 0);
        padding: var(--common-button-padding, 20px 10px);
        color: #01416f;
        background-color: #dffbe2;
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        border-color: #dadada;
        text-decoration: none;
        line-height: 1;
        border-radius: 0 !important;
        overflow: hidden;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (min-width: 40em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
            margin: var(--common-button-medium-margin, 10px 0); } }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success {
            width: 230px;
            margin: var(--common-button-large-margin, 0 0 20px); } }
        @media (hover: hover) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.hover {
            color: #ffffff;
            background-color: #12811f;
            border-color: #12811f;
            text-decoration: none;
            -webkit-transition: all 0.6s;
            transition: all 0.6s; }
            .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.hover .graduated-colour-edge .step {
              background-color: #ffffff;
              -webkit-transition: background-color 0.6s;
              transition: background-color 0.6s; } }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.active {
          background-color: #bbe8f7;
          border-color: #bbe8f7;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success[disabled] {
          color: #6d6d6d;
          background-color: #ffffff;
          border-color: #6d6d6d;
          cursor: not-allowed; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success.disabled:hover {
          border-color: #6d6d6d; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success:focus-visible {
          outline: none;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.success .graduated-colour-edge .step {
          -webkit-transition: background-color 0.8s;
          transition: background-color 0.8s; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
        --component-specifc-step-height: 15px;
        width: 230px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        position: relative;
        margin: var(--common-button-small-margin, 10px 0);
        padding: var(--common-button-padding, 20px 10px);
        color: #b20c0c;
        background-color: #fde1e1;
        border-width: 2px;
        font-size: 0.9375rem;
        font-weight: 700;
        text-align: center;
        border-style: solid;
        cursor: pointer;
        border-color: #dadada;
        text-decoration: none;
        line-height: 1;
        border-radius: 0 !important;
        overflow: hidden;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (min-width: 40em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
            margin: var(--common-button-medium-margin, 10px 0); } }
        @media screen and (min-width: 81.25em) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert {
            width: 230px;
            margin: var(--common-button-large-margin, 0 0 20px); } }
        @media (hover: hover) {
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.hover {
            color: #ffffff;
            background-color: #b20c0c;
            border-color: #b20c0c;
            text-decoration: none;
            -webkit-transition: all 0.6s;
            transition: all 0.6s; }
            .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.hover .graduated-colour-edge .step {
              background-color: #ffffff;
              -webkit-transition: background-color 0.6s;
              transition: background-color 0.6s; } }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.active {
          color: #ffffff;
          background-color: #bbe8f7;
          border-color: #bbe8f7;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning[disabled], .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert[disabled] {
          color: #6d6d6d;
          background-color: #ffffff;
          border-color: #6d6d6d;
          cursor: not-allowed; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning.disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert.disabled:hover {
          border-color: #6d6d6d; }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning:focus-visible, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert:focus-visible {
          outline: none;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.warning .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-proceed-button.alert .graduated-colour-edge .step {
          -webkit-transition: background-color 0.8s;
          transition: background-color 0.8s; }
    .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button {
      --component-specifc-step-height: 15px;
      width: 230px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative;
      margin: var(--common-button-small-margin, 0 22.5px 10px);
      padding: var(--common-button-padding, 20px 10px);
      color: #01416f;
      background-color: #ffffff;
      border-width: 2px;
      font-size: 0.9375rem;
      font-weight: 700;
      text-align: center;
      border-style: solid;
      cursor: pointer;
      border-color: #dadada;
      text-decoration: none;
      line-height: 1;
      border-radius: 0 !important;
      overflow: hidden;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
      @media screen and (min-width: 81.25em) {
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button {
          width: 230px;
          margin: var(--common-button-large-margin, 0 45px 20px); } }
      @media (hover: hover) {
        .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.hover {
          color: #ffffff;
          background-color: #dadada;
          border-color: #000000;
          text-decoration: none;
          -webkit-transition: all 0.6s;
          transition: all 0.6s; }
          .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:hover .graduated-colour-edge .step, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.hover .graduated-colour-edge .step {
            background-color: #ffffff;
            -webkit-transition: background-color 0.6s;
            transition: background-color 0.6s; } }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:active, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.active {
        color: #ffffff;
        background-color: #01416f;
        border-color: #01416f;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.disabled, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button[disabled] {
        color: #6d6d6d;
        background-color: #ffffff;
        border-color: #6d6d6d;
        cursor: not-allowed; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:disabled:hover, .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button.disabled:hover {
        border-color: #6d6d6d; }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button:focus-visible {
        outline: none;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
      .confirmation-prompt-container .content-container .prompt-button-container .prompt-cancel-button .graduated-colour-edge .step {
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }

.confirmation-prompt-container .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .confirmation-prompt-container .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .confirmation-prompt-container .close-button:hover:before {
    color: #01416f;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .confirmation-prompt-container .close-button:active:before {
    color: #67156a;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.confirmation-container {
  width: 100%;
  display: block;
  padding: 15px 10px;
  margin: 30px 0 0;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 600; }
  @media print, screen and (min-width: 40em) {
    .confirmation-container {
      padding: 15px 30px; } }
  .confirmation-container.margin-bottom {
    margin-bottom: 50px; }
  .confirmation-container.success {
    background-color: #dffbe2;
    color: #12811f; }
  .confirmation-container.warning {
    background-color: #ffefe6;
    color: #ff5e05; }
  .confirmation-container.alert {
    background-color: #fef0f0;
    color: #b20c0c; }

/*
----- Header -----
Handles the following: 
- Upper + lower navigation bars.
- Site logo
- Header sticky functionality:
  - Full
  - Minified
  - No Top Bar
  - Menu
- VAT Switcher
- Breadcrumbs
- Basket Summary 
- Callouts in the header to modify callout see axis-notification.scss
- Predictive search positioning to modify search style then go to axis-autocomplete.scss
- USP bar which is essentially a module.
- Welcome Text
- Tag lines
- TODO: I am currently in the process of trying to untangle the mega menu css + make it more generic and rehome it inside of axis-menus.scss
*/
header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0; }
  @media screen and (min-width: 81.25em) {
    header {
      margin: 0; } }
  header [data-axis-sticky] {
    z-index: 2000; }
    header [data-axis-sticky].is-stuck .header-container {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
      @media print, screen and (max-width: 81.24875em) {
        header [data-axis-sticky].is-stuck .header-container {
          position: fixed;
          top: 0;
          left: 0;
          z-index: 2000; }
          header [data-axis-sticky].is-stuck .header-container:before {
            width: 0;
            -webkit-transition: width 1.5s ease-out;
            transition: width 1.5s ease-out; } }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="NoTopBar"] .header-top-bar-container {
        max-height: 0;
        overflow: hidden;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-top-bar-container {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content {
        min-height: auto; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-container {
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-left {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-left .menu > li > a {
          margin-top: 0;
          margin-bottom: 0;
          padding: 0;
          -webkit-transition: margin-top 0.6s, margin-bottom 0.8s;
          transition: margin-top 0.6s, margin-bottom 0.8s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-center {
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container {
        height: 45px;
        margin: 5px 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container .logo-full-size {
          display: none; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .logo-container .logo-minified {
          width: 120px;
          display: block;
          padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-content-right {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        padding: 0; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-account-button {
        padding: 3.5px 7.75px;
        -webkit-transition: padding 0.6s;
        transition: padding 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container {
        -webkit-box-flex: 0;
            -ms-flex: 0;
                flex: 0;
        margin-top: auto;
        margin-bottom: auto; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .basket-desktop-summary {
          height: 45px; }
          header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .basket-desktop-summary:after {
            height: 45px;
            padding: 4px 23px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] #action-bar-container .bubble-container {
          top: 45px; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container {
        margin-top: auto;
        margin-bottom: auto; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .header-predictive-search .callbackContainer {
          height: 45px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .ajax-search {
          height: 45px; }
          header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-search-container .ajax-search + button {
            height: 45px; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-tag-line-container {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-welcome-text-container {
        display: none; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-welcome-text-container + #action-bar-container {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container > div {
          height: 45px; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-call-to-action-container a {
          min-height: unset; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .home-button a {
        padding-top: 0;
        padding-bottom: 0; }
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .home-button a:before {
          font-size: 14.16667px;
          padding: 0 0;
          -webkit-transition: padding 0.6s, font-size 0.6s;
          transition: padding 0.6s, font-size 0.6s; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .menu > li:not(.home-button) > a {
        padding-top: 15px;
        padding-bottom: 15px; }
      @media screen and (min-width: 81.25em) {
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Minify"] .header-menus-inner-container .menu > li > a.has-link-image .link-image {
          width: 22.5px;
          height: 22.5px;
          -webkit-transition: width 0.6s, height 0.6s;
          transition: width 0.6s, height 0.6s; } }
      @media screen and (min-width: 81.25em) {
        header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .header-top-bar-container, header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .header-content-container {
          display: none; } }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .logo-container .logo-full-size {
        display: none; }
      header [data-axis-sticky].is-stuck .header-container[data-sticky-type="Menu"] .logo-container .logo-minified {
        width: 120px;
        display: block; }

header .header-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background-color: #01416f; }
  @media print, screen and (max-width: 81.24875em) {
    header .header-container:before {
      content: '';
      width: 99%;
      height: 2px;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #01416f;
      -webkit-transition: width 0.8s;
      transition: width 0.8s; } }
  @media screen and (min-width: 81.25em) {
    header .header-container {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      border-bottom: 0; } }

.header-mobile-toggle-bar {
  max-width: 70%;
  margin-left: auto; }
  @media print, screen and (max-width: 81.24875em) {
    .header-mobile-toggle-bar {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }
  @media print, screen and (min-width: 40em) {
    .header-mobile-toggle-bar {
      max-width: none;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  @media screen and (min-width: 81.25em) {
    .header-mobile-toggle-bar {
      display: none; } }
  .header-mobile-toggle-bar ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    list-style: none;
    margin: 0;
    padding: 0; }
    .header-mobile-toggle-bar ul li {
      position: relative; }
  .header-mobile-toggle-bar a, .header-mobile-toggle-bar button {
    width: 35px;
    height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 2.5px;
    cursor: pointer; }
    @media print, screen and (min-width: 40em) {
      .header-mobile-toggle-bar a, .header-mobile-toggle-bar button {
        padding: 0 30px; } }
    .header-mobile-toggle-bar a:before, .header-mobile-toggle-bar button:before {
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .header-mobile-toggle-bar a:hover, .header-mobile-toggle-bar button:hover {
      text-decoration: none; }
      .header-mobile-toggle-bar a:hover:before, .header-mobile-toggle-bar button:hover:before {
        color: #e5007d;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .header-mobile-toggle-bar a[href^="tel:"]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    line-height: 22px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar a[href^="tel:"]:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar a[href^="mailto:"]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar a[href^="mailto:"]:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-search:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar .header-toggle-search:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-basket:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar .header-toggle-basket:before {
        font-size: 24px; } }
  .header-mobile-toggle-bar .header-toggle-basket.warning:before {
    content: "";
    font-family: "fontello"; }
  .header-mobile-toggle-bar .header-toggle-basket.alert:before {
    content: "";
    font-family: "fontello"; }
  .header-mobile-toggle-bar .header-toggle-mega-menu:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 25px; }
    @media screen and (min-width: 81.25em) {
      .header-mobile-toggle-bar .header-toggle-mega-menu:before {
        font-size: 30px; } }
  .header-mobile-toggle-bar .header-toggle-account {
    position: relative; }
    .header-mobile-toggle-bar .header-toggle-account:before {
      content: "";
      font-size: 20px;
      font-family: "Font Awesome Solid"; }

.header-mobile-menu {
  max-height: 0;
  width: 100%;
  overflow: hidden;
  background-color: #ffffff;
  z-index: 2000;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media print, screen and (max-width: 81.24875em) {
    .header-mobile-menu {
      position: fixed;
      top: 0;
      left: 0;
      border-radius: 0 0 0 0; } }
  @media screen and (min-width: 81.25em) {
    .header-mobile-menu {
      max-height: none;
      background-color: transparent;
      z-index: auto;
      overflow: visible; } }
  .header-mobile-menu.animate {
    max-height: 80vh;
    padding-bottom: 50px;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    border-bottom-color: #01416f;
    border-width: 0 0 6px 0;
    border-style: solid;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .header-mobile-menu.active {
    overflow-y: auto; }
  .header-mobile-menu .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 25px 10px; }
    @media print, screen and (max-width: 81.24875em) {
      .header-mobile-menu .content-container ul.menu > li > a {
        padding: 7.5px 5px 7.5px 16px;
        text-transform: none; } }
    @media screen and (min-width: 81.25em) {
      .header-mobile-menu .content-container {
        padding: 0; } }

.header-top-bar-container {
  width: 100%;
  display: none; }
  @media screen and (min-width: 81.25em) {
    .header-top-bar-container {
      display: block; } }

.header-content-container {
  max-width: 34%;
  position: relative;
  padding: 0; }
  @media print, screen and (max-width: 81.24875em) {
    .header-content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  @media print, screen and (min-width: 40em) {
    .header-content-container {
      max-width: none;
      padding: 0 10px; } }
  @media screen and (min-width: 81.25em) {
    .header-content-container {
      max-width: 1300px;
      width: 100%;
      display: grid;
      display: -ms-grid;
      grid-template-columns: 1fr 47.7% 28.5%;
      grid-template-rows: 1fr;
      margin: auto;
      padding: 0; } }
  @media screen and (min-width: 100em) {
    .header-content-container {
      max-width: 1300px; } }
  @media screen and (min-width: 120em) {
    .header-content-container {
      max-width: 1300px; } }

@media print, screen and (max-width: 81.24875em) {
  .header-content-left > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile), .header-content-center > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile), .header-content-right > div:not(.logo-container):not(#action-bar-container):not(.header-search-container):not(.header-component-show-mobile) {
    display: none; } }

@media screen and (min-width: 81.25em) {
  .header-content-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    grid-row: 1 / span 2;
    -ms-grid-row-span: 2;
    -ms-grid-column: 1; } }

.header-content-left .menu, .header-content-left .dropdown.menu {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: auto 0; }
  .header-content-left .menu > li, .header-content-left .dropdown.menu > li {
    padding: 0; }
    .header-content-left .menu > li > a, .header-content-left .dropdown.menu > li > a {
      padding: 15px 10px; }

.header-content-left .menu-container ul > li > a, .header-content-left .mega-menu-container > ul > li > a {
  color: #000000;
  font-weight: 400; }

.header-content-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 81.25em) {
    .header-content-center {
      padding: 0; } }
  @media screen and (min-width: 81.25em) {
    .header-content-center .menu-container {
      margin: 0; } }
  .header-content-center .menu > li > a, .header-content-center .dropdown.menu > li > a {
    padding: 0; }

.header-content-right {
  position: relative;
  left: inherit; }
  @media screen and (min-width: 81.25em) {
    .header-content-right {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -ms-grid-row: 2;
      -ms-grid-column: 3; } }
  .header-content-right .menu-container > ul > li > a {
    padding: 15px 10px;
    color: #000000;
    font-weight: 400; }

.logoContainer, .logo-container {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: normal;
      -ms-flex-pack: normal;
          justify-content: normal;
  padding: 0 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .logoContainer, .logo-container {
      padding: 0 10px 0 0; } }
  .logoContainer a, .logo-container a {
    max-width: 50vw;
    display: block;
    margin: 5px 0; }
    @media screen and (min-width: 81.25em) {
      .logoContainer a, .logo-container a {
        margin: 0; } }
  .logoContainer img, .logo-container img {
    width: 280px; }
    @media screen and (min-width: 81.25em) {
      .logoContainer img, .logo-container img {
        width: 280px;
        height: auto;
        margin: 0; } }
  .logoContainer .logoMinified, .logoContainer .logo-minified, .logo-container .logoMinified, .logo-container .logo-minified {
    display: none; }
    @media screen and (min-width: 81.25em) {
      .logoContainer .logoMinified, .logoContainer .logo-minified, .logo-container .logoMinified, .logo-container .logo-minified {
        display: none; } }

.header-tag-line-container {
  display: none; }
  .header-tag-line-container p {
    margin: 0;
    padding: 8px 0;
    color: #ffffff;
    font-weight: 400;
    font-size: 1rem;
    text-transform: none;
    letter-spacing: 0;
    line-height: normal;
    white-space: nowrap; }
    .header-tag-line-container p:is(:empty) {
      padding: 0; }
    @media screen and (min-width: 81.25em) {
      .header-tag-line-container p {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .header-tag-line-container {
      width: 100%;
      height: 54px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: center; } }

.header-tagline {
  display: none;
  margin: 0;
  padding: 8px 0;
  color: #ffffff;
  font-weight: 400;
  font-size: 1rem;
  text-transform: none;
  letter-spacing: 0;
  line-height: normal;
  white-space: nowrap; }
  @media screen and (min-width: 81.25em) {
    .header-tagline {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-preferred-size: 50px;
          flex-basis: 50px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: center; } }

.header-search-container {
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .header-search-container {
      -ms-grid-column: 2;
      padding: 0; } }
  @media print, screen and (max-width: 81.24875em) {
    .header-search-container.active .header-predictive-search .callbackContainer {
      width: 100%;
      position: relative; } }
  .header-search-container .header-predictive-search {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .header-search-container .header-predictive-search {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .header-search-container .header-predictive-search .callbackContainer {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin: 0;
      padding: 0; }
      @media screen and (min-width: 81.25em) {
        .header-search-container .header-predictive-search .callbackContainer {
          width: 100%;
          height: 50px;
          margin: auto; } }
    .header-search-container .header-predictive-search fieldset {
      margin: 0;
      padding: 0; }
  .header-search-container input[type=search] {
    width: 100%;
    height: 50px;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
    .header-search-container input[type=search]::-webkit-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::-moz-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]:-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::-ms-input-placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search]::placeholder {
      font-size: 1.0625rem;
      font-weight: 400; }
    .header-search-container input[type=search] + button {
      height: 50px;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
  .header-search-container #unibox-suggest-box {
    max-width: initial !important;
    width: calc(100% - 70px);
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
    @media print, screen and (max-width: 81.24875em) {
      .header-search-container #unibox-suggest-box {
        position: relative !important;
        top: 0 !important; } }
    .header-search-container #unibox-suggest-box a {
      display: block;
      padding: 0 0 0 25px;
      color: #484848; }
    .header-search-container #unibox-suggest-box .unibox-selectable {
      padding-left: 0; }
      .header-search-container #unibox-suggest-box .unibox-selectable:hover {
        background-color: #eeeeee; }
        .header-search-container #unibox-suggest-box .unibox-selectable:hover a {
          color: #01416f;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
          .header-search-container #unibox-suggest-box .unibox-selectable:hover a span, .header-search-container #unibox-suggest-box .unibox-selectable:hover a .unibox-highlight {
            color: #67156a;
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
      .header-search-container #unibox-suggest-box .unibox-selectable:active a {
        color: #484848; }
      .header-search-container #unibox-suggest-box .unibox-selectable span, .header-search-container #unibox-suggest-box .unibox-selectable .unibox-highlight {
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .header-search-container .ac-results {
      width: 700px;
      margin-left: -40px; } }
  .header-search-container .results-content-container {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .header-search-container .results-content-container {
        padding: 54px 40px 0 40px; } }

.header-predictive-search .ac-results {
  position: absolute;
  top: 0; }
  @media print, screen and (max-width: 81.24875em) {
    .header-predictive-search .ac-results {
      position: relative !important;
      margin-top: 15px; } }
  .header-predictive-search .ac-results li {
    position: relative; }
    .header-predictive-search .ac-results li:not(:first-child):hover a.ac_results_entry:before {
      content: '\f0de';
      position: absolute;
      top: 0;
      bottom: 0;
      left: -5px;
      margin: auto;
      display: inline-block;
      font-family: "Font Awesome Solid";
      color: #67156a;
      -webkit-transform: rotate(92deg);
              transform: rotate(92deg); }
    .header-predictive-search .ac-results li .no-results {
      display: block;
      margin-left: 15px;
      padding: 5px 0; }

.header-predictive-search .heading2 {
  margin-bottom: 10px;
  font-size: 0.9375rem;
  font-weight: 700;
  font-style: italic;
  color: #01416f; }

.header-predictive-search .heading4 {
  margin-bottom: 3px;
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 6px 15px;
  background-color: #01416f;
  color: #ffffff; }

.header-predictive-search .ac_results_entry {
  display: block;
  padding: 5px 0;
  margin-left: 15px;
  font-size: 0.9375rem;
  text-decoration: none;
  color: #000000; }

.header-call-to-action-container {
  display: none; }
  @media screen and (min-width: 81.25em) {
    .header-call-to-action-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  .header-call-to-action-container .not-logged-in-container {
    height: 50px; }
    @media screen and (min-width: 81.25em) {
      .header-call-to-action-container .not-logged-in-container {
        max-width: 255px;
        width: 100%;
        margin-left: auto; } }
    @media screen and (min-width: 81.25em) {
      .header-call-to-action-container .not-logged-in-container a {
        max-height: none;
        min-height: 50px; } }

#action-bar-container {
  height: 50px; }

@media screen and (min-width: 81.25em) {
  .header-basket-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    text-align: right; } }

.header-basket-container.active .summary-recently-added {
  max-height: 80vh;
  -webkit-transition: max-height 0.6s;
  transition: max-height 0.6s; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container.active .summary-recently-added {
      max-height: 500px; } }

.header-basket-container.warning .basket-desktop-summary {
  background-color: rgba(103, 21, 106, 0.2); }
  .header-basket-container.warning .basket-desktop-summary:after {
    content: "";
    font-family: "fontello";
    background-color: #67156a;
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:hover .basket-details-info {
    color: #ffffff;
    font-weight: 700; }
  .header-basket-container.warning .basket-desktop-summary:hover:after {
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:active .basket-details-info {
    color: #ffffff; }
  .header-basket-container.warning .basket-desktop-summary:active:after {
    color: #ffffff; }

.header-basket-container.warning .basket-mobile-summary .basket-icon:before {
  content: "";
  font-family: "fontello";
  color: #ff5e05; }

.header-basket-container.warning .mobile-summary-message-container, .header-basket-container.warning .text-notification-container {
  background-color: rgba(103, 21, 106, 0.2);
  color: #67156a;
  border: 1px solid #67156a; }

.header-basket-container.warning .basket-details-info {
  font-weight: 700;
  color: #67156a; }

.header-basket-container.alert .basket-desktop-summary {
  background-color: #fde1e1; }
  .header-basket-container.alert .basket-desktop-summary:after {
    content: "";
    font-family: "fontello";
    background-color: #b20c0c;
    color: #ffffff; }
  .header-basket-container.alert .basket-desktop-summary:hover .basket-details-info {
    color: #ffffff;
    font-weight: 700; }
  .header-basket-container.alert .basket-desktop-summary:hover:after {
    color: #ffffff; }
  .header-basket-container.alert .basket-desktop-summary:active .basket-details-info {
    color: #ffffff; }
  .header-basket-container.alert .basket-desktop-summary:active:after {
    color: #ffffff; }

.header-basket-container.alert .basket-mobile-summary .basket-icon:before {
  content: "";
  font-family: "fontello";
  color: #b20c0c; }

.header-basket-container.alert .mobile-summary-message-container, .header-basket-container.alert .text-notification-container {
  background-color: #fde1e1;
  color: #b20c0c;
  border: 1px solid #b20c0c; }

.header-basket-container.alert .basket-details-info {
  font-weight: 700;
  color: #b20c0c; }

.header-basket-container .summary-recently-added {
  width: 100%;
  max-height: 0px;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 5000;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .summary-recently-added {
      width: 400px;
      left: auto; } }
  .header-basket-container .summary-recently-added .content-container {
    border-radius: 0 0 0 0;
    background-color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    border-bottom-color: #01416f;
    border-width: 0 0 6px 0;
    border-style: solid; }
  .header-basket-container .summary-recently-added a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 15px 5px; }
    .header-basket-container .summary-recently-added a:hover .basket-icon:before {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:hover .update-message {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-basket-container .summary-recently-added a:active .basket-icon:before {
      color: #01416f; }
    .header-basket-container .summary-recently-added a:active .update-message {
      color: #01416f; }
    .header-basket-container .summary-recently-added a .basket-icon {
      position: relative; }
      .header-basket-container .summary-recently-added a .basket-icon:before {
        content: "";
        font-family: "Font Awesome Solid";
        font-size: 26px;
        color: #1281bf; }
    .header-basket-container .summary-recently-added a .update-message {
      padding: 10px 60px 0;
      font-size: 0.9375rem;
      font-weight: 600;
      text-align: center; }

@media screen and (min-width: 81.25em) {
  .header-basket-container [data-basket-summary-notifications] {
    width: 300px;
    position: absolute;
    top: 100%;
    z-index: 10; } }

.header-basket-container .basket-desktop-summary {
  width: 255px;
  height: 50px;
  position: relative;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-color: #2f6589;
  border-radius: 0;
  font-size: 0.875rem;
  text-decoration: none;
  opacity: 1;
  -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
  transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .basket-desktop-summary {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .header-basket-container .basket-desktop-summary:hover {
    color: #ffffff;
    -webkit-transition: color 0.6s, border-color 0.6s, background-color 0.6s;
    transition: color 0.6s, border-color 0.6s, background-color 0.6s; }
    .header-basket-container .basket-desktop-summary:hover:after {
      width: 100%;
      color: #ffffff;
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
      -webkit-transition: all 0.6s;
      transition: all 0.6s;
      z-index: 2; }
    .header-basket-container .basket-desktop-summary:hover .basket-details-info {
      color: #ffffff;
      font-weight: 600; }
  .header-basket-container .basket-desktop-summary:active .basket-details-info {
    color: #67156a; }
  .header-basket-container .basket-desktop-summary:active:after {
    color: #ffffff; }
  .header-basket-container .basket-desktop-summary:after {
    content: "";
    width: 72px;
    height: 50px;
    position: absolute;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 9px 23px;
    font-family: "Font Awesome Solid";
    font-size: 22px;
    color: #ffffff;
    border-width: 0;
    border-style: solid;
    border-color: #ffffff;
    background-color: #00adef;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }

.header-basket-container .basket-details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  z-index: 10; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .basket-details {
      width: 185px; } }
  .header-basket-container .basket-details:before {
    content: '';
    width: 1.5px;
    height: 0;
    position: absolute;
    top: 0;
    right: 70px;
    bottom: 0;
    margin: auto;
    display: block;
    background-color: #ffffff;
    -webkit-transition: height 0.8s;
    transition: height 0.8s; }

.header-basket-container .basket-details-info {
  color: #ffffff;
  font-weight: 400; }
  .header-basket-container .basket-details-info.basket-details-quantity span {
    margin-right: 5px; }
  .header-basket-container .basket-details-info.basket-details-price {
    margin-left: 20px; }

.header-basket-container .basket-mobile-summary {
  border-radius: 0 0 0 0; }
  @media screen and (min-width: 81.25em) {
    .header-basket-container .basket-mobile-summary {
      display: none; } }
  .header-basket-container .basket-mobile-summary .basket-icon {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-basket-container .basket-mobile-summary .basket-icon:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 40px;
      line-height: 1;
      color: #01416f; }
  .header-basket-container .basket-mobile-summary .summary-order-total {
    margin-bottom: 30px;
    font-size: 1.375rem;
    font-weight: 700;
    text-align: center;
    color: #01416f; }
  .header-basket-container .basket-mobile-summary .summary-quantity {
    margin: 20px 0 25px;
    padding: 0;
    font-size: 1.0625rem;
    text-align: center; }
    .header-basket-container .basket-mobile-summary .summary-quantity span {
      margin-right: 5px;
      color: #01416f;
      font-weight: 700; }
  .header-basket-container .basket-mobile-summary .action-button {
    margin: 0; }
  .header-basket-container .basket-mobile-summary .mobile-summary-message-container, .header-basket-container .basket-mobile-summary .text-notification-container {
    margin-top: 15px;
    padding: 20px;
    font-size: 1.0625rem;
    font-weight: 700;
    text-align: center; }

.summary:hover .textContainer:before {
  content: '';
  height: 85%;
  -webkit-transition: height 0.6s;
  transition: height 0.6s; }

.summary:hover .textContainer #basketQuantity, .summary:hover .textContainer #basketPreviewPrice {
  color: #ffffff;
  font-weight: 600; }

.summary:after {
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }

.summary #basketPreviewPrice {
  margin-left: 20px; }

#basketSummaryContainer {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
  @media screen and (min-width: 81.25em) {
    #basketSummaryContainer {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      text-align: right; } }
  #basketSummaryContainer.warning .summary {
    background-color: rgba(103, 21, 106, 0.2); }
    #basketSummaryContainer.warning .summary:after {
      content: "";
      font-family: "fontello";
      background-color: #67156a; }
  #basketSummaryContainer.warning #basketPreview .basketPreviewHeading:after {
    content: "";
    font-family: "fontello";
    color: #ff5e05; }
  #basketSummaryContainer.warning .mobile-summary-message-container, #basketSummaryContainer.warning .text-notification-container {
    background-color: rgba(103, 21, 106, 0.2);
    color: #67156a;
    border: 1px solid #67156a; }
  #basketSummaryContainer.warning .summary-message-container {
    border-color: #67156a; }
    #basketSummaryContainer.warning .summary-message-container:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 8px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #67156a;
      border-top: 0;
      margin-top: -8px;
      margin-left: -8px; }
    #basketSummaryContainer.warning .summary-message-container:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 6px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: rgba(103, 21, 106, 0.2);
      border-top: 0;
      margin-top: -5px;
      margin-left: -6px; }
    #basketSummaryContainer.warning .summary-message-container .content-container {
      background-color: rgba(103, 21, 106, 0.2); }
      #basketSummaryContainer.warning .summary-message-container .content-container:before {
        content: "";
        color: #67156a; }
    #basketSummaryContainer.warning .summary-message-container p {
      color: #67156a; }
  #basketSummaryContainer.warning #basketQuantity, #basketSummaryContainer.warning #basketPreviewPrice {
    color: #67156a; }
  #basketSummaryContainer.alert .summary {
    background-color: #fde1e1; }
    #basketSummaryContainer.alert .summary:after {
      content: "";
      font-family: "fontello";
      background-color: #b20c0c; }
  #basketSummaryContainer.alert #basketPreview .basketPreviewHeading:after {
    content: "";
    font-family: "fontello";
    color: #b20c0c; }
  #basketSummaryContainer.alert .mobile-summary-message-container, #basketSummaryContainer.alert .text-notification-container {
    background-color: #fde1e1;
    color: #b20c0c;
    border: 1px solid #b20c0c; }
  #basketSummaryContainer.alert .summary-message-container {
    border-color: #b20c0c; }
    #basketSummaryContainer.alert .summary-message-container:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 8px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #b20c0c;
      border-top: 0;
      margin-top: -8px;
      margin-left: -8px; }
    #basketSummaryContainer.alert .summary-message-container:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 6px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #fde1e1;
      border-top: 0;
      margin-top: -5px;
      margin-left: -6px; }
    #basketSummaryContainer.alert .summary-message-container .content-container {
      background-color: #fde1e1; }
      #basketSummaryContainer.alert .summary-message-container .content-container:before {
        content: "";
        color: #b20c0c; }
    #basketSummaryContainer.alert .summary-message-container p {
      color: #b20c0c; }
  #basketSummaryContainer.alert #basketQuantity, #basketSummaryContainer.alert #basketPreviewPrice {
    color: #b20c0c; }
  @media print, screen and (max-width: 81.24875em) {
    #basketSummaryContainer .not-logged-in-container {
      display: none; } }
  #basketSummaryContainer .mobile-summary-message-container, #basketSummaryContainer .text-notification-container {
    margin-top: 15px;
    padding: 20px;
    font-size: 1.0625rem;
    font-weight: 700; }
  @media print, screen and (max-width: 81.24875em) {
    #basketSummaryContainer.active {
      display: block;
      max-height: 370px;
      width: 100%;
      position: fixed;
      top: 0;
      left: 0; }
      #basketSummaryContainer.active #basketPreview {
        max-height: 570px;
        padding: 25px 10px 60px;
        padding-bottom: 50px;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        border-bottom-color: #01416f;
        border-width: 0 0 6px 0;
        border-style: solid;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s;
        opacity: 1;
        z-index: 5000; } }
  @media screen and (min-width: 81.25em) {
    #basketSummaryContainer.active #basketPreview {
      max-height: 460px;
      padding: 20px 30px 30px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      padding-bottom: 50px;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-bottom-color: #01416f;
      border-width: 0 0 6px 0;
      border-style: solid;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s;
      opacity: 1;
      z-index: 5000; } }
  #basketSummaryContainer #recentlyAdded {
    display: none; }
    #basketSummaryContainer #recentlyAdded h3 {
      margin-top: 30px;
      padding: 10px 60px 0;
      color: #000000;
      font-weight: 600;
      font-size: 0.9375rem;
      text-align: center; }
  #basketSummaryContainer.update.active #basketPreview {
    display: none; }
  @media screen and (min-width: 81.25em) {
    #basketSummaryContainer .not-logged-in-container {
      width: 255px;
      height: 50px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      margin: auto; }
      #basketSummaryContainer .not-logged-in-container a {
        max-height: 50px; } }
  #basketSummaryContainer .bubble-container {
    display: none; }
    @media screen and (min-width: 81.25em) {
      #basketSummaryContainer .bubble-container {
        width: 255px;
        max-height: 0;
        position: absolute;
        top: 100px;
        right: 0;
        display: inherit;
        overflow: hidden;
        -webkit-transition: max-height 0.8s;
        transition: max-height 0.8s; } }
    #basketSummaryContainer .bubble-container.active {
      max-height: 300px;
      height: auto;
      -webkit-transition: max-height 0.6s;
      transition: max-height 0.6s; }
  #basketSummaryContainer .summary-message-container {
    position: relative;
    display: inherit;
    margin-top: 10px;
    background-color: #ffffff;
    border-width: 2px;
    border-style: solid;
    border-color: #01416f; }
    #basketSummaryContainer .summary-message-container .content-container {
      padding: 14px 20px; }
      #basketSummaryContainer .summary-message-container .content-container:before {
        content: "";
        display: block;
        margin-bottom: 5px;
        font-size: 20px;
        font-family: "Font Awesome Solid";
        text-align: center;
        color: #01416f; }
    #basketSummaryContainer .summary-message-container p {
      margin: 0;
      padding: 0;
      text-align: center;
      text-transform: uppercase;
      font-size: 0.875rem;
      font-weight: 700;
      color: #01416f; }

.header-welcome-text-container {
  display: none;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
  @media screen and (min-width: 81.25em) {
    .header-welcome-text-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -ms-flex-preferred-size: 54px;
          flex-basis: 54px; } }
  .header-welcome-text-container .text-container {
    margin: 0;
    text-align: right; }
    .header-welcome-text-container .text-container p {
      margin: 0;
      padding: 0;
      font-size: 0.9375rem;
      font-weight: 400;
      font-style: normal;
      font-family: "Khula", "Khula Fallback", "Arial";
      color: #ffffff; }
  .header-welcome-text-container + #action-bar-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .header-welcome-text-container + .header-call-to-action-container {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }

.header-menus-outer-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .header-menus-outer-container {
      max-height: none;
      padding: 0;
      background-color: #e5007d;
      border-radius: 0;
      visibility: visible;
      overflow: visible; } }
  @media screen and (min-width: 81.25em) {
    .header-menus-outer-container.active {
      position: relative;
      z-index: 1; } }
  .header-menus-outer-container .content-container > ul > li > a {
    font-size: 1.25rem;
    font-weight: 700; }
  .header-menus-outer-container .content-container > ul > li > ul > li > a {
    font-size: 1.0625rem;
    font-weight: 600; }
  .header-menus-outer-container .content-container > ul > li > ul > li ul > > li a {
    font-size: 1.0625rem;
    font-weight: 400; }

.header-menus-inner-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media screen and (min-width: 81.25em) {
    .header-menus-inner-container {
      max-width: 1300px;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: auto; } }
  .header-menus-inner-container ul.accordion-menu > li:hover {
    background-color: #01416f; }
    .header-menus-inner-container ul.accordion-menu > li:hover > a {
      color: #ffffff; }
  .header-menus-inner-container ul.accordion-menu > li > a {
    color: #01416f;
    font-weight: 700;
    font-size: 1.25rem;
    text-align: center;
    text-transform: none; }
  .header-menus-inner-container ul.accordion-menu > li > ul {
    padding: 0 0 17.5px; }
    @media print, screen and (max-width: 81.24875em) {
      .header-menus-inner-container ul.accordion-menu > li > ul > li:not(.is-accordion-submenu-parent) > a {
        padding-left: 36px; } }
    .header-menus-inner-container ul.accordion-menu > li > ul > li.is-active.is-dropdown-submenu-parent > a:after, .header-menus-inner-container ul.accordion-menu > li > ul > li.is-dropdown-submenu-parent > a:after {
      content: ''; }
    .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a {
      color: #000000;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 5px 5px 5px 16px;
      font-size: 1.0625rem;
      font-weight: 400; }
      .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:hover, .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:hover:before {
        color: #67156a; }
      .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:active, .header-menus-inner-container ul.accordion-menu > li > ul > li > ul > li > a:active:before {
        color: #01416f; }
  .header-menus-inner-container ul.menu.mega-menu > li, .header-menus-inner-container ul.menu.dropdown > li {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .header-menus-inner-container ul.menu.mega-menu > li, .header-menus-inner-container ul.menu.dropdown > li {
        padding: 0; } }
    @media screen and (min-width: 81.25em) {
      .header-menus-inner-container ul.menu.mega-menu > li.home-button a, .header-menus-inner-container ul.menu.dropdown > li.home-button a {
        padding: 0; } }
  @media screen and (min-width: 81.25em) {
    .header-menus-inner-container ul.menu.mega-menu .is-dropdown-submenu-parent, .header-menus-inner-container ul.menu.dropdown .is-dropdown-submenu-parent {
      position: static; } }

.header-menu-left-container {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }

.header-menu-right-container, .header-menu-left-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

@media screen and (min-width: 81.25em) {
  .header-menu-right-container {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; } }

.header-toggle-bar-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0 12.5px; }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container {
      position: relative; } }
  @media print, screen and (max-width: 81.24875em) {
    .header-toggle-bar-container.toggle-bar-inactive-mobile {
      gap: 0; } }
  .header-toggle-bar-container .header-toggle-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-toggle-bar-container .header-toggle-container.align-items-parent {
      position: static; }
  .header-toggle-bar-container .toggle-button-container .toggle-button {
    min-height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: auto;
    padding: 3.5px 7.75px;
    cursor: pointer;
    border-radius: 0; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:before {
      color: #01416f;
      font-size: 20px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:hover:before {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .header-toggle-bar-container .toggle-button-container .toggle-button:active:before {
      color: #1281bf; }
  .header-toggle-bar-container .toggle-button-container.search .toggle-button:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button .basket-item-count {
    position: absolute;
    top: 2px;
    left: 26px;
    padding: 2px 4.5px;
    display: block;
    background-color: #e5b701;
    color: #01416f;
    font-size: 0.6875rem;
    font-family: "Khula", "Khula Fallback", "Arial";
    font-weight: 700;
    border-radius: 25px;
    border: 2px solid #e5b701;
    -webkit-transition: color 0.8s, border-color 0.8s, 0.8s;
    transition: color 0.8s, border-color 0.8s, 0.8s; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:hover .basket-item-count {
    background-color: #ffffff;
    border-color: #67156a;
    color: #67156a;
    -webkit-transition: color 0.6s, 0.6s, background-color 0.6s;
    transition: color 0.6s, 0.6s, background-color 0.6s; }
  .header-toggle-bar-container .toggle-button-container.action-bar .toggle-button:active .basket-item-count {
    background-color: #01416f;
    color: #ffffff;
    border-color: #01416f; }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.search {
      width: 0;
      position: absolute;
      overflow: hidden; } }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.search.active {
      width: 490px;
      right: -12px;
      overflow: visible; } }
  .header-toggle-bar-container .toggle-content-container.account-menu {
    display: none; }
    @media screen and (min-width: 81.25em) {
      .header-toggle-bar-container .toggle-content-container.account-menu {
        width: 0;
        position: absolute;
        top: calc(100% + 10px);
        right: 0;
        display: block;
        overflow: hidden;
        background-color: #ffffff; } }
    @media screen and (min-width: 81.25em) {
      .header-toggle-bar-container .toggle-content-container.account-menu.active {
        width: 550px;
        right: 0;
        padding: 20px;
        overflow: visible; } }
    @media screen and (min-width: 81.25em) {
      .header-toggle-bar-container .toggle-content-container.account-menu .account-menu {
        margin: 0;
        padding: 0;
        list-style: none; } }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.action-bar {
      width: 0;
      position: absolute;
      right: -16px;
      overflow: hidden; } }
  @media screen and (min-width: 81.25em) {
    .header-toggle-bar-container .toggle-content-container.action-bar.active {
      width: 250px;
      overflow: visible; }
      .header-toggle-bar-container .toggle-content-container.action-bar.active .basket-desktop-summary:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; } }

.header-account-button {
  min-height: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
  padding: 3.5px 7.75px;
  color: #01416f;
  -webkit-transition: border-color 0.8s, background-color 0.8s, color 0.8s;
  transition: border-color 0.8s, background-color 0.8s, color 0.8s; }
  .header-account-button.logged-in {
    border: 1px solid #c8c8c8; }
  .header-account-button:hover {
    color: #dadada;
    border-color: #01416f;
    -webkit-transition: border-color 0.6s, background-color 0.6s, color 0.6s;
    transition: border-color 0.6s, background-color 0.6s, color 0.6s; }
    .header-account-button:hover:before {
      color: #67156a;
      -webkit-transition: color 0.6s, background-color 0.6s;
      transition: color 0.6s, background-color 0.6s; }
  .header-account-button:active {
    color: #eeeeee;
    border-color: #01416f; }
    .header-account-button:active:before {
      color: #1281bf; }
  .header-account-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 20px;
    color: #01416f;
    border-radius: 0;
    -webkit-transition: color 0.8s, background-color 0.8s;
    transition: color 0.8s, background-color 0.8s; }

.account-menu a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #000000;
  -webkit-transition: all 0.6s;
  transition: all 0.6s; }
  .account-menu a:hover {
    color: #01416f;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }

.usp-bar, .header-usp-bar {
  padding: 0;
  background-color: #1281bf; }
  @media screen and (min-width: 81.25em) {
    .usp-bar, .header-usp-bar {
      padding: 0; } }

.usp-container {
  width: 100%;
  background-color: #1281bf; }
  @media screen and (min-width: 81.25em) {
    .usp-container {
      padding: 0 10px; } }
  @media screen and (min-width: 120em) {
    .usp-container {
      padding: 0; } }
  .usp-container .usp-banner, .usp-container .collection-item {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
    @media print, screen and (min-width: 40em) {
      .usp-container .usp-banner, .usp-container .collection-item {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; } }
    .usp-container .usp-banner a, .usp-container .usp-banner p, .usp-container .collection-item a, .usp-container .collection-item p {
      text-transform: none;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .usp-container .usp-banner a, .usp-container .usp-banner > p, .usp-container .collection-item a, .usp-container .collection-item > p {
      border-width: 0;
      border-color: #01416f;
      border-style: solid;
      border-radius: 0; }
    .usp-container .usp-banner p, .usp-container .collection-item p {
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0;
      padding: 10px 5px;
      text-align: left;
      color: #ffffff;
      font-style: normal;
      font-size: 1.125rem;
      font-weight: 300; }
    .usp-container .usp-banner img, .usp-container .collection-item img {
      max-height: 26px;
      margin-top: auto;
      margin-bottom: auto;
      margin-right: 12px;
      aspect-ratio: var(--media-aspect-ratio, auto); }
    .usp-container .usp-banner a, .usp-container .collection-item a {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      padding: 10px 5px;
      -webkit-transition: opacity, background-color 0.8s;
      transition: opacity, background-color 0.8s; }
      .usp-container .usp-banner a:hover, .usp-container .collection-item a:hover {
        background-color: #0e6290;
        opacity: 0.6;
        -webkit-transition: opacity 0.6s, background-color 0.6s;
        transition: opacity 0.6s, background-color 0.6s; }
      .usp-container .usp-banner a:active, .usp-container .collection-item a:active {
        background-color: #094262; }
      .usp-container .usp-banner a p, .usp-container .collection-item a p {
        padding: 0; }
    @media screen and (min-width: 81.25em) {
      .usp-container .usp-banner[aria-hidden=false], .usp-container .collection-item[aria-hidden=false] {
        padding: 0 0; }
        .usp-container .usp-banner[aria-hidden=false]:first-of-type, .usp-container .collection-item[aria-hidden=false]:first-of-type {
          padding-left: 0; }
        .usp-container .usp-banner[aria-hidden=false]:last-of-type, .usp-container .collection-item[aria-hidden=false]:last-of-type {
          padding-right: 0; } }
  .usp-container .fas {
    margin-right: 10px; }

body:not(#home) .header-breadcrumbs-container {
  margin: 0; }
  body:not(#home) .header-breadcrumbs-container:not(:has(.breadcrumbs)) {
    padding: 7.5px; }

body:not(#home) .header-breadcrumb-vat-switcher-container:not(:has(.breadcrumbs)):not(:has(.header-toggle-switch-container)):not(:has(.vat-switcher-container)) {
  padding: 7.5px; }

.header-usp-bar + #breadcrumb-vat-switcher-container, .header-usp-bar + .header-breadcrumb-vat-switcher-container {
  padding-top: 10px; }
  .header-usp-bar + #breadcrumb-vat-switcher-container:has(.breadcrumbs), .header-usp-bar + #breadcrumb-vat-switcher-container:has(.header-toggle-switch-container), .header-usp-bar + .header-breadcrumb-vat-switcher-container:has(.breadcrumbs), .header-usp-bar + .header-breadcrumb-vat-switcher-container:has(.header-toggle-switch-container) {
    padding-top: 0; }
  @media screen and (min-width: 81.25em) {
    .header-usp-bar + #breadcrumb-vat-switcher-container, .header-usp-bar + .header-breadcrumb-vat-switcher-container {
      padding-top: 8px; } }

#breadcrumb-vat-switcher-container .vat-switcher-container, #breadcrumb-vat-switcher-container .breadcrumbs, #breadcrumb-vat-switcher-container .header-toggle-switch-container, .header-breadcrumb-vat-switcher-container .vat-switcher-container, .header-breadcrumb-vat-switcher-container .breadcrumbs, .header-breadcrumb-vat-switcher-container .header-toggle-switch-container {
  padding-top: 10px;
  padding-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    #breadcrumb-vat-switcher-container .vat-switcher-container, #breadcrumb-vat-switcher-container .breadcrumbs, #breadcrumb-vat-switcher-container .header-toggle-switch-container, .header-breadcrumb-vat-switcher-container .vat-switcher-container, .header-breadcrumb-vat-switcher-container .breadcrumbs, .header-breadcrumb-vat-switcher-container .header-toggle-switch-container {
      padding-top: 8px;
      padding-bottom: 15px; } }

#breadcrumb-vat-switcher-container .breadcrumbs li, .header-breadcrumb-vat-switcher-container .breadcrumbs li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 2.5px 0; }
  @media screen and (min-width: 81.25em) {
    #breadcrumb-vat-switcher-container .breadcrumbs li, .header-breadcrumb-vat-switcher-container .breadcrumbs li {
      margin: 0; } }

@media screen and (min-width: 81.25em) and (max-width: 99.99875em) {
  #breadcrumb-vat-switcher-container.grid-container, .header-breadcrumb-vat-switcher-container.grid-container {
    padding-right: 10px;
    padding-left: 10px; } }

.breadcrumbs {
  padding: 0; }
  .breadcrumbs a {
    text-decoration: none;
    font-size: 0.9375rem;
    font-weight: 400; }
  .breadcrumbs span {
    font-size: 0.9375rem;
    font-weight: 400; }
  .breadcrumbs li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .breadcrumbs li:after {
      margin: 0 5px !important;
      padding-top: 0.5px;
      font-family: "Font Awesome Solid";
      font-size: 10px; }
      @media screen and (min-width: 81.25em) {
        .breadcrumbs li:after {
          padding-top: 1px; } }

.toggle-switch-label-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; }
  .toggle-switch-label-container span {
    padding-right: 10px;
    font-weight: 700;
    font-size: 0.8125rem;
    color: #000000; }

.vat-switcher-container, .header-toggle-switch-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px; }
  .vat-switcher-container.vat-switcher.inclusive .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.inclusive .header-toggle-switch-paddle:before, .vat-switcher-container.vat-switcher.off .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.inclusive .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.inclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.off .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.off .header-toggle-switch-paddle:before {
    background-color: #5485cf; }
  .vat-switcher-container.vat-switcher.exclusive .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.exclusive .header-toggle-switch-paddle:before, .vat-switcher-container.vat-switcher.on .vat-switcher-paddle:before, .vat-switcher-container.vat-switcher.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.exclusive .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.exclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.vat-switcher.on .vat-switcher-paddle:before, .header-toggle-switch-container.vat-switcher.on .header-toggle-switch-paddle:before {
    background-color: #5485cf; }
  .vat-switcher-container.edit-mode.off .vat-switcher-paddle:before, .vat-switcher-container.edit-mode.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.edit-mode.off .vat-switcher-paddle:before, .header-toggle-switch-container.edit-mode.off .header-toggle-switch-paddle:before {
    background-color: #000000; }
  .vat-switcher-container.edit-mode.on .vat-switcher-paddle:before, .vat-switcher-container.edit-mode.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.edit-mode.on .vat-switcher-paddle:before, .header-toggle-switch-container.edit-mode.on .header-toggle-switch-paddle:before {
    background-color: #67156a; }
  .vat-switcher-container.inclusive .vat-switcher-paddle, .vat-switcher-container.inclusive .header-toggle-switch-paddle, .vat-switcher-container.off .vat-switcher-paddle, .vat-switcher-container.off .header-toggle-switch-paddle, .header-toggle-switch-container.inclusive .vat-switcher-paddle, .header-toggle-switch-container.inclusive .header-toggle-switch-paddle, .header-toggle-switch-container.off .vat-switcher-paddle, .header-toggle-switch-container.off .header-toggle-switch-paddle {
    padding-right: 32px; }
    .vat-switcher-container.inclusive .vat-switcher-paddle:before, .vat-switcher-container.inclusive .header-toggle-switch-paddle:before, .vat-switcher-container.off .vat-switcher-paddle:before, .vat-switcher-container.off .header-toggle-switch-paddle:before, .header-toggle-switch-container.inclusive .vat-switcher-paddle:before, .header-toggle-switch-container.inclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.off .vat-switcher-paddle:before, .header-toggle-switch-container.off .header-toggle-switch-paddle:before {
      right: 5px;
      background-color: #eeeeee; }
  .vat-switcher-container.inclusive .switch-exc, .vat-switcher-container.off .switch-exc, .header-toggle-switch-container.inclusive .switch-exc, .header-toggle-switch-container.off .switch-exc {
    display: none; }
  .vat-switcher-container.inclusive .switch, .vat-switcher-container.off .switch, .header-toggle-switch-container.inclusive .switch, .header-toggle-switch-container.off .switch {
    background-color: transparent;
    border-color: #aeaeae; }
  .vat-switcher-container.exclusive .vat-switcher-paddle, .vat-switcher-container.exclusive .header-toggle-switch-paddle, .vat-switcher-container.on .vat-switcher-paddle, .vat-switcher-container.on .header-toggle-switch-paddle, .header-toggle-switch-container.exclusive .vat-switcher-paddle, .header-toggle-switch-container.exclusive .header-toggle-switch-paddle, .header-toggle-switch-container.on .vat-switcher-paddle, .header-toggle-switch-container.on .header-toggle-switch-paddle {
    padding-left: 39px; }
    .vat-switcher-container.exclusive .vat-switcher-paddle:before, .vat-switcher-container.exclusive .header-toggle-switch-paddle:before, .vat-switcher-container.on .vat-switcher-paddle:before, .vat-switcher-container.on .header-toggle-switch-paddle:before, .header-toggle-switch-container.exclusive .vat-switcher-paddle:before, .header-toggle-switch-container.exclusive .header-toggle-switch-paddle:before, .header-toggle-switch-container.on .vat-switcher-paddle:before, .header-toggle-switch-container.on .header-toggle-switch-paddle:before {
      left: 5px;
      background-color: #484848; }
  .vat-switcher-container.exclusive .switch-inc, .vat-switcher-container.on .switch-inc, .header-toggle-switch-container.exclusive .switch-inc, .header-toggle-switch-container.on .switch-inc {
    display: none; }
  .vat-switcher-container.exclusive .switch, .vat-switcher-container.on .switch, .header-toggle-switch-container.exclusive .switch, .header-toggle-switch-container.on .switch {
    background-color: transparent;
    border-color: #aeaeae; }
  .vat-switcher-container .switch, .header-toggle-switch-container .switch {
    width: 34px;
    height: 16.19048px;
    margin: 0;
    border-width: 1px;
    border-style: solid;
    border-radius: 0;
    line-height: 0;
    -webkit-transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, background-color 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, background-color 0.8s, -webkit-box-shadow 0.8s; }
    .vat-switcher-container .switch:hover, .header-toggle-switch-container .switch:hover {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, box-shadow 0.6s, background-color 0.6s;
      transition: border-color 0.6s, box-shadow 0.6s, background-color 0.6s, -webkit-box-shadow 0.6s; }
  .vat-switcher-container .vat-switcher-paddle, .vat-switcher-container .header-toggle-switch-paddle, .header-toggle-switch-container .vat-switcher-paddle, .header-toggle-switch-container .header-toggle-switch-paddle {
    min-width: 14.78261px;
    height: 14.78261px;
    display: inline-block; }
    .vat-switcher-container .vat-switcher-paddle:before, .vat-switcher-container .header-toggle-switch-paddle:before, .header-toggle-switch-container .vat-switcher-paddle:before, .header-toggle-switch-container .header-toggle-switch-paddle:before {
      content: '';
      width: 8.09524px;
      height: 8.09524px;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      display: block;
      border-radius: 0;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
  .vat-switcher-container .switch-exc, .vat-switcher-container .switch-inc, .header-toggle-switch-container .switch-exc, .header-toggle-switch-container .switch-inc {
    position: relative;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 2; }
  .vat-switcher-container .switch-exc, .header-toggle-switch-container .switch-exc {
    right: 7px; }
  .vat-switcher-container .switch-inc, .header-toggle-switch-container .switch-inc {
    left: 5px; }
  .vat-switcher-container .switch-input, .header-toggle-switch-container .switch-input {
    width: 100%;
    padding: 0;
    margin: 0; }
  .vat-switcher-container p, .header-toggle-switch-container p {
    margin: 0;
    color: #959595;
    font-size: 0.8125rem;
    font-weight: 400; }
  .vat-switcher-container label, .header-toggle-switch-container label {
    cursor: pointer; }
    .vat-switcher-container label span, .header-toggle-switch-container label span {
      font-size: 0.8125rem;
      font-weight: 400; }

/*
----- Footer -----
Handles the following: 
- Footer menu ( also refer to axis-menus.scss )
- Promotion area:
  - Social Icons
  - Mailing List
  - Cms entries
- Footer Banners ( Payment method logos )
- Copyright
- Google Tag Manager footer widget area
- Footer Modules ( also refer to modules.scss )
*/
footer .row-background:first-of-type {
  margin-top: 10px; }

footer .socialIcons, footer .social-icons {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid #aeaeae; }
  @media screen and (min-width: 81.25em) {
    footer .socialIcons, footer .social-icons {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin: 0 0 20px;
      padding: 0 0 30px;
      border: 0; } }
  footer .socialIcons h3:not(:empty), footer .social-icons h3:not(:empty) {
    width: 100%;
    margin: 0 0 30px;
    color: #ffffff;
    font-size: 1.0625rem;
    font-weight: 700;
    text-transform: none;
    line-height: 1; }
    @media screen and (min-width: 81.25em) {
      footer .socialIcons h3:not(:empty), footer .social-icons h3:not(:empty) {
        margin: 0 0 0;
        text-align: left; } }
  footer .socialIcons a, footer .social-icons a {
    height: 45px;
    width: 45px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #ffffff;
    text-decoration: none;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    footer .socialIcons a:hover, footer .social-icons a:hover {
      background-color: #67156a;
      border-color: #67156a;
      opacity: 0.5;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    footer .socialIcons a:active, footer .social-icons a:active {
      background-color: #01416f;
      border-color: #01416f; }
  footer .socialIcons img, footer .social-icons img {
    max-width: 22.5px; }
  footer .socialIcons .icons-container, footer .social-icons .icons-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px; }
    @media screen and (min-width: 81.25em) {
      footer .socialIcons .icons-container, footer .social-icons .icons-container {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }

footer .cms-content-container {
  margin: 0;
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    footer .cms-content-container {
      padding: 0; } }
  footer .cms-content-container p {
    color: #ffffff;
    font-size: 0.9375rem;
    font-weight: 400;
    text-transform: none; }

footer .footer-background .cms-content-container {
  text-align: left; }
  footer .footer-background .cms-content-container a {
    color: #ffffff;
    font-size: 0.9375rem; }
    footer .footer-background .cms-content-container a:hover {
      color: #ffffff; }
      footer .footer-background .cms-content-container a:hover:before {
        color: #484848; }
    footer .footer-background .cms-content-container a:active {
      color: #959595; }
      footer .footer-background .cms-content-container a:active:before {
        color: #f3f3f3; }
    footer .footer-background .cms-content-container a.show-contact-icon:before {
      color: #01416f;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    footer .footer-background .cms-content-container a.show-contact-icon:hover:before {
      color: #484848;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    footer .footer-background .cms-content-container a.show-contact-icon:active:before {
      color: #f3f3f3; }

.footer-grid-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: auto; }
  @media screen and (min-width: 81.25em) {
    .footer-grid-container {
      max-width: 1300px;
      width: 100%;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.footer-content-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    .footer-content-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }

.footer-banner-series-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .footer-banner-series-container.content-header .footer-banner-series {
    max-width: 1300px;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container.content-header .footer-banner-series {
        margin: 0 auto 0; } }
  .footer-banner-series-container.payment-methods {
    margin: 20px 0 25px; }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container.payment-methods {
        margin: 60px 0 25px; } }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container.payment-methods .footer-banner-series .image {
        -ms-flex-preferred-size: fit-content;
            flex-basis: fit-content; } }
  .footer-banner-series-container + .footer-background {
    margin-top: 0; }
  .footer-banner-series-container .footer-banner-series {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .footer-banner-series-container .footer-banner-series {
        gap: 0 24.5px;
        margin: auto; } }
    .footer-banner-series-container .footer-banner-series a {
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
      .footer-banner-series-container .footer-banner-series a:hover {
        opacity: .6;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
    .footer-banner-series-container .footer-banner-series .image {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .footer-banner-series-container .footer-banner-series .image img {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        height: -webkit-fit-content;
        height: -moz-fit-content;
        height: fit-content; }

.copyright-outer-container {
  padding: 0;
  background-color: #67156a; }
  .copyright-outer-container .copyright-inner-container {
    position: relative;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0 auto 0;
    text-align: center;
    margin: 15px 0 0;
    padding: 35px 0 0; }
    .copyright-outer-container .copyright-inner-container:before {
      content: '';
      width: 100%;
      height: 2px;
      position: absolute;
      top: 0;
      display: block;
      background-color: rgba(255, 255, 255, 0.3); }
    @media screen and (min-width: 81.25em) {
      .copyright-outer-container .copyright-inner-container {
        margin: 35px auto 0;
        text-align: center; } }
    .copyright-outer-container .copyright-inner-container p {
      margin: 0;
      font-size: 0.8125rem;
      font-weight: 600;
      color: #ffffff;
      text-transform: none;
      line-height: 1.4; }
    .copyright-outer-container .copyright-inner-container a {
      font-size: 0.8125rem;
      font-weight: 700;
      color: #ffffff;
      text-decoration: none;
      text-transform: none;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      .copyright-outer-container .copyright-inner-container a:hover {
        color: #ffffff;
        text-decoration: underline;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .copyright-outer-container .copyright-inner-container a:active {
        color: #ffffff;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

@media screen and (min-width: 81.25em) {
  .footer-navigation > ul.menu {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; } }

.footer-navigation > ul.menu > li.is-accordion-submenu-parent > a:after {
  color: #ffffff; }

.footer-navigation > ul.menu > li {
  margin: 0; }
  .footer-navigation > ul.menu > li:first-child p, .footer-navigation > ul.menu > li:first-child a {
    padding-left: 0; }
  .footer-navigation > ul.menu > li:last-child p, .footer-navigation > ul.menu > li:last-child a {
    padding-right: 0; }
  .footer-navigation > ul.menu > li:hover {
    background-color: transparent; }
    .footer-navigation > ul.menu > li:hover > a {
      color: #ffffff; }
      .footer-navigation > ul.menu > li:hover > a:not([href]) {
        cursor: default; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation > ul.menu > li {
      width: 230px;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      margin: 0;
      padding: 0;
      border: 0; } }
  .footer-navigation > ul.menu > li > a, .footer-navigation > ul.menu > li > p {
    display: block;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0;
    padding: 20px 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    cursor: pointer;
    color: #ffffff;
    font-size: 1.0625rem;
    font-weight: 700;
    font-family: "Khula", "Khula Fallback", "Arial";
    text-transform: none;
    line-height: 1; }
    @media screen and (min-width: 81.25em) {
      .footer-navigation > ul.menu > li > a, .footer-navigation > ul.menu > li > p {
        padding: 0; } }
    .footer-navigation > ul.menu > li > a[href]:hover, .footer-navigation > ul.menu > li > p[href]:hover {
      color: #ffffff; }
    .footer-navigation > ul.menu > li > a[href]:active, .footer-navigation > ul.menu > li > p[href]:active {
      color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation > ul.menu > li > p {
      cursor: default; } }
  .footer-navigation > ul.menu > li > ul {
    width: 100%;
    padding: 0;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .footer-navigation > ul.menu > li > ul {
        margin-top: 0; } }
    .footer-navigation > ul.menu > li > ul > li {
      padding: 0 0 10.5px; }
      @media screen and (min-width: 81.25em) {
        .footer-navigation > ul.menu > li > ul > li {
          padding: 0; } }
      .footer-navigation > ul.menu > li > ul > li:first-child {
        padding-top: 10.5px; }
        @media screen and (min-width: 81.25em) {
          .footer-navigation > ul.menu > li > ul > li:first-child {
            padding-top: 0; } }
      @media screen and (min-width: 81.25em) {
        .footer-navigation > ul.menu > li > ul > li:last-child {
          padding-bottom: 0; } }
      .footer-navigation > ul.menu > li > ul > li > a {
        padding: 0;
        color: #ffffff;
        font-size: 0.9375rem;
        font-weight: 400;
        line-height: 1;
        text-transform: none;
        -webkit-transition: color 0.8s, opacity 0.8s;
        transition: color 0.8s, opacity 0.8s; }
        .footer-navigation > ul.menu > li > ul > li > a:hover {
          color: #ffffff;
          text-decoration: underline;
          opacity: 0.5;
          -webkit-transition: color 0.6s, opacity 0.6s;
          transition: color 0.6s, opacity 0.6s; }
        .footer-navigation > ul.menu > li > ul > li > a:active {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }

.footer-navigation > ul.menu .link-description {
  display: inline-block;
  text-decoration: inherit; }

.footer-navigation.main-menu {
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }
  @media screen and (min-width: 81.25em) {
    .footer-navigation.main-menu {
      width: auto;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

.footer-navigation .menu .is-submenu-item a {
  padding: 0; }

.footer-navigation ul > li.is-accordion-submenu-parent > a:hover {
  color: #ffffff; }

.footer-navigation ul > li.is-accordion-submenu-parent > a:active {
  color: #ffffff; }

.footer-cms-content-container {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }
  .footer-cms-content-container .cms-content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px; }
    @media screen and (min-width: 81.25em) {
      .footer-cms-content-container .cms-content-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 30px; } }
    .footer-cms-content-container .cms-content-container h2 {
      margin: 0 0 0;
      color: #ffffff;
      font-size: 17;
      font-weight: 700; }
    .footer-cms-content-container .cms-content-container h3 {
      padding: 0;
      margin: 0 0 15px;
      color: #ffffff;
      font-size: 1.0625rem;
      font-weight: 700; }
    .footer-cms-content-container .cms-content-container table {
      color: #ffffff; }
      @media print, screen and (max-width: 81.24875em) {
        .footer-cms-content-container .cms-content-container table td:not(:first-child) {
          padding-left: 15px; } }
      @media screen and (min-width: 81.25em) {
        .footer-cms-content-container .cms-content-container table td {
          padding: 0; } }
    .footer-cms-content-container .cms-content-container > div {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }

.footer-promotions {
  max-width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 0;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }
  @media screen and (min-width: 81.25em) {
    .footer-promotions {
      max-width: 50%;
      margin: 0;
      padding: 0; } }
  .footer-promotions + .footer-navigation {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .footer-promotions + .footer-navigation .menu {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .footer-promotions .mailing-list-container, .footer-promotions .footer-mailing-list-reveal-container {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .footer-promotions .socialIcons, .footer-promotions .social-icons {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .footer-promotions .cms-content-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }

.footer-promotion-heading h3 {
  margin: 0 0 15px;
  color: #ffffff;
  font-size: 1.0625rem;
  font-weight: 700;
  line-height: 1;
  text-transform: none; }
  @media screen and (min-width: 81.25em) {
    .footer-promotion-heading h3 {
      margin: 0 0 0; } }

.footer-logo-container {
  width: 50%;
  margin: 0 0 20px; }
  @media print, screen and (min-width: 40em) {
    .footer-logo-container {
      width: 40%; } }
  @media screen and (min-width: 81.25em) {
    .footer-logo-container {
      margin: 0 0 30px; } }

.footer-contact-details {
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .footer-contact-details {
      margin: 0 0 25px; } }
  .footer-contact-details ul.menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .footer-contact-details ul.menu > li {
      margin: 0 0 10px; }
      .footer-contact-details ul.menu > li:hover {
        background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .footer-contact-details ul.menu > li {
          margin: 0 0 15px; } }
      .footer-contact-details ul.menu > li > a {
        padding: 20px 0;
        color: #ffffff;
        font-size: 1rem; }
        @media screen and (min-width: 81.25em) {
          .footer-contact-details ul.menu > li > a {
            padding: 0; } }
        .footer-contact-details ul.menu > li > a:hover {
          color: #ffffff; }
        .footer-contact-details ul.menu > li > a:active {
          color: #ffffff; }

.footer-reveal-button {
  width: 100%;
  display: block;
  padding: 15px 30px;
  background-color: #01416f;
  color: #ffffff;
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  border-radius: 0;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }
  @media print, screen and (min-width: 40em) {
    .footer-reveal-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .footer-reveal-button:hover {
    background-color: #67156a;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .footer-reveal-button:active {
    background-color: #3b7cac; }

.footer-mailing-list-reveal-container.active .footer-reveal-button {
  display: none; }

.footer-mailing-list-reveal-container.active .mailing-list-container {
  display: block; }
  @media screen and (min-width: 81.25em) {
    .footer-mailing-list-reveal-container.active .mailing-list-container {
      max-width: 400px; } }

.footer-mailing-list-reveal-container .mailing-list-container {
  display: none; }

.footer-mailing-list-link {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 15px);
  color: #ffffff;
  background-color: #01416f;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 400;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #01416f;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 81.25em) {
    .footer-mailing-list-link {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .footer-mailing-list-link:hover, .footer-mailing-list-link.hover {
      color: #ffffff;
      background-color: #67156a;
      border-color: #67156a;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .footer-mailing-list-link:hover:after, .footer-mailing-list-link.hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .footer-mailing-list-link:hover .graduated-colour-edge .step, .footer-mailing-list-link.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .footer-mailing-list-link:active, .footer-mailing-list-link.active {
    color: #ffffff;
    background-color: #1281bf;
    border-color: #1281bf;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .footer-mailing-list-link:active:after, .footer-mailing-list-link.active:after {
      color: #ffffff; }
  .footer-mailing-list-link:disabled, .footer-mailing-list-link.disabled, .footer-mailing-list-link[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
    .footer-mailing-list-link:disabled:after, .footer-mailing-list-link.disabled:after, .footer-mailing-list-link[disabled]:after {
      color: #6d6d6d; }
  .footer-mailing-list-link:disabled:hover, .footer-mailing-list-link.disabled:hover {
    border-color: #6d6d6d; }
  .footer-mailing-list-link:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .footer-mailing-list-link:after {
    content: "";
    margin: 0 0 0 10px;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #ffffff;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .footer-mailing-list-link .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.mailing-list-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 81.25em) {
    .mailing-list-container {
      margin: 0 0 55px; } }
  .mailing-list-container h3 {
    margin: 0 0 15px;
    color: #ffffff;
    font-size: 1.0625rem;
    font-weight: 700;
    line-height: 1;
    text-transform: none; }
    @media screen and (min-width: 81.25em) {
      .mailing-list-container h3 {
        margin: 0 0 0; } }
  .mailing-list-container p {
    color: #ffffff;
    margin: 0;
    padding-bottom: 10.5px;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    text-transform: none; }
    @media screen and (min-width: 81.25em) {
      .mailing-list-container p {
        padding-bottom: 0; } }
  .mailing-list-container span.mail-input {
    width: 100%;
    display: block;
    padding: 10px 0;
    text-align: center;
    border: 1px solid #dadada; }
  .mailing-list-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    background-color: #67156a; }
    @media print, screen and (max-width: 39.99875em) {
      .mailing-list-container form input {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
        .mailing-list-container form input + button {
          border-top-left-radius: 0;
          border-bottom-left-radius: 0; } }
  .mailing-list-container fieldset {
    margin: 0;
    padding: 0; }
  .mailing-list-container .form-error {
    margin: 0;
    padding: 10px 0 0;
    text-align: left; }

.footerOuterContainer, .footer-background {
  margin-top: 25px;
  padding: 20px 10px;
  background-color: #67156a; }
  @media print, screen and (min-width: 40em) {
    .footerOuterContainer, .footer-background {
      padding: 25px 10px 10px; } }
  @media screen and (min-width: 100em) {
    .footerOuterContainer, .footer-background {
      padding: 25px 0 10px; } }
  .footerOuterContainer #footer-inner-container, .footer-background #footer-inner-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 81.25em) {
      .footerOuterContainer #footer-inner-container, .footer-background #footer-inner-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }

/*
----- AJAX -----
Handles the following: 
- AJAX Spinner
- Callback containers
- Update Content - Basically a container inside of the ajax response that allows you to update content outside of the callback container.
*/
.callbackContainer {
  width: 100%;
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .callbackContainer:has(.AJAXBlock) {
    min-height: 50px; }

.callbackListContainer {
  position: relative; }

.AJAXBlock, .initialising-content-blocker-container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(238, 238, 238, 0.6);
  cursor: no-drop;
  z-index: 10000; }
  .AJAXBlock .spinner, .initialising-content-blocker-container .spinner {
    width: 50px;
    height: 50px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
    .AJAXBlock .spinner:before, .initialising-content-blocker-container .spinner:before {
      content: "";
      width: 42px;
      height: 42px;
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      bottom: 0;
      margin: auto;
      display: block;
      border: 4px solid rgba(1, 65, 111, 0.2);
      border-top: 4px solid #01416f;
      border-radius: 50%;
      -webkit-transition: all .2s ease 0s;
      transition: all .2s ease 0s;
      -webkit-animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
              animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
      z-index: 1; }

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }

@keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }
    .AJAXBlock .spinner + .cms-content-container, .initialising-content-blocker-container .spinner + .cms-content-container {
      margin: 10px 0 0; }
  .AJAXBlock .cms-content-container p, .initialising-content-blocker-container .cms-content-container p {
    color: #484848;
    font-weight: 600; }

[data-update-content], [data-ajax-update-breadcrumbs] {
  display: none; }

/*
----- Filters ------ 
- These a typically on list pages for products.
- Attribute filters that also include colour filters and price slider.
- You will also find the mobile styles here for filters.
*/
#mobileToggleContainer {
  width: 100%; }
  #mobileToggleContainer ul {
    padding: 0;
    margin: 0;
    list-style: none; }

#filters-toggle, .filter-toggle {
  width: 100%;
  position: relative;
  display: block;
  padding: 20px 0;
  background-color: #64a6d4;
  text-align: center;
  color: #01416f;
  font-weight: 700;
  font-size: 1rem;
  font-family: "Khula", "Khula Fallback", "Arial";
  cursor: pointer;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }
  @media screen and (min-width: 81.25em) {
    #filters-toggle, .filter-toggle {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      background-color: transparent;
      color: var(--primary-colour-lightness-0);
      font-size: 0.875rem;
      font-weight: 700; }
      #filters-toggle:hover, .filter-toggle:hover {
        color: #67156a;
        text-decoration: underline;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
        #filters-toggle:hover:before, .filter-toggle:hover:before {
          color: #01416f;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; } }
  #filters-toggle:not(.is-stuck), .filter-toggle:not(.is-stuck) {
    top: auto !important; }
  #filters-toggle.is-stuck, .filter-toggle.is-stuck {
    max-width: 100% !important;
    position: fixed;
    left: 0;
    padding: 10px 0;
    background-color: #01416f;
    color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition: max-height 4s;
    transition: max-height 4s;
    z-index: 1000; }
    #filters-toggle.is-stuck:before, .filter-toggle.is-stuck:before {
      color: #ffffff; }
  #filters-toggle:before, .filter-toggle:before {
    content: "";
    display: inline-block;
    margin-right: 10px;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #01416f; }
    @media screen and (min-width: 81.25em) {
      #filters-toggle:before, .filter-toggle:before {
        font-size: 15px; } }
  #filters-toggle:hover, .filter-toggle:hover {
    opacity: 1; }
  #filters-toggle .active-filter-count, .filter-toggle .active-filter-count {
    margin-right: 3px; }
    @media screen and (min-width: 81.25em) {
      #filters-toggle .active-filter-count, .filter-toggle .active-filter-count {
        width: 15px;
        height: 15px;
        position: absolute;
        top: 12px;
        left: 12px;
        display: inline-block;
        margin-right: 0;
        background-color: #67156a;
        color: #ffffff;
        font-size: 0.5625rem;
        line-height: 14.2px;
        text-align: center;
        border-radius: 25px;
        border: 0.8px solid #ffffff; } }

.filters-header {
  position: relative;
  background-color: #64a6d4; }
  @media screen and (min-width: 81.25em) {
    .filters-header {
      background-color: transparent; } }
  .filters-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
    bottom: 0; }
    .filters-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: rgba(1, 65, 111, 0.8);
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .filters-header .close-button:hover:before {
      color: #01416f;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .filters-header .close-button:active:before {
      color: #67156a;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

@media screen and (min-width: 81.25em) {
  .filters-footer {
    display: none; } }

.filters-footer .button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }
  .filters-footer .button-container button {
    width: 100%;
    margin: 0; }
    @media print, screen and (min-width: 40em) {
      .filters-footer .button-container button {
        width: auto; } }

#filterBackToList {
  position: relative; }
  #filterBackToList .close-button {
    width: 100%;
    position: relative;
    top: auto;
    right: auto;
    display: block;
    padding: 10px 0;
    background-color: rgba(1, 65, 111, 0.4);
    color: #000000;
    font-size: 1.125rem;
    text-align: center;
    line-height: inherit; }

.attributeList.menu > ul > li:not(.active) .attributesContainer {
  height: 0; }

.attributeList.menu > li {
  margin: 0 0 20px;
  padding: 0 0 15px;
  border-bottom: 1px solid #aeaeae; }
  @media screen and (min-width: 81.25em) {
    .attributeList.menu > li {
      margin: 0 0 25px; } }
  .attributeList.menu > li:first-child {
    padding-top: 15px; }
  .attributeList.menu > li li {
    border-bottom: 0; }

.attributeList.menu ul {
  list-style: none;
  border-top: 0; }
  .attributeList.menu ul:first-child {
    margin: 0;
    padding: 0; }
  .attributeList.menu ul li {
    padding: 5px 0;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .attributeList.menu ul li:hover {
        background-color: #f3f3f3;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .attributeList.menu ul li.active a {
    padding: 0;
    background-color: transparent;
    color: #000000;
    font-size: 0.9375rem; }
  .attributeList.menu ul li.active ul {
    max-height: 5000px;
    margin: 0;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .attributeList.menu ul ul {
    padding: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
    .attributeList.menu ul ul li {
      position: relative; }
      .attributeList.menu ul ul li:hover .filterName, .attributeList.menu ul ul li:hover .filterItemCount {
        text-decoration: underline;
        color: #01416f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .attributeList.menu ul ul li:hover .colourPreview {
        max-width: 12px;
        height: 12px;
        border-radius: 5px;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
  .attributeList.menu ul label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 0.9375rem;
    color: #000000; }
    .attributeList.menu ul label:hover {
      color: #67156a; }
    .attributeList.menu ul label:active {
      color: #000000; }
  .attributeList.menu ul .filterName {
    overflow-wrap: break-word; }
  .attributeList.menu ul .colour-preview-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .attributeList.menu ul .colourPreview {
    width: 10px;
    height: 10px;
    display: block;
    margin: 0 10px 0 auto;
    border-radius: 5px;
    border: 1px solid transparent;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
  .attributeList.menu ul .filterItemCount {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    margin: 0 0 0 5px;
    font-size: 0.9375rem;
    text-align: right; }
  .attributeList.menu ul .control .checkbox {
    margin-right: 12px;
    margin-left: auto;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
    .attributeList.menu ul .control .checkbox span:before {
      right: 0; }

.attributeList.menu .is-accordion-submenu-parent.is-submenu-item[aria-expanded=true] > a {
  display: none; }

.attributeList.menu .is-accordion-submenu-parent.is-submenu-item.active {
  padding: 0; }

.attributeList.menu .is-accordion-submenu[aria-hidden=true] {
  height: 0;
  -webkit-transition: height 0.8s;
  transition: height 0.8s; }

.attributeList.menu .is-accordion-submenu.scroller {
  overflow-y: auto;
  padding: 0 10px 0 0; }
  .attributeList.menu .is-accordion-submenu.scroller ul {
    display: block !important; }

.attributeList.menu .optionHeading {
  position: relative;
  padding: 0;
  display: block;
  padding-bottom: 10px;
  color: #01416f;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700; }
  .attributeList.menu .optionHeading:hover {
    color: #67156a; }
  .attributeList.menu .optionHeading:active {
    color: #000000; }
  .attributeList.menu .optionHeading span {
    display: inline-block; }

.attributeList.menu .submenu {
  padding: 0; }

.attributeList.menu .showMoreAttributes > a, .attributeList.menu .showLessAttributes > a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px;
  color: #000000;
  font-weight: 600;
  font-style: italic; }
  .attributeList.menu .showMoreAttributes > a:hover, .attributeList.menu .showLessAttributes > a:hover {
    color: #01416f; }
  .attributeList.menu .showMoreAttributes > a:active, .attributeList.menu .showLessAttributes > a:active {
    color: #1281bf; }

.showMoreAttributes.active a {
  font-size: 0.9375rem;
  color: #01416f;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .showMoreAttributes.active a:hover {
    color: #67156a;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.accordion-menu .is-accordion-submenu .showLessAttributes a {
  padding: 0; }

.showLessAttributes a {
  color: #000000;
  cursor: pointer; }
  .showLessAttributes a:before {
    content: "";
    color: #67156a;
    font-size: 12px;
    font-family: "Font Awesome Solid";
    font-style: normal;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .showLessAttributes a:hover {
    color: #01416f; }
    .showLessAttributes a:hover:before {
      color: #01416f;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .showLessAttributes a:active {
    color: #1281bf; }
    .showLessAttributes a:active:before {
      color: #1281bf;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

#filters-container {
  display: block; }

#attribute-filters-form {
  width: 0;
  height: 0;
  overflow: hidden;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    #attribute-filters-form {
      width: auto;
      height: auto;
      background-color: transparent;
      overflow: visible; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active {
      overflow-y: scroll; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active-updating {
      overflow: hidden; }
      #attribute-filters-form.active-updating #filters-container {
        opacity: 0.3; } }
  @media print, screen and (max-width: 99.99875em) {
    #attribute-filters-form.active, #attribute-filters-form.active-updating {
      width: 100vw;
      min-height: 100%;
      padding: 10px;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 10000; }
      #attribute-filters-form.active .attribute-list-container, #attribute-filters-form.active-updating .attribute-list-container {
        height: 100vh;
        overflow: scroll; } }
  #attribute-filters-form h2 {
    padding: 10px 5px;
    color: #01416f;
    font-size: 1.25rem;
    font-weight: 600;
    border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      #attribute-filters-form h2 {
        padding: 0 0 5px;
        border-color: #aeaeae; } }
  #attribute-filters-form ul li {
    margin-left: 0; }
    #attribute-filters-form ul li:active, #attribute-filters-form ul li:hover {
      background-color: transparent; }
    #attribute-filters-form ul li:active a {
      color: #484848; }
  #attribute-filters-form .showMoreAttributesContainer {
    padding-left: 0; }
    #attribute-filters-form .showMoreAttributesContainer li {
      padding-left: 0; }

@media screen and (min-width: 81.25em) {
  #appliedFilters {
    margin-bottom: 35px; } }

#appliedFilters h3 {
  margin: 0;
  padding: 10px 0;
  color: #01416f;
  background-color: transparent;
  font-weight: 700;
  font-size: 1rem;
  font-style: italic; }

#appliedFilters ul {
  margin: 0;
  padding: 0;
  list-style: none;
  border-bottom: 1px solid #aeaeae; }

#appliedFilters li {
  position: relative;
  margin: 5px 0 0; }
  #appliedFilters li:hover a {
    background-color: #f3f3f3;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    #appliedFilters li:hover a:after {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

#appliedFilters a {
  display: block;
  padding: 5px 0 5px 0;
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400; }
  #appliedFilters a:after {
    content: 'x';
    width: 10px;
    height: 10px;
    position: absolute;
    top: 0;
    right: 5px;
    bottom: 0;
    display: block;
    margin: auto;
    line-height: 0.6;
    color: #959595;
    font-weight: 700;
    font-style: normal;
    font-size: 1.0625rem;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
  #appliedFilters a:hover:after {
    font-size: 1.1875rem;
    color: #67156a;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  #appliedFilters a.clear-all-attributes {
    margin: 30px 0 20px;
    font-size: 0.9375rem;
    font-style: italic;
    font-weight: 600;
    color: #000000; }

input.price-slider-input {
  border-radius: 0 0 0 0; }

.price-slider-input {
  max-width: 70px;
  max-height: 35px;
  padding: 0 !important;
  border-width: 1px 1px 1px 0 !important;
  pointer-events: none; }
  .price-slider-input.ui-state-active {
    border-color: #67156a;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .price-slider-input.ui-state-active + .currency {
    border-color: #67156a;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .price-slider-input + .currency {
    height: 35px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0 0 10px;
    background-color: #ffffff;
    border-color: #c8c8c8;
    border-style: solid;
    border-width: 1px 0 1px 1px;
    border-radius: 0 0 0 0; }
  .price-slider-input:focus + .currency {
    border-color: transparent;
    -webkit-box-shadow: -15px -3px 20px 4px rgba(12, 12, 13, 0.1);
            box-shadow: -15px -3px 20px 4px rgba(12, 12, 13, 0.1);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .price-slider-input:-moz-read-only {
    background-color: transparent; }
  .price-slider-input:read-only {
    background-color: transparent; }

.price-input-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .price-input-container:nth-of-type(2) {
    float: right; }

#price-slider {
  max-width: 96%;
  margin-top: 25px; }
  @media screen and (min-width: 81.25em) {
    #price-slider {
      max-width: 93%; } }

#priceAttHigh {
  float: right; }

/*
----- Modals ------ 
- This is the mechanism that gets used for popup content in express.
- Can be used to pop form, cms content, notification & payment frames.
*/
.modal-container {
  width: 0;
  height: 0;
  overflow: hidden; }
  @media print, screen and (min-width: 40em) {
    .modal-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .modal-container .popup-background {
    display: none; }
  .modal-container .content-container {
    max-width: 1150px;
    width: 100%;
    max-height: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    overflow-y: auto;
    border-radius: 0; }
    @media screen and (min-width: 81.25em) {
      .modal-container .content-container {
        overflow: hidden; } }
  .modal-container .content {
    width: 100%;
    margin: auto;
    padding-right: 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-container .content {
        margin-bottom: 10px;
        overflow-y: auto; } }
  .modal-container .buttons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 81.25em) {
      .modal-container .buttons-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: space-evenly;
            -ms-flex-pack: space-evenly;
                justify-content: space-evenly; } }
  .modal-container .prompt-button-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container .prompt-button-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .modal-container .page-buttons-container {
    margin: 15px auto 30px; }
  .modal-container.active {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    padding: 10px;
    overflow-y: auto;
    z-index: 2001; }
    .modal-container.active .popup-background {
      display: block; }
  .modal-container.ajax .content-container {
    padding: 5px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.ajax .content-container {
        padding: 10px; } }
  .modal-container.dropped-session .content-container {
    max-width: calc(var(--contained-content-max-width) + 100px); }
  .modal-container.cms-entry-viewer .cms-content-container {
    max-width: 850px;
    padding-top: 15px;
    padding-bottom: 15px;
    border: 1px solid #aeaeae; }
  .modal-container.site-list.publish-history .content {
    width: 90%; }
  .modal-container.site-list.site-information .content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .modal-container.documentation {
    --ck-color-base-border: $colour3; }
    .modal-container.documentation.entry-editor .content-container {
      max-width: 98%;
      height: 100%;
      overflow: unset; }
    .modal-container.documentation.entry-editor .documentation-content-container {
      max-width: unset; }
    @media screen and (min-width: 81.25em) {
      .modal-container.documentation.entry-editor .modal-header:has(.cms-content-container) ~ .content {
        width: calc(100% - 60px); } }
    .modal-container.documentation.entry-editor .content {
      width: 100%;
      height: 100%;
      margin-top: 0;
      padding-right: 0;
      overflow: unset; }
    .modal-container.documentation.entry-editor .ck-editor__main > div {
      height: var(--editor-height); }
    .modal-container.documentation.insert-article .ck-editor .ck-content, .modal-container.documentation.insert .ck-editor .ck-content, .modal-container.documentation.property-editor .ck-editor .ck-content {
      height: 30vh; }
    .modal-container.documentation .rich-text-editor-container {
      width: 100%;
      border: 1px solid #eeeeee; }
  .modal-container.media-browser .media-browser-container {
    margin: 0 10px;
    padding: 10px;
    border: 1px solid #dadada; }
  .modal-container.software-download .software-instructions-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0 0 40px; }
    .modal-container.software-download .software-instructions-container .revision-text {
      margin: 10px 0 0 auto;
      font-size: 0.8125rem;
      font-style: italic; }
    .modal-container.software-download .software-instructions-container .cms-content-container {
      max-height: 40vh;
      overflow-y: scroll; }
      .modal-container.software-download .software-instructions-container .cms-content-container p, .modal-container.software-download .software-instructions-container .cms-content-container li {
        margin-left: 0 !important; }
  .modal-container.software-download .software-update-available-downloads {
    margin: 20px 0; }
    .modal-container.software-download .software-update-available-downloads ul {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px 20px;
      margin: 0;
      padding: 0;
      list-style: none; }
      @media screen and (min-width: 81.25em) {
        .modal-container.software-download .software-update-available-downloads ul {
          grid-template-columns: 1fr 1fr; } }
      .modal-container.software-download .software-update-available-downloads ul .software-download-button {
        width: 100%;
        display: grid;
        grid-template-columns: 60px 1fr 30px;
        gap: 20px;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 20px;
        border: 1px solid #eeeeee;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        @media screen and (min-width: 81.25em) {
          .modal-container.software-download .software-update-available-downloads ul .software-download-button {
            padding: 20px 10px; } }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover {
          background-color: #01416f;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover:before, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover:after, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .button-label, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .button-content-container, .modal-container.software-download .software-update-available-downloads ul .software-download-button:hover .data-time-container {
            color: #ffffff;
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:before {
          content: "";
          color: #663399;
          font-family: "fontello";
          font-size: 30px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button:after {
          content: "";
          color: #663399;
          font-family: "Font Awesome Solid";
          font-size: 22px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button span {
          grid-column: 2; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .button-label {
          margin: 0 0 10px;
          color: #663399;
          font-family: "Khula", "Khula Fallback", "Arial";
          font-weight: 600;
          font-size: 1.125rem;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .button-content-container {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          text-align: left;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .modal-container.software-download .software-update-available-downloads ul .software-download-button .data-time-container {
          color: #aeaeae;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
          .modal-container.software-download .software-update-available-downloads ul .software-download-button .data-time-container:before {
            content: "";
            margin-right: 5px;
            font-family: "Font Awesome Regular";
            font-size: 15px; }
  @media screen and (min-width: 81.25em) {
    .modal-container.payment, .modal-container.add-new-card {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .modal-container.payment .cms-content-container, .modal-container.add-new-card .cms-content-container {
    text-align: center; }
  .modal-container.payment .content-container, .modal-container.add-new-card .content-container {
    max-width: 1150px;
    width: 100%;
    position: relative;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    overflow-y: auto; }
  .modal-container.payment .content, .modal-container.add-new-card .content {
    margin-bottom: 0; }
    .modal-container.payment .content .cms-content-container, .modal-container.add-new-card .content .cms-content-container {
      margin-top: 15px;
      margin-bottom: 15px; }
      @media screen and (min-width: 81.25em) {
        .modal-container.payment .content .cms-content-container, .modal-container.add-new-card .content .cms-content-container {
          margin: 30px 30px; } }
  .modal-container.payment iframe, .modal-container.add-new-card iframe {
    max-width: 100%;
    width: 630px;
    height: 620px;
    display: block;
    margin: 0 auto 40px;
    border: 1px solid #dadada;
    border-radius: 0;
    -webkit-transition: border 0.8s;
    transition: border 0.8s; }
    .modal-container.payment iframe:hover, .modal-container.add-new-card iframe:hover {
      border-color: #67156a;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .modal-container.enquiry-form .content-container {
    max-width: 900px; }
    .modal-container.enquiry-form .content-container form {
      width: 100%;
      margin: 10px 0; }
      @media screen and (min-width: 81.25em) {
        .modal-container.enquiry-form .content-container form {
          max-width: 80%;
          margin: 10px auto 0; } }
  .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
    padding: 5px 5px 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
        padding: 10px 10px 50px; } }
  .modal-container.branch-switcher [inject-container], .modal-container.account-switcher [inject-container] {
    overflow-y: auto; }
    @media print, screen and (max-width: 81.24875em) {
      .modal-container.branch-switcher [inject-container], .modal-container.account-switcher [inject-container] {
        margin-bottom: 20px;
        padding: 20px;
        border: 1px solid var(--neutral-colour-lightness-9);
        -webkit-box-shadow: inset 0px 0px 19px 0px rgba(0, 0, 0, 0.1);
                box-shadow: inset 0px 0px 19px 0px rgba(0, 0, 0, 0.1); } }
  .modal-container.branch-switcher .buttons-container, .modal-container.account-switcher .buttons-container {
    --common-button-small-margin: auto;
    --common-button-medium-margin: var(--common-button-small-margin); }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .buttons-container, .modal-container.account-switcher .buttons-container {
        margin-bottom: 40px; } }
  @media screen and (min-width: 81.25em) {
    .modal-container.branch-switcher #branch-switcher-container, .modal-container.branch-switcher #account-switcher-container, .modal-container.account-switcher #branch-switcher-container, .modal-container.account-switcher #account-switcher-container {
      padding: 0 80px 0; } }
  @media screen and (min-width: 81.25em) {
    .modal-container.branch-switcher .current-branch-details, .modal-container.branch-switcher .branch-switcher, .modal-container.branch-switcher .current-account-details, .modal-container.branch-switcher .account-switcher, .modal-container.account-switcher .current-branch-details, .modal-container.account-switcher .branch-switcher, .modal-container.account-switcher .current-account-details, .modal-container.account-switcher .account-switcher {
      margin-bottom: 25px; } }
  .modal-container.branch-switcher .current-branch-details h3, .modal-container.branch-switcher .branch-switcher h3, .modal-container.branch-switcher .current-account-details h3, .modal-container.branch-switcher .account-switcher h3, .modal-container.account-switcher .current-branch-details h3, .modal-container.account-switcher .branch-switcher h3, .modal-container.account-switcher .current-account-details h3, .modal-container.account-switcher .account-switcher h3 {
    font-size: 1.375rem; }
  .modal-container.branch-switcher .current-branch-details .address-line, .modal-container.branch-switcher .current-account-details .address-line, .modal-container.account-switcher .current-branch-details .address-line, .modal-container.account-switcher .current-account-details .address-line {
    padding: 2px 0;
    font-size: 0.875rem; }
  .modal-container.branch-switcher .label, .modal-container.account-switcher .label {
    display: inline-block;
    padding-right: 5px;
    color: #01416f;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .label, .modal-container.account-switcher .label {
        width: 120px; } }
  .modal-container.branch-switcher .control-select-container, .modal-container.account-switcher .control-select-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .modal-container.branch-switcher .control-select-container, .modal-container.account-switcher .control-select-container {
        width: calc(100% - 120px); } }
  .modal-container.form .content-container {
    max-width: 900px;
    width: 100%;
    padding: 10px;
    margin: auto; }
    .modal-container.form .content-container form {
      max-height: 90vh;
      width: 100%;
      margin: auto;
      overflow-y: auto; }
      @media screen and (min-width: 81.25em) {
        .modal-container.form .content-container form {
          max-width: 80%;
          margin: 20px auto 30px; } }
  .modal-container.form .cms-content-container {
    margin: 10px 0 0; }
  .modal-container.table .content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .modal-container.branch-switcher .content-container, .modal-container.account-switcher .content-container {
    max-width: 1150px;
    width: 100%; }
  .modal-container.manage-user-branch-selecter .modal-header h3 {
    margin: 0 0 15px;
    font-size: 1.375rem;
    font-weight: 600;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.manage-user-branch-selecter .modal-header h3 {
        margin: 0 0 35px; } }
  .modal-container.manage-user-branch-selecter .content-container {
    max-width: 1150px;
    width: 100%;
    height: 100%;
    position: relative;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    z-index: 150; }
    @media screen and (min-width: 81.25em) {
      .modal-container.manage-user-branch-selecter .content-container {
        max-height: 730px; } }
  .modal-container.manage-user-branch-selecter #users-branch-search-container {
    max-width: 620px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0 auto 15px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.manage-user-branch-selecter #users-branch-search-container {
        margin: 0 auto 40px; } }
  @media screen and (min-width: 81.25em) {
    .modal-container.manage-user-branch-selecter .select-branches-container {
      max-width: 850px;
      width: 100%;
      max-height: 300px;
      margin: 0 auto 20px;
      overflow-y: auto; } }
  .modal-container.manage-user-branch-selecter .table-footer-spacer {
    max-width: 850px;
    margin: auto; }
  .modal-container.manage-user-branch-selecter .branch-search {
    width: 90%;
    height: 50px;
    margin: 0; }
  .modal-container.manage-user-branch-selecter .control.checkbox {
    margin: 0; }
  .modal-container.manage-user-branch-selecter td {
    vertical-align: middle; }
  .modal-container.quick-order-search-results .modal-header .cms-content-container {
    max-width: 850px;
    width: 100%;
    margin: 20px auto;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.quick-order-search-results .modal-header .cms-content-container {
        margin: 30px auto; } }
  .modal-container.quick-order-search-results [inject-container] {
    padding: 5px 5px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.quick-order-search-results [inject-container] {
        padding: 0; } }
  .modal-container.quick-order-search-results .content {
    max-width: 850px;
    width: 100%;
    max-height: 465px; }
  .modal-container.scanner .modal-header .cms-content-container {
    max-width: 640px;
    width: 100%;
    margin: 20px auto;
    padding: 0;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.scanner .modal-header .cms-content-container {
        margin: 30px auto; } }
  .modal-container.scanner .content {
    max-width: 690px;
    width: 100%; }
  .modal-container.call-form .content {
    max-height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .modal-container.call-form .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto;
    padding: 5px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.call-form .content-container {
        max-width: 1150px;
        width: 100%;
        overflow: hidden;
        padding: 10px; } }
    .modal-container.call-form .content-container form {
      max-width: 95%;
      width: 100%;
      margin: auto; }
      @media screen and (min-width: 81.25em) {
        .modal-container.call-form .content-container form {
          max-width: 850px; } }
  .modal-container.video-player .modal-header .cms-content-container {
    max-width: 850px;
    margin-right: auto;
    margin-left: auto;
    text-align: center; }
  .modal-container.video-player .content-container {
    max-width: 95vw; }
    .modal-container.video-player .content-container [inject-container] {
      aspect-ratio: 16 / 9; }
      .modal-container.video-player .content-container [inject-container] iframe {
        width: 100%;
        height: 100%; }
  .modal-container .modal-header .modal-heading {
    margin: 0 0 5px;
    padding: 5px 44px;
    background-color: #00adef;
    border-radius: 0; }
    @media screen and (min-width: 81.25em) {
      .modal-container .modal-header .modal-heading {
        padding: 16px 44px; } }
  .modal-container .modal-header h2 {
    margin: 0;
    padding: 0;
    color: #ffffff;
    text-align: center;
    font-size: 1.5625rem;
    font-weight: 700; }
  .modal-container .modal-header p {
    font-size: 1rem; }
  .modal-container .modal-header .cms-content-container {
    margin-top: 15px;
    margin-bottom: 15px; }
    @media screen and (min-width: 81.25em) {
      .modal-container .modal-header .cms-content-container {
        margin: 30px 30px; } }
    .modal-container .modal-header .cms-content-container.disabled-no-content, .modal-container .modal-header .cms-content-container:empty {
      display: none; }
  .modal-container .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 12.5px;
    right: 20px; }
    .modal-container .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #ffffff;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .modal-container .close-button:hover:before {
      color: contract-checker(#67156a, #00adef);
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .modal-container .close-button:active:before {
      color: #67156a;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
    @media screen and (min-width: 81.25em) {
      .modal-container .close-button {
        top: 16px; } }
  .modal-container.confirmation .content-container {
    max-width: 1150px;
    width: 100%;
    position: relative;
    padding: 26.66667px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation .content-container {
        padding: 80px; } }
  .modal-container.confirmation .content {
    width: 100%;
    margin: 0; }
  .modal-container.confirmation:not(.ajax) .content {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px auto 50px;
    padding: 35px 10px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation:not(.ajax) .content {
        margin: 0 auto 50px; } }
    .modal-container.confirmation:not(.ajax) .content p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .modal-container.confirmation:not(.ajax) .content p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 1.1875rem; }
        @media print, screen and (max-width: 81.24875em) {
          .modal-container.confirmation:not(.ajax) .content p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .modal-container.confirmation .message {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px auto 50px;
    padding: 35px 10px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation .message {
        margin: 0 auto 50px; } }
    .modal-container.confirmation .message p {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0; }
      .modal-container.confirmation .message p:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 10px auto 0;
        font-family: "Font Awesome Solid";
        font-size: 1.1875rem; }
        @media print, screen and (max-width: 81.24875em) {
          .modal-container.confirmation .message p:before {
            position: absolute;
            top: 10px;
            margin: auto; } }
  .modal-container.confirmation .prompt-cancel-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #01416f;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.confirmation .prompt-cancel-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.confirmation .prompt-cancel-button:hover, .modal-container.confirmation .prompt-cancel-button.hover {
        color: #ffffff;
        background-color: #dadada;
        border-color: #000000;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.confirmation .prompt-cancel-button:hover .graduated-colour-edge .step, .modal-container.confirmation .prompt-cancel-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.confirmation .prompt-cancel-button:active, .modal-container.confirmation .prompt-cancel-button.active {
      color: #ffffff;
      background-color: #01416f;
      border-color: #01416f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.confirmation .prompt-cancel-button:disabled, .modal-container.confirmation .prompt-cancel-button.disabled, .modal-container.confirmation .prompt-cancel-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.confirmation .prompt-cancel-button:disabled:hover, .modal-container.confirmation .prompt-cancel-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.confirmation .prompt-cancel-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.confirmation .prompt-cancel-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.confirmation .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .modal-container.confirmation .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .modal-container.confirmation .close-button:hover:before {
      color: #01416f;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .modal-container.confirmation .close-button:active:before {
      color: #67156a;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .modal-container.alert:not(.ajax) .content {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .modal-container.alert:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.alert:not(.ajax) .content:has(.content-container):before {
      color: #b20c0c; }
    .modal-container.alert:not(.ajax) .content > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .modal-container.alert:not(.ajax) .content h1, .modal-container.alert:not(.ajax) .content h2, .modal-container.alert:not(.ajax) .content h3, .modal-container.alert:not(.ajax) .content h4, .modal-container.alert:not(.ajax) .content h5, .modal-container.alert:not(.ajax) .content h6, .modal-container.alert:not(.ajax) .content p, .modal-container.alert:not(.ajax) .content a {
      color: #b20c0c; }
  .modal-container.alert .message {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .modal-container.alert .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.alert .message:has(.content-container):before {
      color: #b20c0c; }
    .modal-container.alert .message > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .modal-container.alert .message h1, .modal-container.alert .message h2, .modal-container.alert .message h3, .modal-container.alert .message h4, .modal-container.alert .message h5, .modal-container.alert .message h6, .modal-container.alert .message p, .modal-container.alert .message a {
      color: #b20c0c; }
  .modal-container.alert .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.alert .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.alert .prompt-proceed-button:hover, .modal-container.alert .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.alert .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.alert .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.alert .prompt-proceed-button:active, .modal-container.alert .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #bbe8f7;
      border-color: #bbe8f7;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.alert .prompt-proceed-button:disabled, .modal-container.alert .prompt-proceed-button.disabled, .modal-container.alert .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.alert .prompt-proceed-button:disabled:hover, .modal-container.alert .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.alert .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.alert .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.warning:not(.ajax) .content {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.warning:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.warning:not(.ajax) .content:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.warning:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.warning:not(.ajax) .content h1, .modal-container.warning:not(.ajax) .content h2, .modal-container.warning:not(.ajax) .content h3, .modal-container.warning:not(.ajax) .content h4, .modal-container.warning:not(.ajax) .content h5, .modal-container.warning:not(.ajax) .content h6, .modal-container.warning:not(.ajax) .content p, .modal-container.warning:not(.ajax) .content a {
      color: #ff5e05; }
  .modal-container.warning .message {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.warning .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.warning .message:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.warning .message > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.warning .message h1, .modal-container.warning .message h2, .modal-container.warning .message h3, .modal-container.warning .message h4, .modal-container.warning .message h5, .modal-container.warning .message h6, .modal-container.warning .message p, .modal-container.warning .message a {
      color: #ff5e05; }
  .modal-container.warning .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #b20c0c;
    background-color: #fde1e1;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.warning .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.warning .prompt-proceed-button:hover, .modal-container.warning .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #b20c0c;
        border-color: #b20c0c;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.warning .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.warning .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.warning .prompt-proceed-button:active, .modal-container.warning .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #bbe8f7;
      border-color: #bbe8f7;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.warning .prompt-proceed-button:disabled, .modal-container.warning .prompt-proceed-button.disabled, .modal-container.warning .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.warning .prompt-proceed-button:disabled:hover, .modal-container.warning .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.warning .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.warning .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.action-required:not(.ajax) .content {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.action-required:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.action-required:not(.ajax) .content:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.action-required:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.action-required:not(.ajax) .content h1, .modal-container.action-required:not(.ajax) .content h2, .modal-container.action-required:not(.ajax) .content h3, .modal-container.action-required:not(.ajax) .content h4, .modal-container.action-required:not(.ajax) .content h5, .modal-container.action-required:not(.ajax) .content h6, .modal-container.action-required:not(.ajax) .content p, .modal-container.action-required:not(.ajax) .content a {
      color: #ff5e05; }
  .modal-container.action-required .message {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .modal-container.action-required .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.action-required .message:has(.content-container):before {
      color: #ff5e05; }
    .modal-container.action-required .message > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .modal-container.action-required .message h1, .modal-container.action-required .message h2, .modal-container.action-required .message h3, .modal-container.action-required .message h4, .modal-container.action-required .message h5, .modal-container.action-required .message h6, .modal-container.action-required .message p, .modal-container.action-required .message a {
      color: #ff5e05; }
  .modal-container.action-required .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #01416f;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.action-required .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.action-required .prompt-proceed-button:hover, .modal-container.action-required .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.action-required .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.action-required .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.action-required .prompt-proceed-button:active, .modal-container.action-required .prompt-proceed-button.active {
      background-color: #bbe8f7;
      border-color: #bbe8f7;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.action-required .prompt-proceed-button:disabled, .modal-container.action-required .prompt-proceed-button.disabled, .modal-container.action-required .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.action-required .prompt-proceed-button:disabled:hover, .modal-container.action-required .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.action-required .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.action-required .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.success:not(.ajax) .content {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .modal-container.success:not(.ajax) .content:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.success:not(.ajax) .content:has(.content-container):before {
      color: #12811f; }
    .modal-container.success:not(.ajax) .content > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .modal-container.success:not(.ajax) .content h1, .modal-container.success:not(.ajax) .content h2, .modal-container.success:not(.ajax) .content h3, .modal-container.success:not(.ajax) .content h4, .modal-container.success:not(.ajax) .content h5, .modal-container.success:not(.ajax) .content h6, .modal-container.success:not(.ajax) .content p, .modal-container.success:not(.ajax) .content a {
      color: #12811f; }
  .modal-container.success .message {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .modal-container.success .message:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .modal-container.success .message:has(.content-container):before {
      color: #12811f; }
    .modal-container.success .message > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .modal-container.success .message h1, .modal-container.success .message h2, .modal-container.success .message h3, .modal-container.success .message h4, .modal-container.success .message h5, .modal-container.success .message h6, .modal-container.success .message p, .modal-container.success .message a {
      color: #12811f; }
  .modal-container.success .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #01416f;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.success .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.success .prompt-proceed-button:hover, .modal-container.success .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.success .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.success .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.success .prompt-proceed-button:active, .modal-container.success .prompt-proceed-button.active {
      background-color: #bbe8f7;
      border-color: #bbe8f7;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.success .prompt-proceed-button:disabled, .modal-container.success .prompt-proceed-button.disabled, .modal-container.success .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.success .prompt-proceed-button:disabled:hover, .modal-container.success .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.success .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.success .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.demo .content-container {
    padding: 20px 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .content-container {
        padding: 115px 135px; } }
    .modal-container.demo .content-container h2 {
      margin-bottom: 25px;
      color: #ff0101;
      font-size: 1.625rem;
      font-weight: 600;
      text-transform: uppercase; }
      @media screen and (min-width: 81.25em) {
        .modal-container.demo .content-container h2 {
          margin-bottom: 35px; } }
    .modal-container.demo .content-container h3 {
      margin-bottom: 25px;
      color: #01416f;
      font-size: 1.375rem;
      font-weight: 700; }
    .modal-container.demo .content-container p {
      margin-bottom: 20px;
      padding: 0;
      font-size: 1.125rem;
      font-weight: 300; }
      @media screen and (min-width: 81.25em) {
        .modal-container.demo .content-container p {
          padding: 0 50px; } }
    .modal-container.demo .content-container strong {
      color: #000000; }
  .modal-container.demo .content {
    width: 100%;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .content {
        max-width: 885px; } }
  .modal-container.demo .modal-logo {
    width: 135px;
    height: 135px;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0 auto 10px; }
  .modal-container.demo .image-slot-1 {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .modal-container.demo .image-slot-1:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 70px;
      color: #01416f; }
  .modal-container.demo .image-slot-2 {
    position: absolute; }
    .modal-container.demo .image-slot-2:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 135px;
      color: #ff0101; }
  .modal-container.demo .prompt-cancel-button {
    --component-specifc-step-height: 15px;
    width: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #01416f;
    background-color: #dffbe2;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .prompt-cancel-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.demo .prompt-cancel-button:hover, .modal-container.demo .prompt-cancel-button.hover {
        color: #ffffff;
        background-color: #12811f;
        border-color: #12811f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.demo .prompt-cancel-button:hover .graduated-colour-edge .step, .modal-container.demo .prompt-cancel-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.demo .prompt-cancel-button:active, .modal-container.demo .prompt-cancel-button.active {
      background-color: #bbe8f7;
      border-color: #bbe8f7;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.demo .prompt-cancel-button:disabled, .modal-container.demo .prompt-cancel-button.disabled, .modal-container.demo .prompt-cancel-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.demo .prompt-cancel-button:disabled:hover, .modal-container.demo .prompt-cancel-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.demo .prompt-cancel-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.demo .prompt-cancel-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .modal-container.demo .prompt-proceed-button {
    --component-specifc-step-height: 15px;
    width: 230px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 10px 0);
    padding: var(--common-button-padding, 20px 10px);
    color: #01416f;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.9375rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .modal-container.demo .prompt-proceed-button {
        width: 230px;
        margin: var(--common-button-large-margin, 0 45px 20px); } }
    @media (hover: hover) {
      .modal-container.demo .prompt-proceed-button:hover, .modal-container.demo .prompt-proceed-button.hover {
        color: #ffffff;
        background-color: #dadada;
        border-color: #000000;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .modal-container.demo .prompt-proceed-button:hover .graduated-colour-edge .step, .modal-container.demo .prompt-proceed-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .modal-container.demo .prompt-proceed-button:active, .modal-container.demo .prompt-proceed-button.active {
      color: #ffffff;
      background-color: #01416f;
      border-color: #01416f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .modal-container.demo .prompt-proceed-button:disabled, .modal-container.demo .prompt-proceed-button.disabled, .modal-container.demo .prompt-proceed-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .modal-container.demo .prompt-proceed-button:disabled:hover, .modal-container.demo .prompt-proceed-button.disabled:hover {
      border-color: #6d6d6d; }
    .modal-container.demo .prompt-proceed-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .modal-container.demo .prompt-proceed-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.modal-information-container {
  width: 100%;
  margin: auto;
  border: 1px solid #c8c8c8; }
  @media screen and (min-width: 81.25em) {
    .modal-information-container {
      margin: 20px auto 30px; } }
  .modal-information-container .information-section {
    min-width: 80vw;
    width: 100%;
    padding: 0 0 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-information-container .information-section {
        min-width: unset;
        width: 640px;
        padding: 0 0 20px; } }
    .modal-information-container .information-section h2 {
      width: 100%;
      display: block;
      padding: 15px 0;
      margin: 0 0 10px;
      color: #ffffff;
      background-color: #1281bf;
      font-weight: 600;
      font-size: 1.125rem;
      text-align: center;
      text-transform: none; }
  .modal-information-container .information-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 10px 0;
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .modal-information-container .information-option {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin: 10px 0;
        padding: 0 20px; } }
    .modal-information-container .information-option .label {
      width: 100%;
      font-size: 0.9375rem;
      font-weight: 600; }
      @media screen and (min-width: 81.25em) {
        .modal-information-container .information-option .label {
          width: 160px; } }

.inject-content {
  display: none; }

[inject-container] {
  width: 100%;
  max-height: 100%;
  min-height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative; }
  [inject-container]:has(div.AJAXBlock) {
    min-width: 320px; }
    @media screen and (min-width: 81.25em) {
      [inject-container]:has(div.AJAXBlock) {
        min-width: 640px; } }
  [inject-container] .modal-header .close-button {
    right: 30px; }

.inject-button {
  color: #01416f;
  cursor: pointer;
  -webkit-transition: color 0.8s;
  transition: color 0.8s;
  z-index: 1; }
  .inject-button:hover {
    color: #67156a;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .inject-button:active {
    color: #959595; }
  .inject-button.form {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    padding: 10px;
    background-color: #ffffff;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .inject-button.form {
        margin: 0 50px 0 auto; } }
    .inject-button.form:after {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 10px;
      margin-left: 5px; }

/*
----- Modules -----
These can be used anywhere on the site header, main content & footer, these have a hard dependancy on foundation XY grid system for their positioning.
Handles the following: 
- Product / Image collections
  - Grid view
  - Slideshow view
- Varous CMS types:
  - Blog
  - News
  - Events
  - Generic CMS entries 
- EBG Information
- Backgrounds ( Currently only support just colours not images ): 
  - Row Backgrounds 
  - Module Backgrounds
*/
.row-background:first-of-type .module-background {
  margin-top: 0; }

.row-background {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-position: center; }
  @media print, screen and (max-width: 81.24875em) {
    .row-background {
      padding-top: 0;
      padding-bottom: 0; } }
  .row-background.container-padding {
    padding: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .row-background.container-padding {
        padding-top: 45px;
        padding-bottom: 45px; } }
    @media screen and (min-width: 81.25em) {
      .row-background.container-padding .module-heading {
        margin-top: -45px; } }
  .row-background .module-heading {
    border: 0px solid transparent; }
    .row-background .module-heading + .cms-module .content-container {
      padding-top: 0; }

.module-heading + .cms-module.news-module {
  margin-top: 0; }
  .module-heading + .cms-module.news-module .content-container {
    margin: 0;
    padding: 0 0 20px; }

.grid-container .module-background {
  border-radius: 0; }

.row-background {
  border-radius: 0; }

.module-background {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-position: center; }
  @media screen and (min-width: 81.25em) {
    .module-background.module-padding {
      padding-top: 30px;
      padding-bottom: 30px; } }
  .module-background.module-padding .module-heading {
    border: 2px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .module-background.module-padding .module-heading {
        margin-top: -30px; } }
  .module-background.module-padding .content-banner {
    width: 100%;
    margin-right: 6.5%; }
    @media screen and (min-width: 81.25em) {
      .module-background.module-padding .content-banner {
        height: 375px; } }
    .module-background.module-padding .content-banner img {
      max-height: 100%; }
  .module-background.remove-margin-top {
    margin-top: 0; }
  .module-background.remove-margin-bottom {
    margin-bottom: 0; }
  .module-background.remove-margin-both {
    margin-top: 0;
    margin-bottom: 0; }

.collection {
  --media-aspect-ratio: 1/1;
  width: 100%; }
  .collection.show-colours .collection-item .image {
    padding: 3px; }
  .collection.collection-remove-gutter {
    --module-gutter: 0; }
  .collection.collection-small-gutter {
    --module-gutter: 7.5px; }
  .collection.collection-medium-gutter {
    --module-gutter: 11.53846px; }
    @media screen and (min-width: 81.25em) {
      .collection.collection-medium-gutter {
        --module-gutter: 15px; } }
  .collection.collection-large-gutter {
    --module-gutter: 38.46154px; }
    @media screen and (min-width: 81.25em) {
      .collection.collection-large-gutter {
        --module-gutter: 50px; } }
  .collection.image-grid-module, .collection.image-slideshow-module {
    --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
  .collection .collection-item.ebg {
    --media-aspect-ratio: 1/1; }
  .collection .grid-margin-x > .collection-item.cell {
    width: auto; }
  .collection .grid-x {
    display: grid; }
  .collection .small-up-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .collection .small-up-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection .small-up-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .collection .small-up-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .collection .small-up-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .collection .small-up-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .collection .small-up-7 {
    grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .collection .small-up-8 {
    grid-template-columns: repeat(8, minmax(0, 1fr)); }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr)); } }
  @media print, screen and (min-width: 40em) {
    .collection .medium-up-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-1 {
      grid-template-columns: repeat(1, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-4 {
      grid-template-columns: repeat(4, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-5 {
      grid-template-columns: repeat(5, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-6 {
      grid-template-columns: repeat(6, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-7 {
      grid-template-columns: repeat(7, minmax(0, 1fr)); } }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-8 {
      grid-template-columns: repeat(8, minmax(0, 1fr)); } }
  .collection .small-up-1 .collection-item .product .image, .collection [bx-column-count="1"] .collection-item .product .image {
    max-width: 1280px;
    max-height: 1280px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-1 .collection-item .product .image, .collection [bx-column-count="1"] .collection-item .product .image {
      max-width: 1300px;
      max-height: 1300px; } }
  .collection .small-up-2 .collection-item .product .image, .collection [bx-column-count="2"] .collection-item .product .image {
    max-width: 630px;
    max-height: 630px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-2 .collection-item .product .image, .collection [bx-column-count="2"] .collection-item .product .image {
      max-width: 644px;
      max-height: 644px; } }
  .collection .small-up-3 .collection-item .product .image, .collection [bx-column-count="3"] .collection-item .product .image {
    max-width: 418px;
    max-height: 418px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-3 .collection-item .product .image, .collection [bx-column-count="3"] .collection-item .product .image {
      max-width: 424px;
      max-height: 424px; } }
  .collection .small-up-4 .collection-item .product .image, .collection [bx-column-count="4"] .collection-item .product .image {
    max-width: 312px;
    max-height: 312px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-4 .collection-item .product .image, .collection [bx-column-count="4"] .collection-item .product .image {
      max-width: 316px;
      max-height: 316px; } }
  .collection .small-up-5 .collection-item .product .image, .collection [bx-column-count="5"] .collection-item .product .image {
    max-width: 249px;
    max-height: 249px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-5 .collection-item .product .image, .collection [bx-column-count="5"] .collection-item .product .image {
      max-width: 250px;
      max-height: 250px; } }
  .collection .small-up-6 .collection-item .product .image, .collection [bx-column-count="6"] .collection-item .product .image {
    max-width: 205px;
    max-height: 205px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-6 .collection-item .product .image, .collection [bx-column-count="6"] .collection-item .product .image {
      max-width: 207px;
      max-height: 207px; } }
  .collection .small-up-7 .collection-item .product .image, .collection [bx-column-count="7"] .collection-item .product .image {
    max-width: 175px;
    max-height: 175px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-7 .collection-item .product .image, .collection [bx-column-count="7"] .collection-item .product .image {
      max-width: 175px;
      max-height: 175px; } }
  .collection .small-up-8 .collection-item .product .image, .collection [bx-column-count="8"] .collection-item .product .image {
    max-width: 153px;
    max-height: 153px; }
  @media screen and (min-width: 81.25em) {
    .collection .large-up-8 .collection-item .product .image, .collection [bx-column-count="8"] .collection-item .product .image {
      max-width: 152px;
      max-height: 152px; } }
  .collection.show-colours .collection-item.ebg .content-container {
    background-color: #01416f;
    border: 1px solid transparent;
    -webkit-transition: background-color 0.8s, border-color 0.8s;
    transition: background-color 0.8s, border-color 0.8s; }
    .collection.show-colours .collection-item.ebg .content-container.compact .description, .collection.show-colours .collection-item.ebg .content-container:not(.compact) .description {
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .collection.show-colours .collection-item.ebg .content-container:hover {
      background-color: #ffffff;
      border-color: #01416f;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .collection.show-colours .collection-item.ebg .content-container:hover.compact .description, .collection.show-colours .collection-item.ebg .content-container:hover:not(.compact) .description {
        color: #01416f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .collection .content-container .image, .collection .content-container.image {
    border-radius: 0;
    /* Setting this generically for the following reasons:
            1. If collection-cell-border-radius is enabled
            2. If image scale is enabled.
            */
    overflow: hidden;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .collection .content-container:hover .image, .collection .content-container:hover.image {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  @media print, screen and (max-width: 39.99875em) {
    .collection [bx-column-count="4"] .content-container .quantity-container {
      -ms-flex-pack: distribute;
          justify-content: space-around; }
    .collection [bx-column-count="4"] .quantity-free-text-container {
      width: 100%; } }

.image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
  gap: var(--module-gutter, 10px); }
  @media print, screen and (min-width: 40em) {
    .image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
      gap: var(--module-gutter, 15px); } }
  @media screen and (min-width: 81.25em) {
    .image-grid-module .grid-collection-x, .product-grid-module .grid-collection-x, .collection .grid-collection-x {
      gap: var(--module-gutter, 15px); } }
  .image-grid-module .grid-collection-x .collection-item.cell, .product-grid-module .grid-collection-x .collection-item.cell, .collection .grid-collection-x .collection-item.cell {
    width: unset; }

.product-grid-module .cell {
  padding-left: 0.23438rem;
  padding-right: 0.23438rem;
  margin-bottom: 20px; }

.product-grid-module.multimedia-right .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:first-child {
    grid-column: 2;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(2) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(3) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(4) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container a:nth-child(5) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .stock-indicator {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .unit-of-measure {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-right .content-container .not-logged-in-container, .product-grid-module.multimedia-right .content-container .stockline-view-button, .product-grid-module.multimedia-right .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.multimedia-right .collection-item.ebg .content-container .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-right .collection-item.ebg .content-container .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

.product-grid-module.multimedia-right .collection-item.ebg .content-container .price {
  display: none; }

.product-grid-module.multimedia-right .collection-item .content-container {
  padding: 10px;
  gap: 10px 0; }
  .product-grid-module.multimedia-right .collection-item .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  @media print, screen and (min-width: 40em) {
    .product-grid-module.multimedia-right .collection-item .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-right .collection-item .content-container {
      display: grid;
      grid-template-columns: calc(60% - 10px) calc(40% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      padding: 5px; } }
  .product-grid-module.multimedia-right .collection-item .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  .product-grid-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  .product-grid-module.multimedia-right .collection-item .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  .product-grid-module.multimedia-right .collection-item .content-container p {
    margin: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    .product-grid-module.multimedia-right .collection-item .content-container .image img {
      margin: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container .description, .product-grid-module.multimedia-right .collection-item .content-container .code, .product-grid-module.multimedia-right .collection-item .content-container .prices, .product-grid-module.multimedia-right .collection-item .content-container .stock-indicator {
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 0; }
  .product-grid-module.multimedia-right .collection-item .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .product-grid-module.multimedia-right .collection-item .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container [data-content-container] {
        height: auto; } }
  .product-grid-module.multimedia-right .collection-item .content-container .read-more-content {
    height: 100%; }
  .product-grid-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-grid-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-grid-module.multimedia-right .collection-item .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-grid-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-grid-module.multimedia-right .collection-item .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }

.product-grid-module.multimedia-left .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.multimedia-left .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-left .collection-item.ebg .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

.product-grid-module.multimedia-left .collection-item.ebg .price {
  display: none; }

.product-grid-module.multimedia-left .content-container {
  gap: 10px 0; }
  @media print, screen and (min-width: 40em) {
    .product-grid-module.multimedia-left .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    .product-grid-module.multimedia-left .content-container {
      display: grid;
      grid-template-columns: calc(40% - 10px) calc(60% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .product-grid-module.multimedia-left .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  .product-grid-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  .product-grid-module.multimedia-left .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-left .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  .product-grid-module.multimedia-left .content-container p {
    margin: 0; }
  .product-grid-module.multimedia-left .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  .product-grid-module.multimedia-left .content-container .description {
    text-align: left; }
  .product-grid-module.multimedia-left .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    .product-grid-module.multimedia-left .content-container .image img {
      margin: 0; }
  .product-grid-module.multimedia-left .content-container .code {
    padding-right: 0;
    padding-left: 0;
    text-align: left; }
  .product-grid-module.multimedia-left .content-container .prices {
    padding-right: 0;
    padding-left: 0; }
    .product-grid-module.multimedia-left .content-container .prices .price-container {
      text-align: left;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .product-grid-module.multimedia-left .content-container .stock-indicator {
    margin-top: auto;
    padding: 0 0;
    text-align: left; }
  .product-grid-module.multimedia-left .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container .not-logged-in-container, .product-grid-module.multimedia-left .content-container .stockline-view-button, .product-grid-module.multimedia-left .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }
  .product-grid-module.multimedia-left .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module.multimedia-left .content-container [data-content-container] {
        height: auto; } }
  .product-grid-module.multimedia-left .content-container .read-more-content {
    height: 100%; }

.product-grid-module.multimedia-bottom .content-container > a:first-of-type {
  padding-top: 5px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.product-grid-module.multimedia-bottom .image {
  margin: 0; }

.product-grid-module.minified-layout .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container .not-logged-in-container, .product-grid-module.minified-layout .content-container .stockline-view-button, .product-grid-module.minified-layout .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

.product-grid-module.minified-layout .content-container.product {
  padding: 5px; }

@media screen and (min-width: 81.25em) {
  .product-grid-module.minified-layout .content-container {
    display: grid;
    grid-template-columns: 110px 1fr; } }

.product-grid-module.minified-layout .content-container > a:first-of-type {
  padding-top: 0; }

.product-grid-module.minified-layout .collection-item.ebg .content-container {
  padding: 0; }

.product-grid-module.minified-layout .collection-item.ebg .description {
  height: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 10px 20px 10px;
  text-align: left; }

.product-grid-module.minified-layout .image {
  width: 110px;
  margin: 0; }

.product-grid-module.minified-layout .description, .product-grid-module.minified-layout a:first-child {
  -ms-flex-item-align: center;
      align-self: center;
  padding: 25px 20px;
  text-align: left; }

.product-grid-module .image-container {
  width: 100%;
  display: block;
  text-align: center;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  .product-grid-module .image-container:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }

.product-grid-module [data-content-container] {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  .product-grid-module [data-content-container]:has(.read-more) {
    height: 300px; }
  .product-grid-module [data-content-container] a {
    max-height: 100%; }
  .product-grid-module [data-content-container] p {
    margin: 0;
    padding: 0; }

.product-grid-module .collection-item.ebg:has(.description:empty) .content-container {
  padding-bottom: 0; }

.product-grid-module .collection-item.ebg:hover .description {
  background-color: transparent;
  -webkit-transition: background-color 0.6s;
  transition: background-color 0.6s; }

.product-grid-module .collection-item.ebg:active .description {
  background-color: transparent; }

.product-grid-module .collection-item.ebg .content-container {
  background-color: #ffffff; }

.product-grid-module .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  background-color: transparent;
  text-transform: none;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .product-grid-module .collection-item.ebg .description:not(:empty) {
    margin: 0;
    padding: 5px 5px; }

.product-grid-module .content-container {
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 0;
  text-align: left;
  height: 100%;
  position: relative;
  margin: auto;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module .content-container {
      width: 100%; } }
  .product-grid-module .content-container .code {
    padding-right: 5px;
    padding-left: 5px; }
    .product-grid-module .content-container .code:not(:empty) + .description {
      padding-top: 0; }
  .product-grid-module .content-container .description {
    padding: 10px 0; }
  .product-grid-module .content-container .specification {
    padding-right: 5px;
    padding-left: 5px; }
    .product-grid-module .content-container .specification:not(:empty) {
      margin-bottom: 10px; }
  .product-grid-module .content-container .prices {
    padding-right: 5px;
    padding-left: 5px; }
  .product-grid-module .content-container .stock-indicator {
    margin-top: auto;
    padding: 10px 5px;
    text-align: left; }
    .product-grid-module .content-container .stock-indicator + .not-logged-in-container {
      margin-top: 0; }
    .product-grid-module .content-container .stock-indicator a {
      -webkit-box-pack: left;
          -ms-flex-pack: left;
              justify-content: left; }
    .product-grid-module .content-container .stock-indicator button {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .product-grid-module .content-container .quantity-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    padding: 15px 5px 0; }
    @media screen and (min-width: 81.25em) {
      .product-grid-module .content-container .quantity-container {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        gap: 5px; } }
  .product-grid-module .content-container .prices + .not-logged-in-container, .product-grid-module .content-container .prices + .stockline-view-button, .product-grid-module .content-container .prices + .enquiry-button-container {
    margin-top: 10px; }
  .product-grid-module .content-container .not-logged-in-container, .product-grid-module .content-container .stockline-view-button, .product-grid-module .content-container .enquiry-button-container {
    width: 66%;
    margin: auto auto 0; }
  .product-grid-module .content-container.minified .image {
    width: 110px; }
  .product-grid-module .content-container:hover .description, .product-grid-module .content-container:hover .read-more {
    color: #01416f;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .product-grid-module .content-container:active .description {
    color: #67156a; }
  .product-grid-module .content-container.image {
    background-color: transparent; }
  .product-grid-module .content-container.product {
    padding-bottom: 20px;
    background-color: #ffffff; }
    .product-grid-module .content-container.product .group-description {
      padding: 10px 5px 5px; }
    .product-grid-module .content-container.product a.group-description + a:has(.description) .description {
      padding-top: 0; }
    .product-grid-module .content-container.product .description {
      padding: 5px 5px; }
      .product-grid-module .content-container.product .description:is(:empty) {
        padding: 0; }
  .product-grid-module .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.product-grid-module .collection-image-container {
  width: 100%; }

.product-grid-module .image {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto; }
  @media screen and (min-width: 81.25em) {
    .product-grid-module .image {
      margin: 0; } }
  .product-grid-module .image img {
    -ms-flex-negative: 0;
        flex-shrink: 0; }

.product-grid-module .label-value-pair-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 5px;
  padding-right: 5px;
  padding-left: 5px; }
  .product-grid-module .label-value-pair-container .label {
    color: #000000;
    font-weight: 600;
    font-size: 0.875rem; }
  .product-grid-module .label-value-pair-container .value {
    margin-left: auto;
    color: #000000;
    font-size: 0.875rem; }

.product-grid-module .department-description {
  color: var(--primary-colour-lightness-0, #01416f);
  font-family: "Khula", "Khula Fallback", "Arial";
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.6;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .product-grid-module .department-description:hover {
    color: var(--neutral-colour-lightness-0);
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

.product-grid-module .group-description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.2; }
  .product-grid-module .group-description:hover {
    color: #01416f;
    text-decoration: underline; }
  .product-grid-module .group-description:active {
    color: #67156a; }

.product-grid-module .description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: none;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .product-grid-module .description p {
    margin: 0;
    padding: 0; }

.product-grid-module .read-more {
  color: #484848; }

.product-grid-module .specification p {
  margin: 0;
  padding: 0; }

.product-grid-module .code {
  color: #000000;
  font-size: 0.9375rem; }

@media print, screen and (max-width: 81.24875em) {
  .product-grid-module .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .product-grid-module .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

.product-grid-module .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.875rem; }
  .product-grid-module .prices p {
    margin: 0;
    font-weight: 700; }
  .product-grid-module .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.2; }
    .product-grid-module .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .product-grid-module .prices .price-container .label {
      color: #000000;
      font-weight: 700; }
      .product-grid-module .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      .product-grid-module .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          .product-grid-module .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    .product-grid-module .prices .price-container .value {
      color: #ff0101;
      font-weight: 700; }
      @media screen and (min-width: 81.25em) {
        .product-grid-module .prices .price-container .value {
          text-align: right; } }
    .product-grid-module .prices .price-container.saving .label, .product-grid-module .prices .price-container.saving .value {
      color: #000000;
      font-weight: 700;
      text-transform: uppercase; }
    .product-grid-module .prices .price-container.rrp .label, .product-grid-module .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 700;
      font-size: 0.875rem;
      text-transform: uppercase;
      text-decoration: line-through; }
    .product-grid-module .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

.product-grid-module .price-container .value {
  font-size: 0.875rem; }

.product-grid-module .price-container .label, .product-grid-module .price-container .value {
  font-family: "Khula", "Khula Fallback", "Arial"; }

.product-grid-module .price {
  margin: 0; }
  .product-grid-module .price .currency {
    font-size: 1.625rem; }

.product-grid-module .vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #484848;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: left;
  white-space: nowrap; }

.product-grid-module form, .product-grid-module .not-logged-in-container, .product-grid-module .stockline-view-button {
  margin: auto 0 0; }

.product-grid-module .addToBasket.icon {
  margin: 0; }

.product-grid-module .favouritesContainer {
  display: inline-block; }

.product-grid-module .quantity-container .control.select {
  max-width: 80px;
  width: 100%;
  display: inline-block;
  margin: 0 10px 0 0; }
  .product-grid-module .quantity-container .control.select .label {
    display: none; }
  .product-grid-module .quantity-container .control.select .control-select-dropdown {
    width: 80px; }

.product-grid-module .quantity-free-text-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .product-grid-module .quantity-free-text-container .label {
    display: none; }

.product-grid-module .content-container > a:first-of-type, .product-carousel-module .content-container > a:first-of-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0; }
  .product-grid-module .content-container > a:first-of-type:not(:has(img)), .product-carousel-module .content-container > a:first-of-type:not(:has(img)) {
    display: none; }

.product-carousel-module .collection-item:not(.ebg) .content-container.product, .product-grid-module .collection-item:not(.ebg) .content-container.product {
  padding-bottom: 20px;
  border-width: 0 0 5px 0;
  border-color: #dadada;
  border-style: solid;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .product-carousel-module .collection-item:not(.ebg) .content-container.product:hover, .product-grid-module .collection-item:not(.ebg) .content-container.product:hover {
    border-color: #01416f;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

.image-grid-module .cell {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  margin-bottom: 20px; }

.image-grid-module .image {
  text-align: center; }

.image-grid-module .content-container {
  margin: auto; }

.module-content-container:not([style*="background-color: transparent;"]) {
  margin: 0;
  padding: 10px;
  border-radius: 0; }
  @media print, screen and (min-width: 40em) {
    .module-content-container:not([style*="background-color: transparent;"]) {
      padding: 10px; } }
  @media screen and (min-width: 81.25em) {
    .module-content-container:not([style*="background-color: transparent;"]) {
      padding: 15px; } }

.cms-module {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  .cms-module h1 {
    margin: 25px 0 20px;
    font-size: 2.1875rem;
    font-weight: 600;
    font-style: normal;
    color: #01416f;
    line-height: 1.6;
    background-color: transparent; }
    .cms-module h1:first-child {
      margin-top: 0; }
    .cms-module h1:only-child {
      margin: 0; }
  .cms-module h2 {
    margin: 25px 0 20px;
    font-size: 2rem;
    font-weight: 600;
    font-style: normal;
    color: #01416f;
    line-height: 1.6; }
    .cms-module h2:first-child {
      margin-top: 0; }
    .cms-module h2:only-child {
      margin: 0; }
  .cms-module h3 {
    margin: 25px 0 10px;
    padding: 15px 0;
    font-size: 1.5625rem;
    font-weight: 600;
    font-style: normal;
    color: #67156a;
    line-height: 1.6; }
    .cms-module h3:first-child {
      margin-top: 0; }
    .cms-module h3:only-child {
      margin: 0; }
  .cms-module h4 {
    margin: 25px 0 10px;
    padding: 0 0 10px;
    font-size: 1.375rem;
    font-weight: 400;
    font-style: normal;
    color: #01416f;
    line-height: 1.6; }
    .cms-module h4:first-child {
      margin-top: 0; }
    .cms-module h4:only-child {
      margin: 0; }
  .cms-module h5 {
    margin: 15px 0 10px;
    font-size: 1.125rem;
    font-weight: 400;
    font-style: normal;
    color: #000000;
    line-height: 1.6; }
    .cms-module h5:first-child {
      margin-top: 0; }
    .cms-module h5:only-child {
      margin: 0; }
  .cms-module h6 {
    margin: 15px 0;
    font-size: 0.9375rem;
    font-weight: 400;
    font-style: normal;
    color: #000000;
    line-height: 1.6; }
    .cms-module h6:first-child {
      margin-top: 0; }
    .cms-module h6:only-child {
      margin: 0; }
  .cms-module p {
    margin: var(--indent-margin, 0);
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6;
    color: #000000; }
    .cms-module p img[style*="float:left"], .cms-module p img[style*="float: left"], .cms-module p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .cms-module p img[style*="float:right"], .cms-module p img[style*="float: right"], .cms-module p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .cms-module p img {
      margin: .2em 0; }
    .cms-module p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .cms-module ul, .cms-module ol {
    text-align: left; }
  .cms-module ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .cms-module ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .cms-module ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .cms-module ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #01416f;
        border-radius: 5px; }
  .cms-module ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .cms-module ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .cms-module ol ol ol {
        list-style-type: lower-roman; }
        .cms-module ol ol ol ol {
          list-style-type: lower-alpha; }
          .cms-module ol ol ol ol ol {
            list-style-type: lower-roman; }
  .cms-module li {
    color: #000000;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6; }
  .cms-module ul + h1, .cms-module ol + h1 {
    margin-top: 20px; }
  .cms-module ul + h2, .cms-module ol + h2 {
    margin-top: 20px; }
  .cms-module ul + h3, .cms-module ol + h3 {
    margin-top: 10px; }
  .cms-module ul + h4, .cms-module ol + h4 {
    margin-top: 10px; }
  .cms-module ul + h5, .cms-module ol + h5 {
    margin-top: 10px; }
  .cms-module ul + h6, .cms-module ol + h6 {
    margin-top: 15px; }
  .cms-module dl {
    text-align: left; }
  .cms-module p:not(:empty) + table, .cms-module p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .cms-module table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .cms-module table:not([class*=preset]) thead {
      background-color: transparent; }
      .cms-module table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .cms-module table:not([class*=preset]) thead th {
        font-weight: 700; }
    .cms-module table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .cms-module table.responsive-table {
          display: table; } }
      .cms-module table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .cms-module table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .cms-module table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .cms-module table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .cms-module table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .cms-module table td {
        padding: 10px; } }
    .cms-module table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .cms-module table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .cms-module table tbody {
      background-color: transparent; }
      .cms-module table tbody th {
        background-color: transparent; }
      .cms-module table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .cms-module table tbody tr {
          display: table-row; } }
    .cms-module table .col-label {
      color: #484848; }
    @media print, screen and (max-width: 81.24875em) {
      .cms-module table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .cms-module table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .cms-module table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .cms-module table.comparison-table tbody td:first-child {
      color: #484848;
      font-weight: 700; }
  .cms-module blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Khula", "Khula Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .cms-module blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .cms-module blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .cms-module blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .cms-module blockquote:has(img) {
      text-align: left; }
    .cms-module blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .cms-module blockquote {
        padding: 50px 60px; } }
    .cms-module blockquote + blockquote {
      margin-top: 15px; }
    .cms-module blockquote:before, .cms-module blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .cms-module blockquote:before {
      top: 0;
      left: 0; }
    .cms-module blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .cms-module blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .cms-module blockquote img {
          text-align: left; } }
  .cms-module div.gallary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 10px 0 20px; }
    .cms-module div.gallary.cell-gutters {
      gap: 10px; }
    .cms-module div.gallary > img {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
    .cms-module div.gallary a {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
      .cms-module div.gallary a img {
        width: 100%; }
  .cms-module iframe[src*="https://www.youtube.com/"] {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    border-radius: 0; }
  .cms-module code {
    max-height: 500px;
    position: relative;
    padding: 10px 10px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 0 40px;
    background-color: #f3f3f3;
    border: 1px solid #959595;
    font-size: 0.9375rem;
    line-height: 40px;
    text-align: left;
    white-space: pre-wrap;
    overflow-y: auto;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .cms-module code {
        padding: 10px 35px; } }
    .cms-module code:hover {
      border-color: #484848;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
    .cms-module code .code-copy-button-container {
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      left: calc(100% - 15px);
      white-space: normal; }
    .cms-module code .code-copy-button {
      position: absolute;
      top: 0;
      padding: 8px;
      display: block;
      background-color: #959595;
      -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
      transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
      .cms-module code .code-copy-button:before {
        content: "";
        font-family: "Font Awesome Regular";
        font-size: 14px;
        color: #ffffff;
        -webkit-transition: color 0.8s, font-size 0.8s;
        transition: color 0.8s, font-size 0.8s; }
      .cms-module code .code-copy-button:hover {
        background-color: #01416f;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
      .cms-module code .code-copy-button.active, .cms-module code .code-copy-button:active {
        background-color: #01416f; }
        .cms-module code .code-copy-button.active:before, .cms-module code .code-copy-button:active:before {
          font-family: "Font Awesome Solid"; }
      .cms-module code .code-copy-button.active {
        padding: 12px;
        opacity: .4;
        -webkit-transition: padding 0.6s, opacity 0.6s;
        transition: padding 0.6s, opacity 0.6s; }
        .cms-module code .code-copy-button.active:before {
          font-size: 16px;
          -webkit-transition: font-size 0.6s;
          transition: font-size 0.6s; }
  @media screen and (min-width: 81.25em) {
    .cms-module {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .cms-module a:hover h2 {
    -webkit-text-decoration: false, none, underline;
            text-decoration: false, none, underline;
    color: #67156a;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .cms-module a:hover h3 {
    -webkit-text-decoration: false, none, underline;
            text-decoration: false, none, underline; }
  .cms-module h2 {
    line-height: 1.2; }
  .cms-module .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .cms-module .content-container .content-heading {
      width: 100%;
      display: block; }
  .cms-module.events-module {
    gap: 25px;
    padding: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.events-module {
        display: grid;
        /** Work out the column width, this was originally designed for a 2 column layout which goes down to a single column in the following situations
            - In mobile
            - When the module container is no longer wide enough to show to columns with a width of the calculated column width bellow.
            **/
        grid-template-columns: repeat(auto-fit, minmax(-webkit-min-content, 560px));
        grid-template-columns: repeat(auto-fit, minmax(min-content, 560px));
        padding: 40px;
        gap: 50px; } }
    .cms-module.events-module h3 {
      margin: 0 0 20px;
      padding: 0; }
      @media screen and (min-width: 81.25em) {
        .cms-module.events-module h3 {
          margin: 0 0 40px; } }
    .cms-module.events-module .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .cms-module.events-module .content-banner {
      width: 100%;
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
      @media screen and (min-width: 81.25em) {
        .cms-module.events-module .content-banner {
          height: 550px; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.events-module .content-banner img {
          -o-object-fit: cover;
             object-fit: cover;
          -o-object-position: center;
             object-position: center; } }
    .cms-module.events-module .read-more-content p {
      font-size: 0.9375rem;
      font-weight: 400; }
  .cms-module.blog-module {
    margin-right: 0;
    margin-left: 0;
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module {
        margin-right: 0;
        margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module:has(.content-banner) .content-container {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; }
        .cms-module.blog-module:has(.content-banner) .content-container .read-more {
          max-height: unset; }
          .cms-module.blog-module:has(.content-banner) .content-container .read-more .read-more-content {
            max-height: unset; } }
    .cms-module.blog-module .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 50px 10px; }
      @media screen and (min-width: 81.25em) {
        .cms-module.blog-module .content-container {
          padding: 50px 7.5%; } }
      .cms-module.blog-module .content-container .read-more {
        max-height: 300px; }
        .cms-module.blog-module .content-container .read-more .read-more-content {
          max-height: 300px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module .content-banner {
        height: 475px;
        margin-left: auto; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.blog-module .content-banner img {
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center;
        border-radius: 0 0 0 0; } }
    .cms-module.blog-module .read-more-content p {
      font-size: 0.9375rem;
      font-weight: 400; }
  @media screen and (min-width: 81.25em) {
    .cms-module.news-module:has(.content-banner) .content-container {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 50%;
              flex: 0 0 50%; } }
  .cms-module.news-module .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.news-module .content-container {
        margin-bottom: 0; } }
  .cms-module.news-module .content-banner {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 81.25em) {
      .cms-module.news-module .content-banner {
        height: 375px;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.news-module .content-banner img {
        -o-object-fit: cover;
           object-fit: cover;
        -o-object-position: center;
           object-position: center; } }
    .cms-module.news-module .content-banner .image {
      width: 90%; }
      @media screen and (min-width: 81.25em) {
        .cms-module.news-module .content-banner .image {
          text-align: right; } }
  .cms-module.news-module .read-more-content p {
    font-size: 0.9375rem;
    font-weight: 400; }
  .cms-module.news-module h3 {
    margin: 0 0 15px;
    padding: 0; }
  .cms-module.entry-module {
    padding-right: 25px;
    padding-left: 25px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 20px;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module {
        padding-right: 50px;
        padding-left: 50px; } }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module {
        gap: 40px; } }
    .cms-module.entry-module.text-align-left {
      text-align: left; }
      .cms-module.entry-module.text-align-left .read-more-button {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    .cms-module.entry-module.text-align-right {
      text-align: right; }
      .cms-module.entry-module.text-align-right .read-more-button {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; }
    .cms-module.entry-module.text-align-center {
      text-align: center; }
      .cms-module.entry-module.text-align-center .read-more-button {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
    .cms-module.entry-module.multimedia-top {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse; }
      .cms-module.entry-module.multimedia-top .content-container, .cms-module.entry-module.multimedia-top.has-image .content-container {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; }
      .cms-module.entry-module.multimedia-top .read-more {
        max-height: 250px; }
    .cms-module.entry-module.multimedia-right {
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-right:has(.content-banner) .content-container {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 50%;
                  flex: 0 0 50%; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-right .content-container {
          padding: 10px 0; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-right .content-banner {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
      @media print, screen and (max-width: 81.24875em) {
        .cms-module.entry-module.multimedia-right .read-more {
          max-height: 250px; } }
      .cms-module.entry-module.multimedia-right .read-more-button {
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.multimedia-bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .cms-module.entry-module.multimedia-bottom .content-container {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0; }
    .cms-module.entry-module.multimedia-bottom .read-more {
      max-height: 250px; }
    .cms-module.entry-module.multimedia-left {
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-left {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: reverse;
              -ms-flex-direction: row-reverse;
                  flex-direction: row-reverse; } }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-left:has(.content-banner) .content-container {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 50%;
                  flex: 0 0 50%; } }
      .cms-module.entry-module.multimedia-left .content-container .image {
        width: auto; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.multimedia-left .content-container {
          padding: 10px 0; } }
      @media print, screen and (max-width: 81.24875em) {
        .cms-module.entry-module.multimedia-left .read-more {
          max-height: 250px; } }
      .cms-module.entry-module.multimedia-left .read-more-button {
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.layout-style {
        padding: 50px; } }
    .cms-module.entry-module.layout-style .content-banner {
      height: unset; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.compact .content-container {
        padding-right: 40px; } }
    .cms-module.entry-module.compact .content-container ul {
      padding: 0; }
    .cms-module.entry-module.compact .content-banner {
      height: 375px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.entry-module.right-aligned:has(.content-banner) .content-container, .cms-module.entry-module.left-aligned:has(.content-banner) .content-container, .cms-module.entry-module.compact:has(.content-banner) .content-container {
        width: 50%; } }
    .cms-module.entry-module.right-aligned .content-banner, .cms-module.entry-module.left-aligned .content-banner, .cms-module.entry-module.compact .content-banner {
      height: 380px;
      margin: auto; }
      @media screen and (min-width: 81.25em) {
        .cms-module.entry-module.right-aligned .content-banner img, .cms-module.entry-module.left-aligned .content-banner img, .cms-module.entry-module.compact .content-banner img {
          -o-object-fit: cover;
             object-fit: cover; } }
    .cms-module.entry-module .read-more-button {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
  .cms-module.right-aligned, .cms-module.left-aligned {
    text-align: left; }
    .cms-module.right-aligned .content-heading, .cms-module.left-aligned .content-heading {
      width: 100%;
      display: block; }
    .cms-module.right-aligned .content-container, .cms-module.left-aligned .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex: auto;
              flex: auto;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .cms-module.right-aligned .cms-content, .cms-module.left-aligned .cms-content {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-flex: 0;
          -ms-flex: 0 0 60%;
              flex: 0 0 60%;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
  .cms-module.right-aligned .content-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    @media screen and (min-width: 81.25em) {
      .cms-module.right-aligned .content-container {
        padding-left: 40px; } }
  .cms-module.right-aligned .content-banner {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    margin-bottom: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.right-aligned .content-banner {
        margin-bottom: 0; } }
  @media screen and (min-width: 81.25em) {
    .cms-module.left-aligned .content-container {
      padding-right: 40px; } }
  .cms-module.left-aligned .content-container + .content-banner {
    margin-top: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.left-aligned .content-container + .content-banner {
        margin-top: 0; } }
  .cms-module.column .content-container {
    text-align: center; }
  .cms-module.column .content-banner {
    max-width: 1080px;
    width: 100%;
    margin: 40px auto 60px; }
    .cms-module.column .content-banner img {
      max-height: 470px; }
  @media screen and (min-width: 81.25em) {
    .cms-module.column {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .cms-module.column-invert {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    padding-bottom: 40px; }
    .cms-module.column-invert .content-banner {
      max-width: 540px;
      width: 100%;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0 auto 0; }
      @media screen and (min-width: 81.25em) {
        .cms-module.column-invert .content-banner {
          height: 390px; } }
  .cms-module:not(.column):not(.column-invert):not(.row-invert):not(.layout-style).has-image .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    @media screen and (min-width: 81.25em) {
      .cms-module:not(.column):not(.column-invert):not(.row-invert):not(.layout-style).has-image .content-container {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; } }
  .cms-module:not(.left-aligned).has-image .content-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .cms-module:not(.left-aligned).column-invert .content-banner {
    margin: 0 auto 30px; }
  .cms-module:not(.left-aligned) .content-banner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .cms-module .content-banner {
    height: 100%;
    position: relative; }
    .cms-module .content-banner .image {
      height: 100%;
      width: 100%;
      text-align: center;
      place-content: normal; }
    .cms-module .content-banner img {
      -o-object-fit: contain;
         object-fit: contain;
      -o-object-position: top left;
         object-position: top left; }
      @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
        .cms-module .content-banner img {
          height: auto; } }
  .cms-module .read-more {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    overflow: hidden; }
  .cms-module .module-navigation {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    margin-top: auto; }
  .cms-module .read-more-button {
    line-height: 1; }
  .cms-module .blog-button, .cms-module .news-button, .cms-module .events-button {
    margin-left: auto;
    line-height: 1; }

.row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner {
  width: 590px; }
  @media screen and (min-width: 81.25em) {
    .row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner {
      height: 370px; } }
  .row-background.container-padding .cms-module.has-image:not(.column):not(.row-invert) .content-banner img {
    max-height: 375px; }

.row-background {
  position: relative; }
  .row-background:not([style*="background-color: transparent;"]) {
    padding-top: 10px;
    padding-bottom: 10px; }
    @media screen and (min-width: 81.25em) {
      .row-background:not([style*="background-color: transparent;"]) {
        padding-top: 15px;
        padding-bottom: 15px; } }
    .row-background:not([style*="background-color: transparent;"]) .module-background {
      margin-top: 0;
      margin-bottom: 0; }
  .row-background.remove-padding-top {
    padding-top: 0; }
    @media screen and (min-width: 81.25em) {
      .row-background.remove-padding-top {
        padding-top: 0; } }
  .row-background.remove-padding-bottom {
    padding-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .row-background.remove-padding-bottom {
        padding-bottom: 0; } }
  .row-background.remove-padding-both {
    padding-top: 0;
    padding-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .row-background.remove-padding-both {
        padding-top: 0;
        padding-bottom: 0; } }
  .row-background .row-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }

.module-background {
  width: 100%;
  position: relative;
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    .module-background {
      margin-top: 10px;
      margin-bottom: 10px; } }
  .module-background[style*="background-color: transparent;"] .cms-module.entry-module {
    padding-top: 20px;
    padding-bottom: 20px; }
    @media screen and (min-width: 81.25em) {
      .module-background[style*="background-color: transparent;"] .cms-module.entry-module {
        padding-top: 45px;
        padding-bottom: 45px; } }
  .module-background[style*="background-color: transparent;"] .news-module {
    margin-right: 25px;
    margin-left: 25px; }
    @media screen and (min-width: 81.25em) {
      .module-background[style*="background-color: transparent;"] .news-module {
        margin-right: 40px;
        margin-left: 25px; } }
  .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
    padding: 10px; }
    @media print, screen and (min-width: 40em) {
      .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
        padding: 10px; } }
    @media screen and (min-width: 81.25em) {
      .module-background:not([style*="background-color: transparent;"]), .module-background.has-background-image {
        padding: 15px; } }
    .module-background:not([style*="background-color: transparent;"]) .cms-module.entry-module, .module-background.has-background-image .cms-module.entry-module {
      padding-top: 20px;
      padding-bottom: 20px; }
      @media screen and (min-width: 81.25em) {
        .module-background:not([style*="background-color: transparent;"]) .cms-module.entry-module, .module-background.has-background-image .cms-module.entry-module {
          padding-top: 45px;
          padding-bottom: 45px; } }
    .module-background:not([style*="background-color: transparent;"]) .news-module, .module-background.has-background-image .news-module {
      margin: 25px; }
      @media screen and (min-width: 81.25em) {
        .module-background:not([style*="background-color: transparent;"]) .news-module, .module-background.has-background-image .news-module {
          margin: 40px; } }
    .module-background:not([style*="background-color: transparent;"]) .content-container:hover, .module-background.has-background-image .content-container:hover {
      -webkit-box-shadow: unset;
              box-shadow: unset; }
  .module-background .row-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }
  .module-background .module-background-image[style*="background-image"] {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    background-repeat: no-repeat;
    background-size: cover; }

.product-carousel-module.carousel-padding {
  padding: 0 0 50px; }

.cms-subsidiary-module .series-card {
  max-width: 100%;
  width: 100%;
  padding: 18px;
  border: 1px solid #dadada;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .cms-subsidiary-module .series-card:hover {
    border-color: transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-subsidiary-module .series-card > a {
    font-size: rem-cal(22);
    font-weight: 600;
    color: #01416f;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .cms-subsidiary-module .series-card > a:hover {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .cms-subsidiary-module .series-card ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .cms-subsidiary-module .series-card ul li:hover > a {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .cms-subsidiary-module .series-card ul li > a {
      font-size: 0.9375rem;
      color: #484848;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }

.ebg-information-module {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 81.25em) {
    .ebg-information-module {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .ebg-information-module .group-full-description {
    width: 100%; }
  @media screen and (min-width: 81.25em) {
    .ebg-information-module .group-notes {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; } }
  .ebg-information-module .group-notes.active .read-more-content {
    max-height: inherit; }
  .ebg-information-module .group-notes p {
    padding: 0;
    font-weight: 400;
    font-size: 1rem; }
    @media screen and (min-width: 81.25em) {
      .ebg-information-module .group-notes p {
        margin: 0; } }
  .ebg-information-module .group-notes .read-more-content {
    max-height: 200px; }
    @media screen and (min-width: 81.25em) {
      .ebg-information-module .group-notes .read-more-content {
        max-height: unset; } }
  .ebg-information-module .group-image {
    width: 100%;
    padding: 20px 0 0;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .ebg-information-module .group-image {
        max-width: 30%;
        display: inline-block;
        margin-left: 20px;
        padding: 0;
        text-align: right; } }

.page-heading-module {
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .page-heading-module {
      margin: 0 0 10px; } }
  .page-heading-module h1 {
    margin-bottom: 0; }
  .page-heading-module .cms-container {
    margin-bottom: 0; }

.module-config {
  margin-bottom: 10px;
  padding: 15px 10px;
  background-color: #eeeeee; }
  .module-config li, .module-config strong, .module-config h3 {
    color: #484848; }
  .module-config li, .module-config strong {
    font-size: 0.9375rem; }
  .module-config li strong {
    padding-right: 10px; }
    .module-config li strong:after {
      content: ':';
      display: inline-block;
      color: #484848; }
  .module-config h3 {
    position: relative;
    text-transform: uppercase;
    text-align: center; }
    .module-config h3:after {
      content: '';
      width: 80%;
      height: 2px;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #484848; }

.module-content-container.effect-style {
  --border-radius-small: 1px;
  --border-radius-medium: 5px;
  --border-radius-large: 25%;
  --border-radius-xlarge: 50%;
  --border-width-thin: 1px;
  --border-width-light: 2px;
  --border-width-medium: 5px;
  --border-width-bold: 10px;
  --image-reduce-small: .95;
  --image-reduce-medium: .80;
  --image-reduce-large: .60; }
  .module-content-container.effect-style .content-container {
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .module-content-container.effect-style .content-container:hover {
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }

.collection.module-content-container.image-border .content-container.image, .collection.module-content-container.image-border .content-container .image {
  border: var(--border-width, 10px) solid var(--border-colour, #ffffff); }

.collection.module-content-container.image-radius-animation .content-container.image, .collection.module-content-container.image-radius-animation .content-container .image {
  border: var(--border-width, 10px) solid var(--border-colour, #ffffff);
  border-radius: var(--border-radius, 50%);
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
  overflow: hidden;
  -webkit-transition: border-radius 0.8s;
  transition: border-radius 0.8s; }
  .collection.module-content-container.image-radius-animation .content-container.image:before, .collection.module-content-container.image-radius-animation .content-container .image:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    display: block;
    border-radius: var(--border-radius, 50%);
    -webkit-box-shadow: inset 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: inset 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: border-radius 0.8s;
    transition: border-radius 0.8s; }

.collection.module-content-container.image-radius-animation .content-container:hover .image {
  opacity: 1;
  border-radius: calc(var(--border-radius, 50%) / 2);
  -webkit-transition: border-radius 0.6s;
  transition: border-radius 0.6s; }
  .collection.module-content-container.image-radius-animation .content-container:hover .image:before {
    border-radius: calc(var(--border-radius, 50%) / 2);
    -webkit-transition: border-radius 0.6s;
    transition: border-radius 0.6s; }

.collection.module-content-container.image-radius-animation .content-container.image:hover {
  opacity: 1;
  border-radius: calc(var(--border-radius, 50%) / 2);
  -webkit-transition: border-radius 0.6s;
  transition: border-radius 0.6s; }
  .collection.module-content-container.image-radius-animation .content-container.image:hover:before {
    border-radius: calc((var(--border-radius, 50%)) / 2);
    -webkit-transition: border-radius 0.6s;
    transition: border-radius 0.6s; }

.collection.module-content-container.invert-cell-shadow .collection-item .content-container {
  border: 2px solid transparent;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, box-shadow 0.8s;
  transition: border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .collection.module-content-container.invert-cell-shadow .collection-item .content-container:hover {
    border-color: #eeeeee;
    -webkit-box-shadow: none;
            box-shadow: none;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .collection.module-content-container.invert-cell-shadow .collection-item .content-container:hover .image {
      opacity: 1; }

.collection.module-content-container.reduce-image-hover .content-container:hover {
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

.collection.module-content-container.reduce-image-hover .content-container.image:hover, .collection.module-content-container.reduce-image-hover .content-container:hover .image {
  opacity: 1; }
  .collection.module-content-container.reduce-image-hover .content-container.image:hover img, .collection.module-content-container.reduce-image-hover .content-container:hover .image img {
    -webkit-transform: scale(var(--reduce-image, 0.95));
            transform: scale(var(--reduce-image, 0.95));
    -webkit-transition: -webkit-transform 0.6s;
    transition: -webkit-transform 0.6s;
    transition: transform 0.6s;
    transition: transform 0.6s, -webkit-transform 0.6s; }

.collection.module-content-container.reduce-image-hover .content-container .image img, .collection.module-content-container.reduce-image-hover .image img {
  border-radius: 0;
  -webkit-transition: -webkit-transform 0.8s;
  transition: -webkit-transform 0.8s;
  transition: transform 0.8s;
  transition: transform 0.8s, -webkit-transform 0.8s; }

.collection.module-content-container.cell-border-default .collection-item .content-container {
  border: 1px solid #eeeeee; }
  .collection.module-content-container.cell-border-default .collection-item .content-container:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #01416f; }

.collection.module-content-container.box-shadow-default-hover-states .collection-item .content-container {
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .collection.module-content-container.box-shadow-default-hover-states .collection-item .content-container:hover {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }

.cms-module.effect-style.module-content-container.module-borders {
  padding: 20px 0 0;
  border: var(--border-width) solid var(--border-colour); }
  @media screen and (min-width: 81.25em) {
    .cms-module.effect-style.module-content-container.module-borders {
      padding-top: 0; } }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-top .content-banner {
    border-bottom: var(--border-width) solid var(--border-colour); }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-right .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
    @media screen and (min-width: 81.25em) {
      .cms-module.effect-style.module-content-container.module-borders.multimedia-right .content-banner {
        border-top: 0;
        border-left: var(--border-width) solid var(--border-colour); } }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-bottom .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
  .cms-module.effect-style.module-content-container.module-borders.multimedia-left .content-banner {
    border-top: var(--border-width) solid var(--border-colour); }
    @media screen and (min-width: 81.25em) {
      .cms-module.effect-style.module-content-container.module-borders.multimedia-left .content-banner {
        border-top: 0;
        border-right: var(--border-width) solid var(--border-colour); } }
  .cms-module.effect-style.module-content-container.module-borders .content-container {
    padding-right: 20px;
    padding-left: 20px; }
    @media screen and (min-width: 81.25em) {
      .cms-module.effect-style.module-content-container.module-borders .content-container {
        padding: 80px 100px; } }

.animation-module {
  --media-aspect-ratio: var(--media-width, auto)/var(--media-height, auto); }
  .animation-module [data-animation] {
    aspect-ratio: var(--media-aspect-ratio); }

/*
----- Stock Indiciator(s) -----
Handles the following: 
- Instock, Out of stock & Low stock icons.
- Email when back in stock
*/
.stock-indicator.preset1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center; }
  .stock-indicator.preset1 p {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0 5px 0 0;
    font-size: 0.875rem;
    font-weight: 400; }
    .stock-indicator.preset1 p:before {
      padding: 0 10px 0 0; }
  .stock-indicator.preset1 a {
    width: 100%;
    height: 100%;
    cursor: pointer; }
  .stock-indicator.preset1 .stockLevel {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-style: normal;
    font-size: 0.875rem;
    font-weight: 600; }

.stock-indicator.preset2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .stock-indicator.preset2.soh-2 a:hover, .stock-indicator.preset2.soh-1 a:hover, .stock-indicator.preset2.soh-0 a:hover {
    text-decoration: none; }
  .stock-indicator.preset2.soh-2 p, .stock-indicator.preset2.soh-2 span, .stock-indicator.preset2.soh-1 p, .stock-indicator.preset2.soh-1 span, .stock-indicator.preset2.soh-0 p, .stock-indicator.preset2.soh-0 span {
    display: inline-block; }
  .stock-indicator.preset2.soh-2 > p, .stock-indicator.preset2.soh-2 p, .stock-indicator.preset2.soh-2 .label, .stock-indicator.preset2.soh-1 > p, .stock-indicator.preset2.soh-1 p, .stock-indicator.preset2.soh-1 .label, .stock-indicator.preset2.soh-0 > p, .stock-indicator.preset2.soh-0 p, .stock-indicator.preset2.soh-0 .label {
    margin: 0 5px 0 0;
    font-style: normal;
    font-size: 0.875rem;
    font-weight: 400;
    color: #000000; }
    .stock-indicator.preset2.soh-2 > p:before, .stock-indicator.preset2.soh-2 p:before, .stock-indicator.preset2.soh-2 .label:before, .stock-indicator.preset2.soh-1 > p:before, .stock-indicator.preset2.soh-1 p:before, .stock-indicator.preset2.soh-1 .label:before, .stock-indicator.preset2.soh-0 > p:before, .stock-indicator.preset2.soh-0 p:before, .stock-indicator.preset2.soh-0 .label:before {
      padding: 0 5px 0 0; }
  .stock-indicator.preset2.soh-2 span, .stock-indicator.preset2.soh-1 span, .stock-indicator.preset2.soh-0 span {
    font-size: 0.875rem;
    font-weight: 600;
    font-style: normal; }

.stock-indicator.soh-2 > p:before, .stock-indicator.soh-2 p:before, .stock-indicator.soh-2 .label:before, .stock-indicator.soh-1 > p:before, .stock-indicator.soh-1 p:before, .stock-indicator.soh-1 .label:before, .stock-indicator.soh-0 > p:before, .stock-indicator.soh-0 p:before, .stock-indicator.soh-0 .label:before {
  display: inline-block;
  font-family: "Font Awesome Solid";
  font-style: normal; }

.stock-indicator.soh-2 > p:before, .stock-indicator.soh-2 .label:before {
  content: "";
  color: #00adef;
  font-size: 16px; }

.stock-indicator.soh-2 span {
  color: #00adef; }

.stock-indicator.soh-1 > p:before, .stock-indicator.soh-1 .label:before {
  content: "";
  color: rgba(103, 21, 106, 0.2);
  font-size: 16px; }

.stock-indicator.soh-1 span {
  color: rgba(103, 21, 106, 0.2); }

.stock-indicator.soh-1 .stockLevel {
  color: #01416f; }

.stock-indicator.soh-0 > p:before, .stock-indicator.soh-0 .label:before {
  content: "";
  color: #ff0101;
  font-size: 16px; }

.stock-indicator.soh-0 .stockLevel {
  color: #ff0101; }

.stock-indicator.notification:hover .stock-notification-icon:after {
  color: #67156a; }

.stock-indicator.notification.active .stock-notification-icon:after {
  color: #01416f; }

.stock-indicator.notification .stock-notification-icon:after {
  content: "";
  margin-left: 15px;
  color: #ff0101;
  font-family: "Font Awesome Regular";
  font-size: 16px; }

.stock-indicator.notification:not(.active):hover .stock-notification-icon:after {
  content: ""; }

.stock-indicator.notification.active:hover {
  cursor: no-drop; }

.stock-indicator.notification.active .stock-notification-icon:after {
  font-family: "Font Awesome Solid";
  color: #01416f; }

.stock-indicator [data-tooltip] {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.stock-indicator .label {
  text-align: left; }

.collection-only-indicator {
  color: #000000;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400; }
  .collection-only-indicator:before {
    content: "";
    display: inline-block;
    margin-right: 5px;
    font-size: 24px;
    font-family: "fontello"; }

#stockNotificationDetails {
  position: relative; }
  @media print, screen and (max-width: 81.24875em) {
    #stockNotificationDetails {
      top: 10vw !important; } }
  #stockNotificationDetails .cmsContainer {
    padding: 0 10px 20px;
    font-size: 0.9375rem; }

#notificationFormContainer {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  display: block; }
  @media screen and (min-width: 81.25em) {
    #notificationFormContainer {
      top: 0;
      bottom: 0; } }

#notificationDetailsForm {
  max-width: 85vw;
  width: 100%;
  position: relative;
  margin: auto;
  padding: 30px 20px;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    #notificationDetailsForm {
      max-width: 30vw; } }
  #notificationDetailsForm #notificationDetailsFormSubmit {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #01416f;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #notificationDetailsForm #notificationDetailsFormSubmit:enabled:hover {
      border: 1px solid #01416f;
      background-color: rgba(1, 65, 111, 0.5);
      color: #01416f;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #notificationDetailsForm #notificationDetailsFormSubmit:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #notificationDetailsForm .close-button {
    width: 45px;
    height: 45px;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    #notificationDetailsForm .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #eeeeee;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    #notificationDetailsForm .close-button:hover:before {
      color: #01416f;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    #notificationDetailsForm .close-button:active:before {
      color: #67156a;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

[data-stock-indicator-update] {
  display: none; }

.product-enquiry-details-container {
  width: 100%;
  display: grid;
  gap: 10px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-details-container {
      grid-auto-columns: auto;
      grid-template-columns: minmax(calc(30% - 7.5px), 1fr) minmax(calc(70% - 7.5px), 1fr);
      gap: 15px;
      margin-bottom: 55px; } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-details-container {
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 20px; } }
  .product-enquiry-details-container .product-enquiry-details-right, .product-enquiry-details-container .product-enquiry-details-response-area {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .product-enquiry-details-container .product-enquiry-details-right, .product-enquiry-details-container .product-enquiry-details-response-area {
        gap: 10px 0; } }
    .product-enquiry-details-container .product-enquiry-details-right .callbackContainer, .product-enquiry-details-container .product-enquiry-details-response-area .callbackContainer {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0; }
  .product-enquiry-details-container .product-enquiry-module {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 15px; }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-details-container .product-enquiry-module {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline;
        gap: 10px 25px; } }
    @media screen and (min-width: 81.25em) {
      .product-enquiry-details-container .product-enquiry-module {
        gap: 10px 30px; } }
    .product-enquiry-details-container .product-enquiry-module:not(:has(*)) {
      display: none; }
    .product-enquiry-details-container .product-enquiry-module hr {
      width: 100%;
      border-top: 1px solid #dadada;
      border-bottom: 0; }
  .product-enquiry-details-container .reveal-social-icons-container .share-button {
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
    .product-enquiry-details-container .reveal-social-icons-container .share-button:after {
      font-size: 17px; }

.product-enquiry-heading-container .product-enquiry-heading {
  margin: 0;
  padding: 0;
  color: #01416f;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 34px;
  text-transform: none; }

.product-enquiry-selection-container {
  width: 100%; }
  @media print, screen and (max-width: 39.99875em) {
    .product-enquiry-selection-container {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 10px 15px; } }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-selection-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 25px; } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-selection-container {
      gap: 10px 30px; } }

.quantity-module, .product-enquiry-quantity-selector {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .quantity-module .label, .product-enquiry-quantity-selector .label {
    margin-right: 10px;
    padding: 6px 0;
    line-height: 25px;
    font-size: 0.9375rem;
    font-weight: 600;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .quantity-module .label, .product-enquiry-quantity-selector .label {
        margin-right: 15px; } }
  .quantity-module .select, .product-enquiry-quantity-selector .select {
    width: unset; }
    .quantity-module .select .control-select-container, .product-enquiry-quantity-selector .select .control-select-container {
      min-width: unset; }

#main-product-information-container {
  padding: 20px 5px 0; }
  @media screen and (min-width: 81.25em) {
    #main-product-information-container {
      padding: 40px 0 0; } }

#productImage, .product-enquiry-main-multimedia-container {
  margin: 0 0 20px;
  text-align: center;
  position: relative; }
  @media screen and (min-width: 81.25em) {
    #productImage, .product-enquiry-main-multimedia-container {
      margin: 0 auto;
      text-align: inherit; } }
  #productImage #additional-images, #productImage .product-enquiry-additional-images, .product-enquiry-main-multimedia-container #additional-images, .product-enquiry-main-multimedia-container .product-enquiry-additional-images {
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      #productImage #additional-images, #productImage .product-enquiry-additional-images, .product-enquiry-main-multimedia-container #additional-images, .product-enquiry-main-multimedia-container .product-enquiry-additional-images {
        width: 375px; } }
  #productImage .additionalImageSliderContainer, .product-enquiry-main-multimedia-container .additionalImageSliderContainer {
    margin: auto; }
    #productImage .additionalImageSliderContainer .slide.active .thumbnail, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .slide.active .thumbnail {
      border: 1px solid #2f6589; }
    @media screen and (min-width: 81.25em) {
      #productImage .additionalImageSliderContainer .bx-prev,
      #productImage .additionalImageSliderContainer .bx-next, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev,
      .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next {
        -webkit-box-shadow: none;
                box-shadow: none;
        width: 30px;
        height: 30px; }
        #productImage .additionalImageSliderContainer .bx-prev:before,
        #productImage .additionalImageSliderContainer .bx-next:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev:before,
        .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next:before {
          width: 20px;
          height: 20px;
          position: absolute;
          top: 0;
          bottom: 0;
          font-family: "Font Awesome Solid";
          font-size: 26px;
          color: #01416f;
          display: inline-block;
          margin: auto;
          border: 0;
          border-width: 0; } }
    @media screen and (min-width: 81.25em) {
      #productImage .additionalImageSliderContainer .bx-prev, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev {
        right: 30px; }
        #productImage .additionalImageSliderContainer .bx-prev:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-prev:before {
          right: 15px;
          -webkit-transform: rotate(270deg);
                  transform: rotate(270deg); } }
    @media screen and (min-width: 81.25em) {
      #productImage .additionalImageSliderContainer .bx-next, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next {
        left: 21px; }
        #productImage .additionalImageSliderContainer .bx-next:before, .product-enquiry-main-multimedia-container .additionalImageSliderContainer .bx-next:before {
          left: 10px;
          -webkit-transform: rotate(-270deg);
                  transform: rotate(-270deg); } }

#mainImageContainer {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto 20px;
  overflow: hidden; }
  #mainImageContainer:hover .overlay {
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  #mainImageContainer .overlay {
    opacity: 1;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  #mainImageContainer.image-360 {
    position: relative; }
    #mainImageContainer.image-360:hover:after {
      display: none; }
    #mainImageContainer.image-360:after {
      content: '';
      max-width: 90px;
      max-height: 90px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: block;
      background-color: rgba(0, 0, 0, 0.2);
      background-image: url("/template/content/development/images/icons/3dicon.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 80%;
      border-radius: 12.5px;
      border: 2px solid rgba(218, 218, 218, 0.2); }
  #mainImageContainer img {
    max-height: 550px;
    margin: 0 auto; }

.product-enquiry-main-image, #mainImageContainer.product-enquiry-main-image {
  --media-aspect-ratio: 1/1;
  margin: 0 auto;
  border: 1px solid #dadada;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .product-enquiry-main-image:hover, #mainImageContainer.product-enquiry-main-image:hover {
    border-color: #01416f;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .product-enquiry-main-image img, #mainImageContainer.product-enquiry-main-image img {
    min-width: 300px;
    max-height: none;
    min-height: 300px; }
  .product-enquiry-main-image + .product-enquiry-additional-images:has(img), #mainImageContainer.product-enquiry-main-image + .product-enquiry-additional-images:has(img) {
    margin: 20px auto 0; }

.product-overlay-module {
  margin: 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media print, screen and (max-width: 81.24875em) {
    .product-overlay-module {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }
  @media screen and (min-width: 81.25em) {
    .product-overlay-module {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin: 0; } }
  .product-overlay-module > a {
    display: block;
    text-align: center;
    margin: 10px auto; }
    @media screen and (min-width: 81.25em) {
      .product-overlay-module > a {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 calc(33% - 15px);
                flex: 0 1 calc(33% - 15px);
        margin: 10px 12px; }
        .product-overlay-module > a:nth-child(3n) {
          margin-right: 0; }
        .product-overlay-module > a:nth-child(3n + 1) {
          margin-left: 0; }
        .product-overlay-module > a:last-child {
          margin-right: 0; } }

.product-enquiry-highlighted-banners {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 10px;
  margin: 5px 0 10px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-highlighted-banners {
      grid-template-columns: repeat(3, 1fr); } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-highlighted-banners {
      grid-template-columns: repeat(5, 1fr);
      gap: 5px;
      margin: 10px 0 15px; } }

.part-code-container span {
  padding-right: 5px; }

.part-code-container, .product-enquiry-reference-container {
  margin-bottom: 40px;
  font-size: 0.9375rem;
  color: #000000; }
  .part-code-container p, .product-enquiry-reference-container p {
    margin: 0;
    padding: 0; }
  .part-code-container span, .product-enquiry-reference-container span {
    font-weight: 700; }

.product-enquiry-reference-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0;
  padding: 10px 0;
  gap: 10px 25px;
  border-bottom: 1px solid #dadada; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-reference-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 20px 0; } }

.product-enquiry-label-value-pair {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 5px; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-label-value-pair {
      gap: 5px 10px; } }
  .product-enquiry-label-value-pair .label {
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
  .product-enquiry-label-value-pair .value {
    color: #000000;
    font-size: 0.875rem;
    font-weight: 400; }
  .product-enquiry-label-value-pair button, .product-enquiry-label-value-pair .tooltip-trigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 5px; }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-label-value-pair button, .product-enquiry-label-value-pair .tooltip-trigger {
        gap: 5px 10px; } }

#product #product-info-left h1 {
  margin: 0 0 20px;
  padding-right: 50px;
  color: #01416f;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 34px;
  text-transform: none; }

#product .slide .label {
  display: none; }

#product .addButtonContainer {
  width: 100%;
  margin: 10px 0;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

#product #product-notes {
  margin: 20px 0 0; }
  @media screen and (min-width: 81.25em) {
    #product #product-notes {
      margin: 0 0 40px; } }
  #product #product-notes h3 {
    font-weight: 700;
    font-size: 1.125rem;
    color: #000000;
    text-transform: uppercase; }
  #product #product-notes p, #product #product-notes li {
    font-size: 1rem;
    font-weight: 400;
    line-height: 25px;
    color: #000000; }
  #product #product-notes .product-read-more {
    height: 14vh;
    overflow: hidden; }
  #product #product-notes .tabbed-read-more {
    font-weight: 700; }
    #product #product-notes .tabbed-read-more:hover {
      text-decoration: underline; }

#product #alternative-options {
  width: 100%; }
  @media screen and (min-width: 81.25em) {
    #product #alternative-options {
      margin-bottom: 30px; } }
  #product #alternative-options h3 {
    margin-bottom: 40px;
    font-size: 0.9375rem;
    line-height: 1; }
  #product #alternative-options .carousel {
    width: 100%; }

.product-enquiry-basket-button-container {
  width: 100%;
  margin: 0;
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-basket-button-container {
      margin: 10px 0; } }

.hazard-statement-container {
  margin-bottom: 20px;
  border: 1px solid #000000;
  border-radius: 0; }
  .hazard-statement-container .hazard-icons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px;
    margin: 15px 0 10px; }
    .hazard-statement-container .hazard-icons-container + .hazard-info-container {
      border-top: 1px solid #dadada; }
  .hazard-statement-container .hazard-icon {
    width: 75px;
    height: 75px;
    background-size: 100%; }
    .hazard-statement-container .hazard-icon.haz-cat-toxic {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-acute-toxicity-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-gas {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-compressed-gas-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-corrosive {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-corrosive-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-environment {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-environmental-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-explosive {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-explosive-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-flammable {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-flammable-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-ozone {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-harmful-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-oxidising {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-oxidising-icon.svg"); }
    .hazard-statement-container .hazard-icon.haz-cat-health {
      background-image: url("/template/content/development/images/icons/hazard-statement-icons/hazard-serious-health-icon.svg"); }
  .hazard-statement-container .hazard-info-container {
    padding: 10px 0 20px; }
    .hazard-statement-container .hazard-info-container h4 {
      margin: 0 0 15px;
      padding: 0;
      font-size: 1rem;
      font-weight: 700; }
    .hazard-statement-container .hazard-info-container p {
      margin: var(--indent-margin, 0);
      font-size: 0.9375rem;
      color: #000000; }
      .hazard-statement-container .hazard-info-container p img[style*="float:left"], .hazard-statement-container .hazard-info-container p img[style*="float: left"], .hazard-statement-container .hazard-info-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .hazard-statement-container .hazard-info-container p img[style*="float:right"], .hazard-statement-container .hazard-info-container p img[style*="float: right"], .hazard-statement-container .hazard-info-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .hazard-statement-container .hazard-info-container p img {
        margin: .2em 0; }
      .hazard-statement-container .hazard-info-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
  .hazard-statement-container .hazard-icons-container, .hazard-statement-container .hazard-info-container {
    margin-right: 20px;
    margin-left: 20px; }

.product-enquiry-multi-line-container {
  width: 100%; }
  .product-enquiry-multi-line-container .multi-line-heading {
    margin: 0 0 10px; }
    .product-enquiry-multi-line-container .multi-line-heading h2, .product-enquiry-multi-line-container .multi-line-heading h3, .product-enquiry-multi-line-container .multi-line-heading h4 {
      font-size: 0.875rem;
      font-weight: 700;
      font-family: "Khula", "Khula Fallback", "Arial";
      color: #000000; }
  .product-enquiry-multi-line-container .multi-line-content ul, .product-enquiry-multi-line-container .multi-line-content ol {
    text-align: left; }
  .product-enquiry-multi-line-container .multi-line-content ul {
    margin: 10px;
    padding: 0;
    line-height: 1.6;
    list-style: none;
    line-height: 25px; }
    .product-enquiry-multi-line-container .multi-line-content ul ul {
      padding-top: 0;
      padding-bottom: 0;
      padding-left: 25px; }
    .product-enquiry-multi-line-container .multi-line-content ul li {
      position: relative;
      padding: 0 0 0 15px; }
      .product-enquiry-multi-line-container .multi-line-content ul li:before {
        content: '';
        width: 5px;
        height: 5px;
        position: absolute;
        top: 10px;
        left: 0;
        margin: auto;
        display: block;
        background-color: #01416f;
        border-radius: 5px; }
  .product-enquiry-multi-line-container .multi-line-content ol {
    margin: 10px;
    padding: 0 25px;
    line-height: 1.6; }
    .product-enquiry-multi-line-container .multi-line-content ol ol {
      margin: 0;
      padding-top: 0;
      padding-bottom: 0;
      list-style-type: lower-alpha; }
      .product-enquiry-multi-line-container .multi-line-content ol ol ol {
        list-style-type: lower-roman; }
        .product-enquiry-multi-line-container .multi-line-content ol ol ol ol {
          list-style-type: lower-alpha; }
          .product-enquiry-multi-line-container .multi-line-content ol ol ol ol ol {
            list-style-type: lower-roman; }
  .product-enquiry-multi-line-container .multi-line-content li {
    color: #000000;
    font-size: 0.9375rem;
    font-weight: 400;
    line-height: 1.6; }
  .product-enquiry-multi-line-container .multi-line-content ul + h1, .product-enquiry-multi-line-container .multi-line-content ol + h1 {
    margin-top: 20px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h2, .product-enquiry-multi-line-container .multi-line-content ol + h2 {
    margin-top: 20px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h3, .product-enquiry-multi-line-container .multi-line-content ol + h3 {
    margin-top: 10px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h4, .product-enquiry-multi-line-container .multi-line-content ol + h4 {
    margin-top: 10px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h5, .product-enquiry-multi-line-container .multi-line-content ol + h5 {
    margin-top: 10px; }
  .product-enquiry-multi-line-container .multi-line-content ul + h6, .product-enquiry-multi-line-container .multi-line-content ol + h6 {
    margin-top: 15px; }
  .product-enquiry-multi-line-container .multi-line-content dl {
    text-align: left; }
  .product-enquiry-multi-line-container .multi-line-content ul, .product-enquiry-multi-line-container .multi-line-content ol {
    margin: 0; }
  .product-enquiry-multi-line-container .multi-line-content ul {
    padding-left: 0; }
  .product-enquiry-multi-line-container .multi-line-content p, .product-enquiry-multi-line-container .multi-line-content li {
    margin: 0;
    padding: 0;
    font-size: 0.9375rem;
    color: #000000; }
  .product-enquiry-multi-line-container.product-notes {
    padding: 0 0 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #dadada; }
    .product-enquiry-multi-line-container.product-notes .read-more:not(:has(.read-more-content)) {
      max-height: 100px; }

#split-specification ul {
  list-style: none;
  line-height: 25px;
  padding-left: 0; }
  #split-specification ul li {
    position: relative;
    padding: 0 0 0 15px; }
    #split-specification ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #01416f;
      border-radius: 5px; }

#split-specification li {
  margin: 5px 0; }

#split-specification li, #split-specification p, #split-specification a, #split-specification span {
  color: #000000;
  font-size: 1rem;
  font-weight: 400;
  line-height: 25px; }

.split-specification {
  padding: 20px 0; }

@media print, screen and (max-width: 81.24875em) {
  #product-price-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

#product-price-container .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  #product-price-container .prices .price-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      #product-price-container .prices .price-container {
        margin-right: auto;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .rrp {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-price {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-size {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .pack-item-price {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 81.25em) {
  #product-price-container .saving {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; } }

#product-price-container .price .label:empty + .value {
  margin-left: 0; }

@media screen and (min-width: 81.25em) {
  #product-price-container .price {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; } }

#product-price-container .price .value {
  font-size: 1.75rem; }

.optional-extras-container {
  padding: 10px 0 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #dadada; }
  .optional-extras-container table {
    margin-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table tr:not(:has(.image-col)) .description-col {
        width: 400px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table tr:not(:has(.image-col)) .code-col {
        width: 125px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table tr:not(:has(.image-col)) .price-col {
        width: 80px; } }
    .optional-extras-container table tr:not(:has(.image-col)) td.description-col {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      text-align: left; }
      .optional-extras-container table tr:not(:has(.image-col)) td.description-col .image {
        width: 100px;
        display: block;
        margin-right: 20px; }
      .optional-extras-container table tr:not(:has(.image-col)) td.description-col .description-container {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin: 10px 0 0; }
        @media screen and (min-width: 81.25em) {
          .optional-extras-container table tr:not(:has(.image-col)) td.description-col .description-container {
            margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table td.description-col {
        width: 280px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table .code-col {
        width: 100px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table .price-col {
        width: 80px; } }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container table .add-col {
        width: 80px; } }
    .optional-extras-container table th.description-col {
      padding-left: 10px; }
  .optional-extras-container .description-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    text-align: left;
    gap: 10px; }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container .description-container {
        padding-left: 15px; } }
    .optional-extras-container .description-container .description {
      line-height: 1.2;
      font-weight: 700;
      color: #484848;
      font-size: 0.9375rem; }
  .optional-extras-container td.code-col {
    font-size: 0.9375rem; }
  .optional-extras-container .image-col {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .optional-extras-container .image-col {
        width: 110px; } }
  .optional-extras-container .image {
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: block; }
  .optional-extras-container .intro-container {
    padding: 20px 5px; }
    .optional-extras-container .intro-container p {
      margin: var(--indent-margin, 0);
      font-size: 0.9375rem;
      color: #000000; }
      .optional-extras-container .intro-container p img[style*="float:left"], .optional-extras-container .intro-container p img[style*="float: left"], .optional-extras-container .intro-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .optional-extras-container .intro-container p img[style*="float:right"], .optional-extras-container .intro-container p img[style*="float: right"], .optional-extras-container .intro-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .optional-extras-container .intro-container p img {
        margin: .2em 0; }
      .optional-extras-container .intro-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .optional-extras-container .intro-container ul, .optional-extras-container .intro-container ol {
      text-align: left; }
    .optional-extras-container .intro-container ul {
      margin: 10px;
      padding: 0;
      line-height: 1.6;
      list-style: none;
      line-height: 25px; }
      .optional-extras-container .intro-container ul ul {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px; }
      .optional-extras-container .intro-container ul li {
        position: relative;
        padding: 0 0 0 15px; }
        .optional-extras-container .intro-container ul li:before {
          content: '';
          width: 5px;
          height: 5px;
          position: absolute;
          top: 10px;
          left: 0;
          margin: auto;
          display: block;
          background-color: #01416f;
          border-radius: 5px; }
    .optional-extras-container .intro-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.6; }
      .optional-extras-container .intro-container ol ol {
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
        list-style-type: lower-alpha; }
        .optional-extras-container .intro-container ol ol ol {
          list-style-type: lower-roman; }
          .optional-extras-container .intro-container ol ol ol ol {
            list-style-type: lower-alpha; }
            .optional-extras-container .intro-container ol ol ol ol ol {
              list-style-type: lower-roman; }
    .optional-extras-container .intro-container li {
      color: #000000;
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.6; }
    .optional-extras-container .intro-container ul + h1, .optional-extras-container .intro-container ol + h1 {
      margin-top: 20px; }
    .optional-extras-container .intro-container ul + h2, .optional-extras-container .intro-container ol + h2 {
      margin-top: 20px; }
    .optional-extras-container .intro-container ul + h3, .optional-extras-container .intro-container ol + h3 {
      margin-top: 10px; }
    .optional-extras-container .intro-container ul + h4, .optional-extras-container .intro-container ol + h4 {
      margin-top: 10px; }
    .optional-extras-container .intro-container ul + h5, .optional-extras-container .intro-container ol + h5 {
      margin-top: 10px; }
    .optional-extras-container .intro-container ul + h6, .optional-extras-container .intro-container ol + h6 {
      margin-top: 15px; }
    .optional-extras-container .intro-container dl {
      text-align: left; }
    @media print, screen and (min-width: 40em) {
      .optional-extras-container .intro-container {
        text-align: center; } }
  .optional-extras-container .cms-content-container {
    text-align: left; }

#product-case-pricing, #product-price-container {
  margin: 0 0 5px; }
  @media screen and (min-width: 81.25em) {
    #product-case-pricing, #product-price-container {
      margin: 0 0 40px; } }

.product-enquiry-favourites-container .favourites:after {
  font-size: 16px; }

#product-quantity-break-pricing, .product-enquiry-price-break-container {
  max-width: 100%;
  margin: auto;
  padding: 0 0 40px; }
  @media screen and (min-width: 81.25em) {
    #product-quantity-break-pricing, .product-enquiry-price-break-container {
      margin: 0 0 0 auto; } }
  #product-quantity-break-pricing .quantity-break-module-description, .product-enquiry-price-break-container .quantity-break-module-description {
    width: 100%;
    padding: 5px 0;
    color: var(--primary-colour-lightness-0);
    font-weight: 700;
    font-size: 0.9375rem;
    text-align: center;
    border: 2px solid rgba(18, 129, 191, 0.8);
    border-radius: 0; }
    #product-quantity-break-pricing .quantity-break-module-description span, .product-enquiry-price-break-container .quantity-break-module-description span {
      color: var(--primary-colour-lightness-0);
      padding-left: 20px;
      font-weight: 700; }
  #product-quantity-break-pricing table, .product-enquiry-price-break-container table {
    margin: 15px 0 0; }
    #product-quantity-break-pricing table th, .product-enquiry-price-break-container table th {
      padding: 0 5px 10px; }
    #product-quantity-break-pricing table tbody td, .product-enquiry-price-break-container table tbody td {
      text-align: center;
      font-weight: 400; }
      #product-quantity-break-pricing table tbody td.savings-col, .product-enquiry-price-break-container table tbody td.savings-col {
        color: #ff0101;
        font-weight: 700; }
    #product-quantity-break-pricing table .quantity-col, .product-enquiry-price-break-container table .quantity-col {
      width: 30%; }
    #product-quantity-break-pricing table .price-per-item-col, .product-enquiry-price-break-container table .price-per-item-col {
      width: 40%; }
    #product-quantity-break-pricing table .savings-col, .product-enquiry-price-break-container table .savings-col {
      width: 30%; }

@media screen and (min-width: 81.25em) {
  #product-quantity-break-pricing, .grouped-product-modules {
    margin-left: 20px; } }

.product-enquiry-price-break-container {
  width: 100%;
  margin: 10px 0 20px;
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-price-break-container {
      margin: 15px 0 20px; } }

.product-enquiry-single-pricing {
  --price-max-width: 1fr; }
  @media print, screen and (min-width: 40em) {
    .product-enquiry-single-pricing {
      --price-max-width: 50%; } }
  @media screen and (min-width: 81.25em) {
    .product-enquiry-single-pricing {
      --price-max-width: 40%; } }

.product-enquiry-group-pricing {
  --price-max-width: 1fr; }

@media print, screen and (min-width: 40em) {
  .product-enquiry-single-pricing .prices .price {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin-top: auto; } }

.product-enquiry-single-pricing .prices .price .value {
  line-height: normal; }

.product-enquiry-single-pricing, .product-enquiry-group-pricing {
  width: 100%;
  padding: 10px 0; }
  .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
    width: 100%;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(220px, var(--price-max-width))); }
    @media print, screen and (min-width: 40em) {
      .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
        grid-template-columns: repeat(auto-fit, minmax(190px, calc(var(--price-max-width) - 10px)));
        gap: 10px 20px; } }
    @media screen and (min-width: 81.25em) {
      .product-enquiry-single-pricing .prices, .product-enquiry-group-pricing .prices {
        grid-template-columns: repeat(auto-fit, minmax(190px, calc(var(--price-max-width) - 10px)));
        gap: 10px 20px; } }
    .product-enquiry-single-pricing .prices .price-group-container, .product-enquiry-group-pricing .prices .price-group-container {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      .product-enquiry-single-pricing .prices .price-group-container:not(:has(*)), .product-enquiry-group-pricing .prices .price-group-container:not(:has(*)) {
        display: none; }
      .product-enquiry-single-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after, .product-enquiry-group-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        right: 0;
        bottom: calc(20px / 2 * -1);
        left: 0;
        display: block;
        margin: auto;
        background-color: #aeaeae; }
      @media screen and (min-width: 30em) {
        .product-enquiry-single-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after, .product-enquiry-group-pricing .prices .price-group-container:has(+ .price-group-container > *):not(:last-child):after {
          width: 1px;
          height: 90%;
          position: absolute;
          top: 0;
          right: calc(20px / 2 * -1);
          bottom: 0;
          left: unset; } }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.rrp, .product-enquiry-single-pricing .prices .price-group-container .price-container.saving, .product-enquiry-group-pricing .prices .price-group-container .price-container.rrp, .product-enquiry-group-pricing .prices .price-group-container .price-container.saving {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.rrp + .saving, .product-enquiry-group-pricing .prices .price-group-container .price-container.rrp + .saving {
        margin-left: 10px; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .label:not(:empty), .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .label:not(:empty), .product-enquiry-group-pricing .prices .price-group-container .price-container.price .label:not(:empty), .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .label:not(:empty) {
        margin-right: 10px; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .value, .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .value, .product-enquiry-group-pricing .prices .price-group-container .price-container.price .value, .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .value {
        margin-left: 0;
        font-size: 1.75rem;
        font-weight: 700; }
      .product-enquiry-single-pricing .prices .price-group-container .price-container.price .vat, .product-enquiry-single-pricing .prices .price-group-container .price-container.group-price .vat, .product-enquiry-group-pricing .prices .price-group-container .price-container.price .vat, .product-enquiry-group-pricing .prices .price-group-container .price-container.group-price .vat {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; }

#product-case-pricing .case-price p {
  margin: 0;
  font-weight: 700;
  font-size: 1rem; }

#product-case-pricing .price {
  margin: 5px 0; }

.delivery-countdown-container [data-countdown-time] {
  font-size: 0.875rem;
  font-weight: 400; }

#additional-images .collection-item.active .thumbnail a, .product-enquiry-additional-images .collection-item.active .thumbnail a {
  border: 1px solid #67156a;
  opacity: 0.6;
  -webkit-transition: border 0.8s;
  transition: border 0.8s; }

#additional-images .thumbnail, .product-enquiry-additional-images .thumbnail {
  width: 100%;
  height: 100%; }
  #additional-images .thumbnail a, .product-enquiry-additional-images .thumbnail a {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    z-index: 100;
    border: 1px solid #dadada;
    -webkit-transition: border 0.6s;
    transition: border 0.6s; }
    #additional-images .thumbnail a:hover, .product-enquiry-additional-images .thumbnail a:hover {
      border: 1px solid #01416f;
      -webkit-transition: border 0.6s;
      transition: border 0.6s; }
    #additional-images .thumbnail a:active, .product-enquiry-additional-images .thumbnail a:active {
      border: 1px solid rgba(103, 21, 106, 0.5);
      -webkit-transition: border 0.6s;
      transition: border 0.6s; }
    #additional-images .thumbnail a.image-360, .product-enquiry-additional-images .thumbnail a.image-360 {
      position: relative; }
      #additional-images .thumbnail a.image-360:hover:after, .product-enquiry-additional-images .thumbnail a.image-360:hover:after {
        display: none; }
      #additional-images .thumbnail a.image-360:after, .product-enquiry-additional-images .thumbnail a.image-360:after {
        content: '';
        max-width: 55px;
        max-height: 55px;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        display: block;
        background-color: rgba(0, 0, 0, 0.2);
        background-image: url("/template/content/development/images/icons/3dicon.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: 80%;
        border-radius: 12.5px;
        border: 2px solid rgba(218, 218, 218, 0.2); }
    #additional-images .thumbnail a.video-thumbnail img, .product-enquiry-additional-images .thumbnail a.video-thumbnail img {
      max-width: 150px;
      width: 100%; }
      @media screen and (min-width: 81.25em) {
        #additional-images .thumbnail a.video-thumbnail img, .product-enquiry-additional-images .thumbnail a.video-thumbnail img {
          max-width: auto; } }

.grouped-product-modules {
  padding: 0;
  list-style: none; }
  @media screen and (min-width: 81.25em) {
    .grouped-product-modules {
      margin: 0 0 0 20px; } }
  .grouped-product-modules > li {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: auto;
    border-top: 1px solid #dadada; }
    .grouped-product-modules > li:last-child {
      border-bottom: 1px solid #dadada; }
    .grouped-product-modules > li > a, .grouped-product-modules > li > span, .grouped-product-modules > li > p, .grouped-product-modules > li > div {
      padding: 15px 0; }
    .grouped-product-modules > li a, .grouped-product-modules > li span {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .grouped-product-modules > li:last-child {
      margin-bottom: 20px;
      border-bottom: 1px solid #dadada; }
      @media screen and (min-width: 81.25em) {
        .grouped-product-modules > li:last-child {
          margin-bottom: 40px; } }
  .grouped-product-modules .rating-summary-display {
    margin-left: 10px; }

#additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
  margin-right: -0.23438rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    #additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
      margin-right: -0.3125rem;
      margin-left: -0.3125rem; } }
  @media screen and (min-width: 81.25em) {
    #additional-image-grid .additional-image-x, .additional-image-grid .additional-image-x {
      margin-right: -0.15625rem;
      margin-left: -0.15625rem; } }

#additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
  height: auto;
  margin-bottom: 10px; }
  @media print, screen and (min-width: 40em) {
    #additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
      margin-bottom: 10px; } }
  @media screen and (min-width: 81.25em) {
    #additional-image-grid .thumbnail, .additional-image-grid .thumbnail {
      margin-bottom: 5px; } }

#additional-image-grid .small-up-1 > .thumbnail, .additional-image-grid .small-up-1 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-2 > .thumbnail, .additional-image-grid .small-up-2 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(50% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-3 > .thumbnail, .additional-image-grid .small-up-3 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(33.33333% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-4 > .thumbnail, .additional-image-grid .small-up-4 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(25% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

#additional-image-grid .small-up-5 > .thumbnail, .additional-image-grid .small-up-5 > .thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(20% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-1 > .thumbnail, .additional-image-grid .medium-up-1 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-2 > .thumbnail, .additional-image-grid .medium-up-2 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(50% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-3 > .thumbnail, .additional-image-grid .medium-up-3 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(33.33333% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-4 > .thumbnail, .additional-image-grid .medium-up-4 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(25% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media print, screen and (min-width: 40em) {
  #additional-image-grid .medium-up-5 > .thumbnail, .additional-image-grid .medium-up-5 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(20% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-1 > .thumbnail, .additional-image-grid .large-up-1 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(100% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-2 > .thumbnail, .additional-image-grid .large-up-2 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(50% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-3 > .thumbnail, .additional-image-grid .large-up-3 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(33.33333% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-4 > .thumbnail, .additional-image-grid .large-up-4 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(25% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

@media screen and (min-width: 81.25em) {
  #additional-image-grid .large-up-5 > .thumbnail, .additional-image-grid .large-up-5 > .thumbnail {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
    width: calc(20% - 0.3125rem);
    margin-left: 0.15625rem;
    margin-right: 0.15625rem; } }

.stockline-attribute-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 15px;
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .stockline-attribute-container {
      gap: 10px;
      margin: 0 0 20px; } }
  .stockline-attribute-container .control .control-select-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    @media screen and (min-width: 81.25em) {
      .stockline-attribute-container .control .control-select-container {
        max-width: 520px;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; } }
  .stockline-attribute-container .control .control-select-option.unavailable-option {
    background-color: #f3f3f3;
    color: #7b7b7b;
    opacity: .5;
    cursor: not-allowed; }
    .stockline-attribute-container .control .control-select-option.unavailable-option:active {
      opacity: .8; }
  .stockline-attribute-container .label, .stockline-attribute-container .description {
    width: 40%;
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .stockline-attribute-container .label, .stockline-attribute-container .description {
        width: 27%; } }
  .stockline-attribute-container .attribute-display .label {
    display: inline-block;
    margin: 0; }
  .stockline-attribute-container .attribute-display .value {
    display: inline-block;
    font-size: 0.9375rem; }
  .stockline-attribute-container .attribute-container {
    max-width: 100%;
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .stockline-attribute-container .attribute-container {
        max-width: 100%; } }

#product-info-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    #product-info-left {
      margin-right: 20px; } }
  #product-info-left.preset-1 #product-specification-description {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  #product-info-left.preset-1 .part-code-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #product-info-left.preset-1 #productImage, #product-info-left.preset-1 .product-enquiry-main-multimedia-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #product-info-left.preset-2 #product-specification-description {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #product-info-left.preset-2 .part-code-container {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #product-info-left.preset-2 #productImage, #product-info-left.preset-2 .product-enquiry-main-multimedia-container {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }

@media print, screen and (min-width: 40em) {
  .product-enquiry-tabs-container {
    padding: 20px 0 35px; } }

@media screen and (min-width: 81.25em) {
  .product-enquiry-tabs-container {
    padding: 25px 0 45px; } }

.product.previously-purchased-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px 10px;
  margin: 0 0 15px;
  padding: 15px 0;
  border: 2px solid var(--accent-colour-4-lightness-6);
  background-color: var(--accent-colour-4-lightness-9);
  border-radius: 0; }
  @media print, screen and (min-width: 40em) {
    .product.previously-purchased-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 20px;
      margin: 0 0 35px;
      padding: 15px 0; } }
  .product.previously-purchased-container h3 {
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 1rem;
    font-weight: 700;
    color: #000000;
    text-align: center; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container h3 {
        width: auto;
        font-size: 0.875rem; } }
  .product.previously-purchased-container p {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    gap: 5px;
    margin: 0;
    padding: 0;
    color: #000000;
    font-size: 0.875rem;
    font-weight: 700; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container p {
        gap: 5px 10px; } }
    .product.previously-purchased-container p span {
      font-weight: 400; }
  .product.previously-purchased-container .view-order-link {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0;
    padding: 0;
    color: #a234e3;
    font-size: 0.875rem;
    font-weight: 600; }
    @media screen and (min-width: 81.25em) {
      .product.previously-purchased-container .view-order-link {
        padding: 5px;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .product.previously-purchased-container .view-order-link:hover {
      color: #67156a; }
      .product.previously-purchased-container .view-order-link:hover:after {
        color: #67156a;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
    .product.previously-purchased-container .view-order-link:active {
      color: #01416f; }
      .product.previously-purchased-container .view-order-link:active:after {
        color: #01416f; }
  .product.previously-purchased-container .content-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5px 10px; }
    @media print, screen and (min-width: 40em) {
      .product.previously-purchased-container .content-container {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 10px 20px; } }
    @media screen and (min-width: 81.25em) {
      .product.previously-purchased-container .content-container {
        gap: 10px 40px; } }

table.custom-stock-table tbody td {
  text-align: left; }

table.custom-stock-table tbody tr[colspan="2"] td {
  border-bottom: 1px solid #eeeeee; }

@media screen and (min-width: 81.25em) {
  table.custom-stock-table tbody tr td:first-child {
    width: 300px; } }

#basket-form {
  margin-bottom: 20px; }
  @media screen and (min-width: 81.25em) {
    #basket-form {
      margin-bottom: 70px; } }

@media screen and (min-width: 81.25em) {
  #basket-content-container {
    margin: 30px 0 0; } }

#basket-table {
  margin: 0; }
  @media screen and (min-width: 81.25em) {
    #basket-table td:not(.basket-description-col), #basket-table th:not(.basket-description-col) {
      text-align: center; } }
  @media screen and (min-width: 81.25em) {
    #basket-table.read-only td.basket-current-price-col {
      width: auto; } }
  #basket-table.read-only td.add-to-basket-col button {
    margin: auto; }
  #basket-table.read-only td.basket-quantity {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    @media print, screen and (max-width: 81.24875em) {
      #basket-table.read-only td.basket-quantity {
        width: 20%;
        margin-right: 10px; } }
    #basket-table.read-only td.basket-quantity p {
      margin: 0; }
    #basket-table.read-only td.basket-quantity .label {
      margin-right: 10px;
      font-weight: 600; }
      @media screen and (min-width: 81.25em) {
        #basket-table.read-only td.basket-quantity .label {
          display: none; } }
  #basket-table .basket-description-col {
    --media-aspect-ratio: 1/1; }
    #basket-table .basket-description-col .image {
      width: 175px;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0 20px 0 0; }
      @media screen and (min-width: 81.25em) {
        #basket-table .basket-description-col .image {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          margin: 0 40px 0 0; } }
      #basket-table .basket-description-col .image a {
        width: 155px; }
        @media screen and (min-width: 81.25em) {
          #basket-table .basket-description-col .image a {
            width: 132px;
            display: block;
            overflow: hidden; } }
      #basket-table .basket-description-col .image img {
        width: 155px;
        border: 1px solid #f3f3f3; }
        @media screen and (min-width: 81.25em) {
          #basket-table .basket-description-col .image img {
            width: 132px; } }
  #basket-table td.basket-description-col {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media print, screen and (max-width: 81.24875em) {
      #basket-table td.basket-description-col {
        grid-column: 1 / 2 span; } }
  #basket-table .stock-description-level {
    min-width: 40%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 10px 0;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      #basket-table .stock-description-level {
        min-width: unset;
        margin-left: 0;
        padding: 25px 0; } }
    #basket-table .stock-description-level .group-description {
      color: #484848;
      font-size: 0.9375rem;
      font-weight: 600;
      line-height: 1.2; }
      #basket-table .stock-description-level .group-description:hover {
        color: #01416f;
        text-decoration: underline; }
      #basket-table .stock-description-level .group-description:active {
        color: #67156a; }
    #basket-table .stock-description-level .description {
      width: 100%;
      display: block;
      margin: 0;
      padding: 0;
      color: #484848;
      font-size: 0.9375rem;
      font-weight: 700;
      text-transform: none;
      line-height: normal;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        #basket-table .stock-description-level .description {
          min-width: 300px; } }
      #basket-table .stock-description-level .description:hover {
        color: #67156a;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      #basket-table .stock-description-level .description:active {
        color: #01416f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    #basket-table .stock-description-level .stock-indicator {
      margin-top: 5px; }
    #basket-table .stock-description-level .stockWarning {
      display: none;
      color: rgba(149, 149, 149, 0.6);
      font-size: 0.875rem; }
      #basket-table .stock-description-level .stockWarning.active {
        display: block; }
      #basket-table .stock-description-level .stockWarning p {
        margin: 0;
        padding: 0; }
  #basket-table .subsidiary-description {
    color: #484848;
    font-size: 0.875rem;
    font-weight: 700; }
  #basket-table .non-returnable-description {
    font-style: italic;
    font-size: 0.875rem;
    color: #000000; }
    #basket-table .non-returnable-description:before {
      content: "";
      padding: 0 5px 0 0;
      font-family: "fontello";
      font-style: normal;
      color: #ff5e05; }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-code-col {
      width: 10%;
      display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-price-col, #basket-table .basket-current-price-col {
      max-width: 15%;
      width: 100%; } }
  #basket-table .vat-rate-container {
    display: block; }
  #basket-table td.basket-price-col {
    font-weight: 400; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-price-col {
        display: table-cell; } }
  #basket-table td.basket-current-price-col {
    font-weight: 400; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-current-price-col {
        display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .add-to-basket-col {
      width: 15%; } }
  #basket-table .basket-quantity {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      #basket-table .basket-quantity {
        width: 10%;
        display: table-cell; } }
    #basket-table .basket-quantity .quantity-selector-container {
      width: 100%; }
      @media screen and (min-width: 81.25em) {
        #basket-table .basket-quantity .quantity-selector-container {
          width: auto;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 81.25em) {
      #basket-table .basket-quantity .label {
        display: none; } }
    #basket-table .basket-quantity .input-number-group {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media screen and (min-width: 81.25em) {
        #basket-table .basket-quantity .input-number-group {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-sub-total {
      width: 11%; } }
  #basket-table .basket-sub-total span {
    width: 60%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    text-align: right; }
    @media screen and (min-width: 81.25em) {
      #basket-table .basket-sub-total span {
        width: auto;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  #basket-table td.basket-sub-total-col {
    width: 50%;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    font-weight: 600;
    color: #01416f; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-sub-total-col {
        width: auto;
        display: table-cell; } }
  @media screen and (min-width: 81.25em) {
    #basket-table .basket-remove-col {
      width: 5%; } }
  #basket-table td.basket-remove-col {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; }
    @media screen and (min-width: 81.25em) {
      #basket-table td.basket-remove-col {
        width: auto;
        display: table-cell; } }
  #basket-table .remove-button {
    width: 80px;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    color: #959595;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  #basket-table .basketUpdateRow {
    border-top: 1px solid #959595; }
  @media print, screen and (max-width: 81.24875em) {
    #basket-table .basket-item-row {
      display: grid;
      grid-template-columns: minmax(120px, -webkit-max-content) minmax(120px, -webkit-max-content);
      grid-template-columns: minmax(120px, max-content) minmax(120px, max-content);
      gap: 5px;
      padding: 10px; } }
  @media print, screen and (max-width: 81.24875em) {
    #basket-table .basket-item-row td {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  #basket-table .basket-description-col .col-label, #basket-table .basket-code-col .col-label, #basket-table .basket-sub-total-col .col-label {
    display: none; }

table.quick-order-form-table tbody tr {
  cursor: pointer; }
  @media print, screen and (max-width: 81.24875em) {
    table.quick-order-form-table tbody tr {
      display: grid;
      grid-template-columns: 100px 1fr 30px;
      gap: 10px 20px; } }

@media print, screen and (max-width: 81.24875em) {
  table.quick-order-form-table tbody td {
    padding: 0; } }

@media print, screen and (max-width: 81.24875em) {
  table.quick-order-form-table tbody td:not(.image-col) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; } }

@media screen and (min-width: 81.25em) {
  table.quick-order-form-table td {
    text-align: center;
    vertical-align: middle; } }

table.quick-order-form-table .image-col {
  grid-column: 1;
  grid-row: span 4; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .image-col {
      width: 12.2%; } }

table.quick-order-form-table .description-col {
  grid-column: 2 / span 3; }
  table.quick-order-form-table .description-col .stock-description-level {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px 0;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      table.quick-order-form-table .description-col .stock-description-level {
        margin: 0 0 0 10px; } }
  table.quick-order-form-table .description-col .description {
    color: #484848;
    font-size: 0.9375rem;
    font-weight: 700; }

@media screen and (min-width: 81.25em) {
  table.quick-order-form-table td.description-col {
    width: 30%; } }

table.quick-order-form-table .code-col {
  grid-column: 2;
  grid-row: 2; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .code-col {
      width: 25%; } }

table.quick-order-form-table .price-col {
  grid-column: 2 / span 3;
  grid-row: 3; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .price-col {
      width: 20%; } }

table.quick-order-form-table .quantity-col {
  grid-row: 4; }

table.quick-order-form-table .add-col {
  grid-column: 2;
  grid-row: 5; }
  @media screen and (min-width: 81.25em) {
    table.quick-order-form-table .add-col {
      width: 18.9%;
      text-align: center; } }
  table.quick-order-form-table .add-col .addToBasket.icon, table.quick-order-form-table .add-col .basket-add-button {
    margin-left: 0; }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table tbody tr, table#basket-table.basket-table tbody tr {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 10px 20px; } }

table.basket-table tbody td, table#basket-table.basket-table tbody td {
  vertical-align: middle; }
  table.basket-table tbody td .col-label, table#basket-table.basket-table tbody td .col-label {
    display: inline-block; }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table td.basket-description-col, table#basket-table.basket-table td.basket-description-col {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 10px 20px; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table td.basket-description-col .image, table#basket-table.basket-table td.basket-description-col .image {
    width: auto;
    margin: 0; } }

table.basket-table td.basket-description-col .stock-description-level, table#basket-table.basket-table td.basket-description-col .stock-description-level {
  gap: 10px 0; }
  table.basket-table td.basket-description-col .stock-description-level .stock-indicator, table#basket-table.basket-table td.basket-description-col .stock-description-level .stock-indicator {
    margin: 0; }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-code-col, table.basket-table .basket-price-col, table.basket-table .basket-quantity, table.basket-table .basket-sub-total-col, table.basket-table .basket-remove-col, table#basket-table.basket-table .basket-code-col, table#basket-table.basket-table .basket-price-col, table#basket-table.basket-table .basket-quantity, table#basket-table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-remove-col {
    width: 100%;
    display: grid;
    grid-template-columns: 50% 50%; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-code-col, table#basket-table.basket-table .basket-code-col {
    grid-column: 2;
    grid-row: 2; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-price-col, table#basket-table.basket-table .basket-price-col {
    grid-column: 2;
    grid-row: 3; } }

table.basket-table .basket-price-col .basket-price-container, table#basket-table.basket-table .basket-price-col .basket-price-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  table.basket-table .basket-price-col .basket-price-container.align-right, table#basket-table.basket-table .basket-price-col .basket-price-container.align-right {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
  table.basket-table .basket-price-col .basket-price-container span, table#basket-table.basket-table .basket-price-col .basket-price-container span {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      table.basket-table .basket-price-col .basket-price-container span, table#basket-table.basket-table .basket-price-col .basket-price-container span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }

@media screen and (min-width: 81.25em) {
  table.basket-table .basket-price-col .vat-rate-container, table#basket-table.basket-table .basket-price-col .vat-rate-container {
    text-align: right; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-quantity, table#basket-table.basket-table .basket-quantity {
    grid-column: 2;
    grid-row: 4;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-sub-total-col {
    grid-column: 2;
    grid-row: 5; } }

@media screen and (min-width: 81.25em) {
  table.basket-table .basket-sub-total-col, table#basket-table.basket-table .basket-sub-total-col {
    width: 10%; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-remove-col, table#basket-table.basket-table .basket-remove-col {
    grid-column: 2;
    grid-row: 6; } }

@media print, screen and (max-width: 81.24875em) {
  table.basket-table .basket-remove-col .remove-button, table#basket-table.basket-table .basket-remove-col .remove-button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; } }

#basket-sticky-summary-container {
  position: relative; }

@media print, screen and (max-width: 81.24875em) {
  #basket .basket-item-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

#basket #basket-delivery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 30px;
  padding: 20px;
  background-color: transparent;
  border: 1px solid #dadada;
  border-radius: 0; }
  @media screen and (min-width: 81.25em) {
    #basket #basket-delivery {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 0 35px;
      padding: 45px; } }
  #basket #basket-delivery h2 {
    position: relative;
    margin: 0 0 35px;
    color: #01416f;
    font-weight: 700; }
    #basket #basket-delivery h2:before {
      content: "";
      display: inline-block;
      margin-right: 10px;
      font-size: 26px;
      font-family: "Font Awesome Solid";
      color: #1281bf; }
  #basket #basket-delivery .cms-container {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      #basket #basket-delivery .cms-container {
        width: 50%;
        margin-right: 20px;
        font-size: 0.8125rem; } }
    #basket #basket-delivery .cms-container p {
      margin: 0 0 20px; }

#basket .checkout-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px; }
  #basket .checkout-buttons-container:has(.seperator:not(:empty)) {
    gap: 20px; }
  #basket .checkout-buttons-container.invalid a {
    cursor: no-drop; }
  #basket .checkout-buttons-container #sagepay-checkout-button {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px 5px);
    color: #01416f;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #ffffff;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      #basket .checkout-buttons-container #sagepay-checkout-button {
        width: 100%;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket .checkout-buttons-container #sagepay-checkout-button:hover, #basket .checkout-buttons-container #sagepay-checkout-button.hover {
        color: #ffffff;
        background-color: #1281bf;
        border-color: #1281bf;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket .checkout-buttons-container #sagepay-checkout-button:hover .graduated-colour-edge .step, #basket .checkout-buttons-container #sagepay-checkout-button.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket .checkout-buttons-container #sagepay-checkout-button:active, #basket .checkout-buttons-container #sagepay-checkout-button.active {
      color: #ffffff;
      background-color: #67156a;
      border-color: #67156a;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket .checkout-buttons-container #sagepay-checkout-button:disabled, #basket .checkout-buttons-container #sagepay-checkout-button.disabled, #basket .checkout-buttons-container #sagepay-checkout-button[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    #basket .checkout-buttons-container #sagepay-checkout-button:disabled:hover, #basket .checkout-buttons-container #sagepay-checkout-button.disabled:hover {
      border-color: #6d6d6d; }
    #basket .checkout-buttons-container #sagepay-checkout-button:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket .checkout-buttons-container #sagepay-checkout-button .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  #basket .checkout-buttons-container p {
    margin: 0;
    padding: 0;
    text-align: center;
    font-weight: 400;
    font-size: 0.9375rem;
    text-transform: uppercase; }

.summary-item-input-container + .checkout-buttons-container, .summary-item + .checkout-buttons-container {
  margin: 20px 0 0; }

.summary-item-input-container.voucher label:before {
  content: ""; }

.summary-item-input-container.vat label:before {
  content: ""; }

.summary-item-input-container {
  width: 100%;
  margin: 30px 0 25px;
  padding: 0; }
  .summary-item-input-container label {
    width: 100%;
    position: relative;
    text-align: center;
    margin-bottom: 10px;
    color: #01416f;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase; }
    .summary-item-input-container label:before {
      display: inline-block;
      margin-right: 5px;
      color: #1281bf;
      font-family: "Font Awesome Solid";
      font-size: 0.875rem; }
  .summary-item-input-container .summary-input-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: no-wrap;
        flex-wrap: no-wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 5px;
    background-color: #ffffff;
    border-radius: 0; }
    .summary-item-input-container .summary-input-container.is-invalid-container + .form-error {
      display: block;
      margin: 15px 0 0;
      padding: 0; }
  .summary-item-input-container .summary-input {
    height: 35px;
    margin: 0;
    padding: 0 0 0 5px;
    background-color: transparent;
    border: 0;
    font-size: 0.875rem;
    color: #000000; }
    .summary-item-input-container .summary-input:hover, .summary-item-input-container .summary-input:focus {
      -webkit-box-shadow: none;
              box-shadow: none; }
    .summary-item-input-container .summary-input::-webkit-input-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-moz-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input:-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::-ms-input-placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input::placeholder {
      text-transform: uppercase;
      font-size: 0.875rem;
      letter-spacing: -0.2px; }
    .summary-item-input-container .summary-input.is-valid-input + button {
      cursor: pointer;
      background-color: #1281bf; }
  .summary-item-input-container .summary-input-submit.apply {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px);
    color: #ffffff;
    background-color: #64a6d4;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .summary-item-input-container .summary-input-submit.apply {
        width: auto;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .summary-item-input-container .summary-input-submit.apply:hover, .summary-item-input-container .summary-input-submit.apply.hover {
        color: #ffffff;
        background-color: #67156a;
        border-color: #67156a;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .summary-item-input-container .summary-input-submit.apply:hover .graduated-colour-edge .step, .summary-item-input-container .summary-input-submit.apply.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .summary-item-input-container .summary-input-submit.apply:active, .summary-item-input-container .summary-input-submit.apply.active {
      color: #ffffff;
      background-color: #1281bf;
      border-color: #1281bf;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .summary-item-input-container .summary-input-submit.apply:disabled, .summary-item-input-container .summary-input-submit.apply.disabled, .summary-item-input-container .summary-input-submit.apply[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .summary-item-input-container .summary-input-submit.apply:disabled:hover, .summary-item-input-container .summary-input-submit.apply.disabled:hover {
      border-color: #6d6d6d; }
    .summary-item-input-container .summary-input-submit.apply:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .summary-item-input-container .summary-input-submit.apply .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .summary-item-input-container .summary-input-submit.remove {
    --component-specifc-step-height: 15px;
    width: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 12px);
    color: #ffffff;
    background-color: #c00000;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .summary-item-input-container .summary-input-submit.remove {
        width: auto;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .summary-item-input-container .summary-input-submit.remove:hover, .summary-item-input-container .summary-input-submit.remove.hover {
        color: #ffffff;
        background-color: #484848;
        border-color: #484848;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .summary-item-input-container .summary-input-submit.remove:hover .graduated-colour-edge .step, .summary-item-input-container .summary-input-submit.remove.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .summary-item-input-container .summary-input-submit.remove:active, .summary-item-input-container .summary-input-submit.remove.active {
      color: #ffffff;
      background-color: #1281bf;
      border-color: #1281bf;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .summary-item-input-container .summary-input-submit.remove:disabled, .summary-item-input-container .summary-input-submit.remove.disabled, .summary-item-input-container .summary-input-submit.remove[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
    .summary-item-input-container .summary-input-submit.remove:disabled:hover, .summary-item-input-container .summary-input-submit.remove.disabled:hover {
      border-color: #6d6d6d; }
    .summary-item-input-container .summary-input-submit.remove:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .summary-item-input-container .summary-input-submit.remove .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .summary-item-input-container .callout {
    --font-family: Font Awesome Solid;
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 0 10px;
    margin: 10px 0;
    padding: 35px 10px;
    font-size: 0.875rem;
    border-radius: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
    .summary-item-input-container .callout:has(.content-container) {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout:has(.content-container) {
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (min-width: 81.25em) {
      .summary-item-input-container .callout {
        gap: 0 15px; } }
    .summary-item-input-container .callout:has(.content-container):before {
      font-family: var(--font-family);
      font-size: 19px;
      line-height: 1; }
    .summary-item-input-container .callout.preset-1 {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      text-align: center; }
    .summary-item-input-container .callout.preset-2 {
      padding-top: 15px;
      padding-bottom: 15px;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout.preset-2 {
          padding: 15px 65px; } }
    .summary-item-input-container .callout.preset-3 {
      padding: 15px 0; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout.preset-3 {
          padding: 15px 0; } }
    .summary-item-input-container .callout.success {
      background-color: #dffbe2;
      border: 1px solid #12811f;
      border-radius: 0; }
      .summary-item-input-container .callout.success:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.success:has(.content-container):before {
        color: #12811f; }
      .summary-item-input-container .callout.success > p:first-of-type::before {
        content: "";
        color: #12811f; }
      .summary-item-input-container .callout.success h1, .summary-item-input-container .callout.success h2, .summary-item-input-container .callout.success h3, .summary-item-input-container .callout.success h4, .summary-item-input-container .callout.success h5, .summary-item-input-container .callout.success h6, .summary-item-input-container .callout.success p, .summary-item-input-container .callout.success a {
        color: #12811f; }
    .summary-item-input-container .callout.warning {
      background-color: #ffefe6;
      border: 1px solid #ff5e05;
      border-radius: 0; }
      .summary-item-input-container .callout.warning:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.warning:has(.content-container):before {
        color: #ff5e05; }
      .summary-item-input-container .callout.warning > p:first-of-type::before {
        content: "";
        color: #ff5e05; }
      .summary-item-input-container .callout.warning h1, .summary-item-input-container .callout.warning h2, .summary-item-input-container .callout.warning h3, .summary-item-input-container .callout.warning h4, .summary-item-input-container .callout.warning h5, .summary-item-input-container .callout.warning h6, .summary-item-input-container .callout.warning p, .summary-item-input-container .callout.warning a {
        color: #ff5e05; }
    .summary-item-input-container .callout.alert {
      background-color: #fde1e1;
      border: 1px solid #b20c0c;
      border-radius: 0; }
      .summary-item-input-container .callout.alert:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.alert:has(.content-container):before {
        color: #b20c0c; }
      .summary-item-input-container .callout.alert > p:first-of-type:before {
        content: "";
        color: #b20c0c; }
      .summary-item-input-container .callout.alert h1, .summary-item-input-container .callout.alert h2, .summary-item-input-container .callout.alert h3, .summary-item-input-container .callout.alert h4, .summary-item-input-container .callout.alert h5, .summary-item-input-container .callout.alert h6, .summary-item-input-container .callout.alert p, .summary-item-input-container .callout.alert a {
        color: #b20c0c; }
    .summary-item-input-container .callout.disabled p {
      color: #959595;
      font-weight: 600; }
    .summary-item-input-container .callout.information {
      background-color: #ededed;
      border: 1px solid #000000; }
      .summary-item-input-container .callout.information:not(.icon-configured):has(.content-container):before {
        content: ""; }
      .summary-item-input-container .callout.information:has(.content-container):before {
        color: #000000; }
      .summary-item-input-container .callout.information p {
        color: #000000;
        font-weight: 600; }
    .summary-item-input-container .callout.icon-non-returnable {
      --font-family: fontello; }
      .summary-item-input-container .callout.icon-non-returnable:before {
        content: ""; }
    .summary-item-input-container .callout .user-friendly-prefix {
      margin-right: 5px; }
    .summary-item-input-container .callout > p {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: 0; }
      .summary-item-input-container .callout > p:first-of-type:before {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: auto 15px auto 0;
        font-family: var(--font-family);
        font-size: 19px; }
        @media print, screen and (max-width: 81.24875em) {
          .summary-item-input-container .callout > p:first-of-type:before {
            position: absolute;
            top: 0;
            margin: auto; } }
    .summary-item-input-container .callout .content-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: auto 0;
      -webkit-box-shadow: none;
              box-shadow: none;
      background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout .content-container {
          margin: 0; } }
    .summary-item-input-container .callout p {
      margin: var(--indent-margin, 0);
      font-size: 0.9375rem;
      font-weight: 700;
      line-height: normal;
      color: #000000; }
      .summary-item-input-container .callout p img[style*="float:left"], .summary-item-input-container .callout p img[style*="float: left"], .summary-item-input-container .callout p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .summary-item-input-container .callout p img[style*="float:right"], .summary-item-input-container .callout p img[style*="float: right"], .summary-item-input-container .callout p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .summary-item-input-container .callout p img {
        margin: .2em 0; }
      .summary-item-input-container .callout p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .summary-item-input-container .callout p:not(:empty) + table, .summary-item-input-container .callout p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .summary-item-input-container .callout table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .summary-item-input-container .callout table:not([class*=preset]) thead {
        background-color: transparent; }
        .summary-item-input-container .callout table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .summary-item-input-container .callout table:not([class*=preset]) thead th {
          font-weight: 700; }
      .summary-item-input-container .callout table.responsive-table {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout table.responsive-table {
            display: table; } }
        .summary-item-input-container .callout table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 81.25em) {
            .summary-item-input-container .callout table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .summary-item-input-container .callout table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .summary-item-input-container .callout table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .summary-item-input-container .callout table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout table td {
          padding: 10px; } }
      .summary-item-input-container .callout table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .summary-item-input-container .callout table tbody {
        background-color: transparent; }
        .summary-item-input-container .callout table tbody th {
          background-color: transparent; }
        .summary-item-input-container .callout table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout table tbody tr {
            display: table-row; } }
      .summary-item-input-container .callout table .col-label {
        color: #484848; }
      @media print, screen and (max-width: 81.24875em) {
        .summary-item-input-container .callout table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 81.24875em) {
        .summary-item-input-container .callout table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .summary-item-input-container .callout table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .summary-item-input-container .callout table.comparison-table tbody td:first-child {
        color: #484848;
        font-weight: 700; }
    .summary-item-input-container .callout blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      text-align: center;
      font-family: "Khula", "Khula Fallback", "Arial";
      font-size: 0.9375rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .summary-item-input-container .callout blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .summary-item-input-container .callout blockquote:hover:before {
          color: #dadada;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .summary-item-input-container .callout blockquote:has(img) {
        text-align: left; }
      .summary-item-input-container .callout blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 81.25em) {
        .summary-item-input-container .callout blockquote {
          padding: 50px 60px; } }
      .summary-item-input-container .callout blockquote + blockquote {
        margin-top: 15px; }
      .summary-item-input-container .callout blockquote:before, .summary-item-input-container .callout blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .summary-item-input-container .callout blockquote:before {
        top: 0;
        left: 0; }
      .summary-item-input-container .callout blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .summary-item-input-container .callout blockquote img {
        float: left; }
        @media screen and (min-width: 81.25em) {
          .summary-item-input-container .callout blockquote img {
            text-align: left; } }
    .summary-item-input-container .callout a[href^="tel:"], .summary-item-input-container .callout a[href^="mailto:"] {
      font-weight: 700; }
      .summary-item-input-container .callout a[href^="tel:"]:hover, .summary-item-input-container .callout a[href^="mailto:"]:hover {
        text-decoration: none; }
      .summary-item-input-container .callout a[href^="tel:"].show-contact-icon:before, .summary-item-input-container .callout a[href^="mailto:"].show-contact-icon:before {
        display: inline-block;
        margin-right: 5px;
        font-family: "Font Awesome Solid"; }
    .summary-item-input-container .callout a[href^="mailto:"].show-contact-icon:before {
      content: ""; }
    .summary-item-input-container .callout a[href^="tel:"].show-contact-icon:before {
      content: "";
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .summary-item-input-container .callout p a:not([class*="-button"]) {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 5px;
      font-weight: 700; }
    .summary-item-input-container .callout p a:has([style*="float"]) {
      display: inline; }
    .summary-item-input-container .callout a {
      text-decoration: underline; }
    .summary-item-input-container .callout > p:first-of-type {
      position: relative; }
      @media print, screen and (max-width: 81.24875em) {
        .summary-item-input-container .callout > p:first-of-type {
          padding-top: 24px; } }

.summary-item-input-container + .warning-container {
  margin-top: 0; }

.warning-container {
  margin: 20px 0 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #b20c0c; }
  .warning-container p {
    margin: 0; }

#basket-controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px 0 35px;
  gap: 15px 0; }
  @media print, screen and (min-width: 40em) {
    #basket-controls {
      margin: 25px 0 50px;
      gap: 15px 0; } }
  #basket-controls .buttons-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    gap: 15px; }
    @media screen and (min-width: 81.25em) {
      #basket-controls .buttons-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        gap: 15px;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (min-width: 81.25em) {
      #basket-controls .buttons-container a {
        margin-bottom: 0; } }
  #basket-controls .update-basket {
    --component-specifc-step-height: 15px;
    width: 100%;
    max-height: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 30px);
    color: #01416f;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */
    align-items: center; }
    @media screen and (min-width: 81.25em) {
      #basket-controls .update-basket {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket-controls .update-basket:hover, #basket-controls .update-basket.hover {
        color: #ffffff;
        background-color: #67156a;
        border-color: #67156a;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket-controls .update-basket:hover:after, #basket-controls .update-basket.hover:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        #basket-controls .update-basket:hover .graduated-colour-edge .step, #basket-controls .update-basket.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket-controls .update-basket:active, #basket-controls .update-basket.active {
      background-color: #01416f;
      border-color: #01416f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket-controls .update-basket:disabled, #basket-controls .update-basket.disabled, #basket-controls .update-basket[disabled] {
      color: #aeaeae;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      #basket-controls .update-basket:disabled:after, #basket-controls .update-basket.disabled:after, #basket-controls .update-basket[disabled]:after {
        color: #6d6d6d; }
    #basket-controls .update-basket:disabled:hover, #basket-controls .update-basket.disabled:hover {
      border-color: #6d6d6d; }
    #basket-controls .update-basket:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket-controls .update-basket:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #aeaeae;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    #basket-controls .update-basket .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  #basket-controls .empty-basket {
    --component-specifc-step-height: 15px;
    width: 100%;
    max-height: 100%;
    height: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 10px 30px);
    color: #01416f;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 0.75rem;
    font-weight: 600;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #eeeeee;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */
    align-items: center; }
    @media screen and (min-width: 81.25em) {
      #basket-controls .empty-basket {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      #basket-controls .empty-basket:hover, #basket-controls .empty-basket.hover {
        color: #ffffff;
        background-color: #67156a;
        border-color: #67156a;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        #basket-controls .empty-basket:hover:after, #basket-controls .empty-basket.hover:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        #basket-controls .empty-basket:hover .graduated-colour-edge .step, #basket-controls .empty-basket.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    #basket-controls .empty-basket:active, #basket-controls .empty-basket.active {
      background-color: #01416f;
      border-color: #01416f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    #basket-controls .empty-basket:disabled, #basket-controls .empty-basket.disabled, #basket-controls .empty-basket[disabled] {
      color: #959595;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      #basket-controls .empty-basket:disabled:after, #basket-controls .empty-basket.disabled:after, #basket-controls .empty-basket[disabled]:after {
        color: #6d6d6d; }
    #basket-controls .empty-basket:disabled:hover, #basket-controls .empty-basket.disabled:hover {
      border-color: #6d6d6d; }
    #basket-controls .empty-basket:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    #basket-controls .empty-basket:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #aeaeae;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    #basket-controls .empty-basket .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.quick-order-form-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  gap: 15px; }
  @media screen and (min-width: 81.25em) {
    .quick-order-form-container {
      -webkit-box-flex: 0;
          -ms-flex-positive: 0;
              flex-grow: 0;
      gap: 15px; } }
  .quick-order-form-container .search-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .quick-order-form-container .search-container .control.search {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; }
      @media screen and (min-width: 81.25em) {
        .quick-order-form-container .search-container .control.search {
          max-width: 415px; } }
      @media screen and (min-width: 81.25em) {
        .quick-order-form-container .search-container .control.search input {
          width: 305px; } }
    .quick-order-form-container .search-container .input-prefix-icon {
      padding-right: 10px;
      padding-left: 10px; }
      .quick-order-form-container .search-container .input-prefix-icon:before {
        content: "+";
        color: #01416f;
        font-size: 22px;
        font-family: "Font Awesome Solid"; }
    .quick-order-form-container .search-container .form-error {
      padding-left: 0; }

.basket-total-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 5px;
  background-color: rgba(18, 129, 191, 0.8);
  font-weight: 700;
  font-size: 1rem;
  color: #ffffff; }
  .basket-total-container .label {
    margin-right: 10px; }

.basket-total-sticky-container {
  height: 0 !important;
  z-index: 10; }
  @media screen and (min-width: 81.25em) {
    .basket-total-sticky-container {
      display: none; } }

@media print, screen and (max-width: 81.24875em) {
  .summary-sticky-container {
    width: 100%;
    height: auto !important; } }

@media screen and (min-width: 81.25em) {
  .summary-sticky-container {
    width: 310px;
    margin-left: auto; } }

#basket-summary, .summary-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 20px;
  padding: 40px;
  background-color: var(--primary-colour-lightness-10);
  border-radius: 0; }
  @media print, screen and (max-width: 81.24875em) {
    #basket-summary, .summary-container {
      max-width: 100% !important;
      width: 100%;
      position: unset; } }
  @media screen and (min-width: 81.25em) {
    #basket-summary, .summary-container {
      width: 310px;
      margin: 0 0 0 auto; } }
  @media screen and (min-width: 81.25em) {
    #basket-summary.is-stuck, .summary-container.is-stuck {
      position: fixed; } }
  #basket-summary.is-stuck:not(.no-animate), .summary-container.is-stuck:not(.no-animate) {
    -webkit-transition: top 0.6s;
    transition: top 0.6s; }
  @media screen and (min-width: 81.25em) {
    #basket-summary.is-anchored, .summary-container.is-anchored {
      position: absolute; } }
  #basket-summary.is-anchored.is-at-top, .summary-container.is-anchored.is-at-top {
    margin-top: 0 !important; }
  #basket-summary.is-anchored:not(.no-animate), .summary-container.is-anchored:not(.no-animate) {
    -webkit-transition: top 0.8s;
    transition: top 0.8s; }
  #basket-summary.preset-1 #voucher-container, .summary-container.preset-1 #voucher-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #basket-summary.preset-1 #goods-summary-value, .summary-container.preset-1 #goods-summary-value {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #basket-summary.preset-1 #voucher-summary-value, .summary-container.preset-1 #voucher-summary-value {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  #basket-summary.preset-1 #delivery-summary-value, .summary-container.preset-1 #delivery-summary-value {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  #basket-summary.preset-1 #total-value, .summary-container.preset-1 #total-value {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
    position: relative; }
    #basket-summary.preset-1 #total-value:before, .summary-container.preset-1 #total-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
    #basket-summary.preset-1 #total-value:after, .summary-container.preset-1 #total-value:after {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-1 #net-summary-value, .summary-container.preset-1 #net-summary-value {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7; }
  #basket-summary.preset-1 #vat-summary-value, .summary-container.preset-1 #vat-summary-value {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8; }
  #basket-summary.preset-1 #vat-input-container, .summary-container.preset-1 #vat-input-container {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9; }
  #basket-summary.preset-1 #edit-basket-container, .summary-container.preset-1 #edit-basket-container {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10; }
  #basket-summary.preset-1 #summary-warning-container, .summary-container.preset-1 #summary-warning-container {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11; }
  #basket-summary.preset-1 .checkout-buttons-container, .summary-container.preset-1 .checkout-buttons-container {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12; }
  #basket-summary.preset-2 #voucher-container, .summary-container.preset-2 #voucher-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  #basket-summary.preset-2 #goods-summary-value, .summary-container.preset-2 #goods-summary-value {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  #basket-summary.preset-2 #voucher-summary-value, .summary-container.preset-2 #voucher-summary-value {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  #basket-summary.preset-2 #delivery-summary-value, .summary-container.preset-2 #delivery-summary-value {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  #basket-summary.preset-2 #total-value, .summary-container.preset-2 #total-value {
    padding: 0;
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8; }
    #basket-summary.preset-2 #total-value:before, .summary-container.preset-2 #total-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-2 #net-summary-value, .summary-container.preset-2 #net-summary-value {
    padding: 0;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
    position: relative; }
    #basket-summary.preset-2 #net-summary-value:before, .summary-container.preset-2 #net-summary-value:before {
      content: '';
      width: 100%;
      height: 1px;
      display: block;
      margin: 20px 0;
      border-width: 0 0 1px 0;
      border-style: solid;
      border-color: #aeaeae;
      color: #000000; }
  #basket-summary.preset-2 #vat-summary-value, .summary-container.preset-2 #vat-summary-value {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
    position: relative; }
  #basket-summary.preset-2 #vat-input-container, .summary-container.preset-2 #vat-input-container {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9; }
  #basket-summary.preset-2 #edit-basket-container, .summary-container.preset-2 #edit-basket-container {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10; }
  #basket-summary.preset-2 #summary-warning-container, .summary-container.preset-2 #summary-warning-container {
    -webkit-box-ordinal-group: 12;
        -ms-flex-order: 11;
            order: 11; }
  #basket-summary.preset-2 .checkout-buttons-container, .summary-container.preset-2 .checkout-buttons-container {
    -webkit-box-ordinal-group: 13;
        -ms-flex-order: 12;
            order: 12; }
  #basket-summary .basket-summary-heading, #basket-summary .summary-heading, .summary-container .basket-summary-heading, .summary-container .summary-heading {
    margin: 0;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 700;
    color: #01416f;
    text-transform: none; }
  #basket-summary .summary-intro-container, .summary-container .summary-intro-container {
    margin: 0 0 20px; }
    #basket-summary .summary-intro-container p, .summary-container .summary-intro-container p {
      margin: 0;
      padding: 0;
      font-size: 0.9375rem; }
  #basket-summary .summary-item, .summary-container .summary-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 5px 0 0;
    font-size: 0.9375rem;
    color: #000000; }
    #basket-summary .summary-item.highlighted, .summary-container .summary-item.highlighted {
      color: var(--accent-colour-1-lightness-0);
      font-weight: 600; }
    #basket-summary .summary-item span, .summary-container .summary-item span {
      display: inline-block; }
      #basket-summary .summary-item span.value, #basket-summary .summary-item span.label, .summary-container .summary-item span.value, .summary-container .summary-item span.label {
        width: 100%; }
      #basket-summary .summary-item span.label, .summary-container .summary-item span.label {
        max-width: 60%;
        font-weight: 400; }
      #basket-summary .summary-item span.value, .summary-container .summary-item span.value {
        max-width: 40%;
        text-align: right;
        font-weight: 400; }
    #basket-summary .summary-item .incVat, .summary-container .summary-item .incVat {
      width: 100%;
      text-align: right;
      font-size: 0.9375rem;
      font-weight: 400;
      font-style: italic; }
  #basket-summary #total-value .label, #basket-summary #total-value .value, .summary-container #total-value .label, .summary-container #total-value .value {
    color: #01416f;
    font-size: 1rem;
    font-weight: 700;
    text-transform: none; }
  #basket-summary #edit-basket-container, .summary-container #edit-basket-container {
    position: relative;
    margin: 30px 7px 0 0;
    color: #01416f;
    font-size: 0.75rem;
    text-align: right; }
    #basket-summary #edit-basket-container:after, .summary-container #edit-basket-container:after {
      content: "";
      width: 10px;
      height: 10px;
      display: inline-block;
      margin-left: 5px;
      font-size: 1rem;
      font-family: "Font Awesome Solid";
      line-height: 1; }
    #basket-summary #edit-basket-container:hover, .summary-container #edit-basket-container:hover {
      color: #67156a; }
    #basket-summary #edit-basket-container:active, .summary-container #edit-basket-container:active {
      color: #484848; }

@media screen and (min-width: 81.25em) {
  #delivery-selector {
    width: 50%; } }

#delivery-selector select, #delivery-selector label {
  width: 100%; }

#delivery-selector .delivery-label {
  margin: 10px 0;
  color: #01416f;
  font-weight: 600; }

@media screen and (min-width: 81.25em) {
  #delivery-selector .delivery-service, #delivery-selector .delivery-area {
    width: 405px;
    margin: 0 0 0 auto; } }

#delivery-selector .delivery-service.disabled {
  opacity: 0.5; }

.link-failed-container {
  margin: 0 0 50px;
  text-align: center; }
  .link-failed-container .link-failed-heading {
    margin: 0 0 30px;
    color: #ff0101;
    font-size: 1.375rem;
    font-weight: 400; }
  .link-failed-container .primary-button {
    margin-right: auto;
    margin-left: auto; }

.account-menu-items-container .account-page [class*="-icon"]:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].customer-assets:before, .account-menu-items-container .account-page [class*="-icon"].function-1:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].branch-switcher:before, .account-menu-items-container .account-page [class*="-icon"].account-switcher:before, .account-menu-items-container .account-page [class*="-icon"].function-2:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-calls:before, .account-menu-items-container .account-page [class*="-icon"].function-3:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].change-details:before, .account-menu-items-container .account-page [class*="-icon"].function-4:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].contact-preferences:before, .account-menu-items-container .account-page [class*="-icon"].function-5:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].contract-items:before, .account-menu-items-container .account-page [class*="-icon"].function-6:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].service-contracts:before, .account-menu-items-container .account-page [class*="-icon"].function-7:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].software-development-logs:before, .account-menu-items-container .account-page [class*="-icon"].function-8:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].diplomat-update-download:before, .account-menu-items-container .account-page [class*="-icon"].function-9:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].online-documentation:before, .account-menu-items-container .account-page [class*="-icon"].function-10:before, .account-menu-items-container .account-page [class*="-icon"].function-34:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].favourites:before, .account-menu-items-container .account-page [class*="-icon"].function-11:before {
  content: "";
  font-family: "Font Awesome Regular"; }

.account-menu-items-container .account-page [class*="-icon"].logout:before, .account-menu-items-container .account-page [class*="-icon"].function-13:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].view-orders:before, .account-menu-items-container .account-page [class*="-icon"].function-15:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].change-password:before, .account-menu-items-container .account-page [class*="-icon"].function-16:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-cards:before, .account-menu-items-container .account-page [class*="-icon"].function-17:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].payment-requests:before, .account-menu-items-container .account-page [class*="-icon"].function-18:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].download-price-lists:before, .account-menu-items-container .account-page [class*="-icon"].function-19:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].recently-purchased:before, .account-menu-items-container .account-page [class*="-icon"].function-21:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].site-list:before, .account-menu-items-container .account-page [class*="-icon"].function-22:before {
  content: "";
  color: #5f7b27; }

.account-menu-items-container .account-page [class*="-icon"].statement:before, .account-menu-items-container .account-page [class*="-icon"].function-24:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].historical-transactions:before, .account-menu-items-container .account-page [class*="-icon"].function-25:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].upload-basket:before, .account-menu-items-container .account-page [class*="-icon"].function-26:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].upload-orders:before, .account-menu-items-container .account-page [class*="-icon"].function-27:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].manage-users:before, .account-menu-items-container .account-page [class*="-icon"].function-28:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].employee-status:before, .account-menu-items-container .account-page [class*="-icon"].function-29:before {
  content: ""; }

.account-menu-items-container .account-page [class*="-icon"].diplomat-update-database:before, .account-menu-items-container .account-page [class*="-icon"].function-30:before {
  content: "";
  color: #663399; }

.account-menu-items-container .account-page [class*="-icon"].function-31:before {
  content: "";
  font-family: "Font Awesome Brands";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-32:before {
  content: "";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-33:before {
  content: "";
  color: #336699; }

.account-menu-items-container .account-page [class*="-icon"].function-34:before {
  content: "";
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Font Awesome Solid";
  font-size: 17px;
  border-radius: 40px;
  background-color: var(--primary-colour-lightness-0);
  color: var(--white-colour);
  -webkit-transition: background-color 0.6s, color 0.6s;
  transition: background-color 0.6s, color 0.6s; }

.account-menu-items-container .account-page [class*="-icon"].function-35:before {
  content: "";
  color: #663399; }

.menu .account-menu-sections {
  margin-top: 10px; }
  @media screen and (min-width: 81.25em) {
    .menu .account-menu-sections {
      margin-top: 0; } }
  .menu .account-menu-sections .account-page a {
    gap: 10px;
    padding: 5px; }
    .menu .account-menu-sections .account-page a .page-icon {
      font-size: 20px; }
      .menu .account-menu-sections .account-page a .page-icon.change-password, .menu .account-menu-sections .account-page a .page-icon.function-16 {
        font-size: 5.33333px; }
  .menu .account-menu-sections .account-menu-heading-container {
    margin: 5px 0 10px; }

.account-menu-heading-container {
  margin: 35px 0 20px; }

.account-menu-items-container .cell {
  margin-bottom: 10px; }

.account-menu-items-container .account-page {
  height: 100%;
  cursor: pointer; }
  .account-menu-items-container .account-page.site-style span[class*="-icon"]:before {
    color: var(--primary-colour-lightness-0); }
  .account-menu-items-container .account-page a {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 30px;
    padding: 19px;
    color: #000000;
    background-color: #f3f3f3;
    border: 1px solid #f3f3f3;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .account-menu-items-container .account-page a:hover {
      background-color: #01416f;
      border-color: #01416f; }
      .account-menu-items-container .account-page a:hover span[class*="-description"] {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .account-menu-items-container .account-page a:hover span[class*="-icon"]:before {
        color: var(--secondary-colour-lightness-0);
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .account-menu-items-container .account-page span[class*="-description"] {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    color: #000000;
    font-weight: 700;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .account-menu-items-container .account-page span[class*="-icon"] {
    width: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .account-menu-items-container .account-page span[class*="-icon"]:before {
      font-family: "fontello";
      font-weight: 400;
      color: var(--primary-colour-lightness-0);
      line-height: 1;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .account-menu-items-container .account-page:hover span[class*="-icon"].function-34:before {
    background-color: var(--white-colour);
    color: var(--primary-colour-lightness-0);
    -webkit-transition: background-color 0.6s, color 0.6s;
    transition: background-color 0.6s, color 0.6s; }

.account-menu-items-container .account-page .page-icon {
  font-size: 30px; }
  .account-menu-items-container .account-page .page-icon.change-password, .account-menu-items-container .account-page .page-icon.function-16 {
    font-size: 8px; }
  .account-menu-items-container .account-page .page-icon.change-details, .account-menu-items-container .account-page .page-icon.function-4 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.manage-cards, .account-menu-items-container .account-page .page-icon.function-17 {
    font-size: 23px; }
  .account-menu-items-container .account-page .page-icon.diplomat-update-download, .account-menu-items-container .account-page .page-icon.function-9 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.diplomat-update-download, .account-menu-items-container .account-page .page-icon.function-35 {
    font-size: 25px; }
  .account-menu-items-container .account-page .page-icon.logout, .account-menu-items-container .account-page .page-icon.function-29 {
    font-size: 25px; }

.account-menu .account-menu-items-container .account-page .page-icon {
  font-size: 20px; }

.account-menu h2 {
  padding-bottom: 10px;
  font-size: 1.25rem; }
  @media screen and (min-width: 81.25em) {
    .account-menu h2 {
      font-size: 0.9375rem; } }

#account-page-grid .account-page {
  padding: 0 0 20px; }
  #account-page-grid .account-page a {
    display: block;
    padding: 35px 20px 30px; }

#account-page-grid .page-icon.change-details:before {
  font-size: 45px; }

#account-page-grid .page-icon.change-password:before {
  font-size: 13px; }

#account-page-grid .page-icon.contract-items:before {
  font-size: 65px; }

#account-page-grid .page-icon.favourites:before {
  font-size: 45px; }

#account-page-grid .page-icon.view-orders:before {
  font-size: 55px; }

#account-page-grid .page-icon.recently-purchased:before {
  font-size: 65px; }

#account-page-grid .page-icon.manage-cards:before {
  font-size: 35px; }

#account-page-grid .page-icon.statement:before {
  font-size: 45px; }

#account-page-grid .page-icon.manage-users:before {
  font-size: 55px; }

#account-page-grid .page-icon.branch-switcher:before, #account-page-grid .page-icon.account-switcher:before {
  font-size: 60px; }

#account-page-grid .page-icon.contact-preferences:before {
  font-size: 60px; }

#account-page-grid .page-icon.historical-transactions:before {
  font-size: 60px; }

#account-page-grid .page-icon.upload-basket:before {
  font-size: 45px; }

#account-page-grid .page-icon.upload-orders:before {
  font-size: 45px; }

#account-page-grid .page-icon.logout:before {
  font-size: 45px; }

#account-page-grid .page-icon.manage-calls:before {
  font-size: 45px; }

#account-page-grid .page-icon.service-contracts:before {
  font-size: 45px; }

#account-page-grid .page-icon.customer-assets:before {
  font-size: 45px; }

#account-page-grid .page-icon.payment-requests {
  font-size: 45px; }

#account-page-grid .page-icon.download-price-lists {
  font-size: 45px; }

#account-page-grid .page-icon.site-list {
  font-size: 45px; }

#account-page-grid .page-icon.diplomat-update-download {
  font-size: 45px; }

#account-page-grid .page-icon.diplomat-update-database {
  font-size: 45px; }

#account-page-grid .page-icon.online-documentation {
  font-size: 45px; }

.account-sorting-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 81.25em) {
    .account-sorting-options {
      margin: 0 0 10px; } }
  .account-sorting-options .sort-option {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .account-sorting-options .sort-option {
        width: auto;
        height: 100%;
        margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .account-sorting-options .sort-option.branch-filter {
        max-width: 490px; } }
    @media screen and (min-width: 81.25em) {
      .account-sorting-options .sort-option.branch-filter select, .account-sorting-options .sort-option.branch-filter .control-select-dropdown {
        width: 300px; } }
    .account-sorting-options .sort-option.branch-filter .tooltip-container {
      -ms-flex-item-align: center;
          align-self: center;
      margin-left: 5px; }
    .account-sorting-options .sort-option.pagination {
      margin-right: 0;
      margin-left: auto; }
    .account-sorting-options .sort-option .label, .account-sorting-options .sort-option .paginationLabel {
      width: auto;
      margin-right: 10px;
      white-space: nowrap; }

.account-buttons-container {
  margin-bottom: 40px; }
  @media screen and (min-width: 81.25em) {
    .account-buttons-container {
      width: 235px; } }
  .account-buttons-container.center-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

.order-container {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .order-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 auto; } }
  .order-container + .responsive-tabs {
    margin-top: 20px; }
    @media screen and (min-width: 81.25em) {
      .order-container + .responsive-tabs {
        margin-top: 40px; } }
  .order-container.payment-confirmation {
    margin-bottom: 10px; }
    @media screen and (min-width: 81.25em) {
      .order-container.payment-confirmation {
        margin-bottom: 20px; } }
    @media screen and (min-width: 81.25em) {
      .order-container.payment-confirmation .order-details-container .order-details, .order-container.payment-confirmation .order-details-container .order-delivery {
        width: calc(50% - 10px); } }
  @media screen and (min-width: 81.25em) {
    .order-container.preset-1 #order-table {
      width: 970px;
      margin-right: auto;
      margin-left: 0; } }
  @media screen and (min-width: 81.25em) {
    .order-container.preset-1 #order-table .basket-price-col {
      width: 15%; } }
  @media screen and (min-width: 81.25em) {
    .order-container.preset-1 #order-table td.basket-description-col {
      width: 515px; } }
  .order-container #order-table {
    margin: 20px auto 25px; }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table td:not(.basket-description-col), .order-container #order-table th:not(.basket-description-col) {
        text-align: center; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table.read-only td.basket-current-price-col {
        width: auto; } }
    .order-container #order-table.read-only td.add-to-basket-col button {
      margin: auto; }
    .order-container #order-table.read-only td.basket-quantity {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      @media print, screen and (max-width: 81.24875em) {
        .order-container #order-table.read-only td.basket-quantity {
          width: 20%;
          margin-right: 10px; } }
      .order-container #order-table.read-only td.basket-quantity p {
        margin: 0; }
      .order-container #order-table.read-only td.basket-quantity .label {
        margin-right: 10px;
        font-weight: 600; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table.read-only td.basket-quantity .label {
            display: none; } }
    .order-container #order-table .basket-description-col {
      --media-aspect-ratio: 1/1; }
      .order-container #order-table .basket-description-col .image {
        width: 175px;
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 0 20px 0 0; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .basket-description-col .image {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            margin: 0 40px 0 0; } }
        .order-container #order-table .basket-description-col .image a {
          width: 155px; }
          @media screen and (min-width: 81.25em) {
            .order-container #order-table .basket-description-col .image a {
              width: 132px;
              display: block;
              overflow: hidden; } }
        .order-container #order-table .basket-description-col .image img {
          width: 155px;
          border: 1px solid #f3f3f3; }
          @media screen and (min-width: 81.25em) {
            .order-container #order-table .basket-description-col .image img {
              width: 132px; } }
    .order-container #order-table td.basket-description-col {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media print, screen and (max-width: 81.24875em) {
        .order-container #order-table td.basket-description-col {
          grid-column: 1 / 2 span; } }
    .order-container #order-table .stock-description-level {
      min-width: 40%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      gap: 10px 0;
      padding: 10px 0; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .stock-description-level {
          min-width: unset;
          margin-left: 0;
          padding: 25px 0; } }
      .order-container #order-table .stock-description-level .group-description {
        color: #484848;
        font-size: 0.9375rem;
        font-weight: 600;
        line-height: 1.2; }
        .order-container #order-table .stock-description-level .group-description:hover {
          color: #01416f;
          text-decoration: underline; }
        .order-container #order-table .stock-description-level .group-description:active {
          color: #67156a; }
      .order-container #order-table .stock-description-level .description {
        width: 100%;
        display: block;
        margin: 0;
        padding: 0;
        color: #484848;
        font-size: 0.9375rem;
        font-weight: 700;
        text-transform: none;
        line-height: normal;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .stock-description-level .description {
            min-width: 300px; } }
        .order-container #order-table .stock-description-level .description:hover {
          color: #67156a;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .order-container #order-table .stock-description-level .description:active {
          color: #01416f;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .order-container #order-table .stock-description-level .stock-indicator {
        margin-top: 5px; }
      .order-container #order-table .stock-description-level .stockWarning {
        display: none;
        color: rgba(149, 149, 149, 0.6);
        font-size: 0.875rem; }
        .order-container #order-table .stock-description-level .stockWarning.active {
          display: block; }
        .order-container #order-table .stock-description-level .stockWarning p {
          margin: 0;
          padding: 0; }
    .order-container #order-table .subsidiary-description {
      color: #484848;
      font-size: 0.875rem;
      font-weight: 700; }
    .order-container #order-table .non-returnable-description {
      font-style: italic;
      font-size: 0.875rem;
      color: #000000; }
      .order-container #order-table .non-returnable-description:before {
        content: "";
        padding: 0 5px 0 0;
        font-family: "fontello";
        font-style: normal;
        color: #ff5e05; }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-code-col {
        width: 10%;
        display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-price-col, .order-container #order-table .basket-current-price-col {
        max-width: 15%;
        width: 100%; } }
    .order-container #order-table .vat-rate-container {
      display: block; }
    .order-container #order-table td.basket-price-col {
      font-weight: 400; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-price-col {
          display: table-cell; } }
    .order-container #order-table td.basket-current-price-col {
      font-weight: 400; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-current-price-col {
          display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .add-to-basket-col {
        width: 15%; } }
    .order-container #order-table .basket-quantity {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .basket-quantity {
          width: 10%;
          display: table-cell; } }
      .order-container #order-table .basket-quantity .quantity-selector-container {
        width: 100%; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .basket-quantity .quantity-selector-container {
            width: auto;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; } }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .basket-quantity .label {
          display: none; } }
      .order-container #order-table .basket-quantity .input-number-group {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
        @media screen and (min-width: 81.25em) {
          .order-container #order-table .basket-quantity .input-number-group {
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-sub-total {
        width: 11%; } }
    .order-container #order-table .basket-sub-total span {
      width: 60%;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      text-align: right; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table .basket-sub-total span {
          width: auto;
          -webkit-box-ordinal-group: 2;
              -ms-flex-order: 1;
                  order: 1; } }
    .order-container #order-table td.basket-sub-total-col {
      width: 50%;
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4;
      font-weight: 600;
      color: #01416f; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-sub-total-col {
          width: auto;
          display: table-cell; } }
    @media screen and (min-width: 81.25em) {
      .order-container #order-table .basket-remove-col {
        width: 5%; } }
    .order-container #order-table td.basket-remove-col {
      width: 50%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-ordinal-group: 7;
          -ms-flex-order: 6;
              order: 6; }
      @media screen and (min-width: 81.25em) {
        .order-container #order-table td.basket-remove-col {
          width: auto;
          display: table-cell; } }
    .order-container #order-table .remove-button {
      width: 80px;
      height: 80px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      position: relative;
      color: #959595;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .order-container #order-table .basketUpdateRow {
      border-top: 1px solid #959595; }
    @media print, screen and (max-width: 81.24875em) {
      .order-container #order-table .basket-item-row {
        display: grid;
        grid-template-columns: minmax(120px, -webkit-max-content) minmax(120px, -webkit-max-content);
        grid-template-columns: minmax(120px, max-content) minmax(120px, max-content);
        gap: 5px;
        padding: 10px; } }
    @media print, screen and (max-width: 81.24875em) {
      .order-container #order-table .basket-item-row td {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: baseline;
            -ms-flex-align: baseline;
                align-items: baseline; } }
  .order-container #basket-summary {
    margin: 0; }
  .order-container #basket-summary {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }

.order-details, .order-delivery, .enquiry-details-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5px 0;
  padding: 15px 20px;
  background-color: #f3f3f3;
  border-radius: 0; }
  @media screen and (min-width: 81.25em) {
    .order-details, .order-delivery, .enquiry-details-container {
      width: auto;
      margin: 0;
      padding: 30px 40px; } }
  .order-details.inline, .order-delivery.inline, .enquiry-details-container.inline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px 20px; }
    .order-details.inline .order-detail-heading, .order-delivery.inline .order-detail-heading, .enquiry-details-container.inline .order-detail-heading {
      margin: 0; }
    @media screen and (min-width: 81.25em) {
      .order-details.inline .detail-item-container > span, .order-delivery.inline .detail-item-container > span, .enquiry-details-container.inline .detail-item-container > span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-right: 5px; } }
    .order-details.inline .detail-item-container > address, .order-delivery.inline .detail-item-container > address, .enquiry-details-container.inline .detail-item-container > address {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      gap: 5px; }
      .order-details.inline .detail-item-container > address span, .order-delivery.inline .detail-item-container > address span, .enquiry-details-container.inline .detail-item-container > address span {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        white-space: nowrap; }
        .order-details.inline .detail-item-container > address span:not(:last-child):after, .order-delivery.inline .detail-item-container > address span:not(:last-child):after, .enquiry-details-container.inline .detail-item-container > address span:not(:last-child):after {
          content: ',';
          display: inline-block; }
  .order-details.payer-details, .order-delivery.payer-details, .enquiry-details-container.payer-details {
    padding: 20px 20px; }

.order-detail-heading, .order-delivery-heading, .enquiry-details-heading {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 5px;
  margin: 0 0 25px;
  border-bottom: 1px solid #aeaeae; }
  .order-detail-heading h3, .order-delivery-heading h3, .enquiry-details-heading h3 {
    font-size: 1.375rem;
    font-weight: 400; }
  .order-detail-heading a.edit, .order-delivery-heading a.edit, .enquiry-details-heading a.edit {
    margin-left: auto; }

.detail-item-container, .delivery-item-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .detail-item-container:has(> p:empty), .delivery-item-container:has(> p:empty) {
    display: none; }
  .detail-item-container > span, .delivery-item-container > span {
    width: 100%;
    display: inline-block;
    color: #01416f;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .detail-item-container > span, .delivery-item-container > span {
        width: 170px; } }
  .detail-item-container > p, .delivery-item-container > p {
    margin: 0;
    padding: 0;
    color: #000000;
    font-size: 0.875rem; }
    @media screen and (min-width: 81.25em) {
      .detail-item-container > p, .delivery-item-container > p {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
  .detail-item-container a, .delivery-item-container a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    font-weight: 700;
    font-size: 0.875rem; }
  .detail-item-container address, .delivery-item-container address {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    font-size: 0.875rem; }

.basket-current-price-col {
  position: relative;
  color: #ff0101; }
  .basket-current-price-col .current-price-saving {
    position: relative;
    color: #01416f;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    display: none; }
    @media screen and (min-width: 81.25em) {
      .basket-current-price-col .current-price-saving {
        width: 70px;
        position: absolute;
        top: 35px;
        right: 0;
        left: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: auto; } }
    .basket-current-price-col .current-price-saving:after {
      content: '\f0dd';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      line-height: 0;
      color: #ff0101;
      font-family: "Font Awesome Solid";
      font-size: 13px; }

.order-details-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px; }
  @media screen and (min-width: 81.25em) {
    .order-details-container {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }
  .order-details-container .grid-x {
    width: calc(100% + 10px); }
    @media print, screen and (min-width: 40em) {
      .order-details-container .grid-x {
        width: calc(100% + 20px); } }

.requisition-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (min-width: 81.25em) {
    .requisition-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0 auto 50px; } }

.package-reference-container {
  font-size: 1rem;
  font-weight: 700; }
  .package-reference-container .label {
    display: inline-block; }
  .package-reference-container .container-reference {
    display: inline-block;
    text-transform: uppercase; }
    @media print, screen and (min-width: 40em) {
      .package-reference-container .container-reference {
        margin-right: 30px;
        margin-left: 15px; } }
    @media screen and (min-width: 81.25em) {
      .package-reference-container .container-reference {
        margin-right: 60px;
        margin-left: 30px; } }

.users-found-count {
  margin-bottom: 30px;
  font-size: 0.9375rem; }
  @media screen and (min-width: 81.25em) {
    .users-found-count {
      margin-bottom: 50px; } }
  .users-found-count span {
    margin-right: 5px;
    color: #01416f;
    font-weight: 700; }
  .users-found-count p {
    margin: 0;
    padding: 0; }

#users-table td {
  font-size: 0.9375rem; }
  #users-table td .label {
    margin-right: 5px;
    font-weight: 600; }
    @media screen and (min-width: 81.25em) {
      #users-table td .label {
        display: none; } }

#users-table td.users-contact-col {
  font-weight: 700;
  color: #484848; }

#users-table .users-account-col {
  text-align: left; }
  @media screen and (min-width: 81.25em) {
    #users-table .users-account-col {
      width: 25%;
      text-align: center; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-contact-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-email-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-delete-col {
    width: 33%; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-delete-col {
    text-align: center; } }

@media screen and (min-width: 81.25em) {
  #users-table .users-delete-col .remove-user-button {
    margin: auto; } }

.remove-user-button {
  width: 20px;
  height: 20px;
  position: relative;
  cursor: pointer; }
  @media screen and (min-width: 81.25em) {
    .remove-user-button {
      display: block; } }
  .remove-user-button:before {
    content: "";
    color: #959595;
    font-family: "Font Awesome Regular";
    font-size: 1.13636rem;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .remove-user-button:hover:before {
    color: #67156a;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .remove-user-button:active:before {
    color: #01416f; }

.manage-user-button-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px auto 0; }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container .primary-button {
      margin: 0 20px 0 auto; } }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container .secondary-button {
      margin: 0; } }
  @media screen and (min-width: 81.25em) {
    .manage-user-button-container .tertiary-button {
      margin: 0; } }

#select-branches-table {
  max-width: 850px;
  width: 100%;
  margin: auto;
  overflow-y: scroll; }
  @media screen and (min-width: 81.25em) {
    #select-branches-table .label {
      display: none; } }
  #select-branches-table .branch-col {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      #select-branches-table .branch-col {
        padding-left: 80px; } }
  #select-branches-table td.branch-col {
    font-size: 0.9375rem; }
  @media screen and (min-width: 81.25em) {
    #select-branches-table .allow-login-col {
      padding-right: 160px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-type-col {
    width: 250px;
    padding-left: 50px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-number-col {
    width: 180px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-expire-date-col {
    width: 240px; } }

@media screen and (min-width: 81.25em) {
  #tokens-table.payment .card-remove-col {
    padding-right: 0; } }

#tokens-table, .tokens-table {
  margin: 0; }
  #tokens-table tr:hover .card-type:before, .tokens-table tr:hover .card-type:before {
    color: #67156a;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  #tokens-table tr.card-expired .card-type-col, #tokens-table tr.card-expired .card-number-col, #tokens-table tr.card-expired .expire-date, .tokens-table tr.card-expired .card-type-col, .tokens-table tr.card-expired .card-number-col, .tokens-table tr.card-expired .expire-date {
    opacity: 0.5;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  @media print, screen and (max-width: 81.24875em) {
    #tokens-table tr.card-expired .expire-date, .tokens-table tr.card-expired .expire-date {
      opacity: 1; } }
  #tokens-table tr.card-expired:hover .card-type-col, #tokens-table tr.card-expired:hover .card-number-col, #tokens-table tr.card-expired:hover .expire-date, .tokens-table tr.card-expired:hover .card-type-col, .tokens-table tr.card-expired:hover .card-number-col, .tokens-table tr.card-expired:hover .expire-date {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  #tokens-table td, .tokens-table td {
    font-size: 0.9375rem; }
  #tokens-table .card-select-col .radio, .tokens-table .card-select-col .radio {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  @media screen and (min-width: 81.25em) {
    #tokens-table .card-type-col, .tokens-table .card-type-col {
      width: 30%;
      padding-left: 200px;
      text-align: left; } }
  #tokens-table .card-expire-date-col, .tokens-table .card-expire-date-col {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
    @media screen and (min-width: 81.25em) {
      #tokens-table .card-expire-date-col, .tokens-table .card-expire-date-col {
        width: 20%;
        -webkit-box-orient: unset;
        -webkit-box-direction: unset;
            -ms-flex-direction: unset;
                flex-direction: unset;
        text-align: center; } }
  #tokens-table .expire-date, .tokens-table .expire-date {
    display: inline-block; }
    @media screen and (min-width: 81.25em) {
      #tokens-table .expire-date, .tokens-table .expire-date {
        width: auto; } }
  @media screen and (min-width: 81.25em) {
    #tokens-table .card-remove-col, .tokens-table .card-remove-col {
      text-align: center;
      padding-right: 200px; } }
  #tokens-table .selected-card, .tokens-table .selected-card {
    display: inline-block;
    font-weight: 600; }

.no-tokens-found {
  margin: 50px 0;
  text-align: center;
  font-size: 0.9375rem;
  font-weight: 600; }
  @media screen and (min-width: 81.25em) {
    .no-tokens-found {
      margin: 100px 0; } }
  .no-tokens-found .no-tokens-icon:before {
    content: "";
    font-family: "Font Awesome Regular";
    font-size: 4.0625rem;
    color: #dadada; }

.payment-details-container {
  max-height: 60vh;
  overflow-y: scroll; }

.modal-container[type=select-payment] #payment-add-new-card-form {
  display: none; }

#payment-add-new-card-form {
  max-width: 640px;
  width: 100%;
  margin: auto; }
  #payment-add-new-card-form fieldset {
    margin: 0;
    padding: 0; }
  #payment-add-new-card-form .cms-content-container {
    padding: 0; }

.save-card-container {
  width: 100%; }
  .save-card-container .control.checkbox {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .save-card-container .label {
    width: auto; }

#payment-frame {
  width: 100%;
  border: 0; }

.statement-list-container.in-active, .statement-pay-container.in-active, .account-pay-container.in-active {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: height 0.6s;
  transition: height 0.6s; }

.statement-balance-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 81.25em) {
    .statement-balance-container {
      margin: 0 2% 20px 0;
      text-align: right; } }
  .statement-balance-container p {
    margin: 0;
    padding: 0;
    font-size: 1.125rem;
    font-weight: 700;
    color: #01416f; }
    .statement-balance-container p span {
      padding-left: 60px; }

.statement-pay-container, .account-pay-container {
  position: relative; }
  @media screen and (min-width: 81.25em) {
    .statement-pay-container, .account-pay-container {
      margin: 30px 0 0; } }

.summary-container.statement .summary-heading, .summary-container.account-payment-summary .summary-heading {
  margin: 0 0 40px; }

.transaction-type {
  display: inline-block; }
  @media screen and (min-width: 81.25em) {
    .transaction-type {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }

.direct-debit-icon {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .direct-debit-icon:after {
    content: "";
    margin-left: 5px;
    font-family: "fontello";
    font-size: 16px;
    color: #000000; }

table.service-contracts {
  table-layout: fixed; }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .branch-col {
      width: 6.2%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .next-due-date-col {
      width: 8%;
      padding: 0 12px; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .document-reference-col {
      width: 9%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .your-reference-col {
      width: 10%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .sku-reference-col {
      width: 12%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-value-col {
      width: 8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-type-col {
      width: 12%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts td.contract-type-col {
      padding: 0 10px;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .contract-group-col {
      width: 9.8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .frequency-col {
      width: 8.5%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .payment-method-col {
      width: 9%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .termination-date-col {
      width: 8%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .balance-col {
      width: 7%; } }
  @media screen and (min-width: 81.25em) {
    table.service-contracts .renewal-col {
      width: 5.5%; } }
  table.service-contracts .tubs-renew-button {
    font-weight: 400;
    font-size: 0.875rem;
    color: #01416f; }
    @media print, screen and (max-width: 81.24875em) {
      table.service-contracts .tubs-renew-button {
        width: 100%;
        padding: 15px 35px;
        border: 1px solid #dadada;
        text-align: center; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table .item-col, table.order-invoice-enquiry-table .item-col {
    width: 5%; } }

table.order-status-table .reference-col, table.order-invoice-enquiry-table .reference-col {
  overflow-wrap: anywhere; }
  @media screen and (min-width: 81.25em) {
    table.order-status-table .reference-col, table.order-invoice-enquiry-table .reference-col {
      width: 14%; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table .description-col, table.order-invoice-enquiry-table .description-col {
    width: 23%; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table th.description-col, table.order-invoice-enquiry-table th.description-col {
    text-align: center; } }

@media screen and (min-width: 81.25em) {
  table.order-status-table .invoices-col, table.order-status-table .deliveries-col, table.order-invoice-enquiry-table .invoices-col, table.order-invoice-enquiry-table .deliveries-col {
    width: 12%; } }

table.order-status-table ul, table.order-invoice-enquiry-table ul {
  padding: 0;
  list-style: none; }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .item-col {
    width: 6.95%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .reference-col {
    width: 13%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .quantity-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .description-col {
    width: 27%;
    text-align: left; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .our-reference-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.delivery-enquiry-table .your-reference-col {
    width: 15%; } }

@media screen and (min-width: 81.25em) {
  table.contracts-table {
    margin-top: 40px; } }

@media screen and (min-width: 81.25em) {
  table.contracts-table .description-col {
    width: 33%;
    padding-left: 20px;
    text-align: left; } }

table.contracts-table td.description-col {
  font-weight: 700;
  color: #484848; }

@media screen and (min-width: 81.25em) {
  table.transactions-table .type-col, table.transactions-table .document-reference-col, table.transactions-table .value-col, table.transactions-table .status-col {
    text-align: center; } }

@media screen and (min-width: 81.25em) {
  table.transactions-table .date-col {
    padding-left: 20px;
    text-align: left; } }

.account-return-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 15px 35px);
  color: #01416f;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media screen and (min-width: 81.25em) {
    .account-return-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .account-return-button:hover, .account-return-button.hover {
      color: #01416f;
      background-color: #bbe8f7;
      border-color: #01416f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .account-return-button:hover .graduated-colour-edge .step, .account-return-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .account-return-button:active, .account-return-button.active {
    color: #ffffff;
    background-color: #01416f;
    border-color: #01416f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .account-return-button:disabled, .account-return-button.disabled, .account-return-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .account-return-button:disabled:hover, .account-return-button.disabled:hover {
    border-color: #6d6d6d; }
  .account-return-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .account-return-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .pay-col {
    width: 6.2%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .date-col {
    width: 20%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .time-col {
    width: 8.5%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .reference-col {
    width: 18.1%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .amount-col {
    width: 10.8%; } }

@media screen and (min-width: 81.25em) {
  table.payment-requests-table .contact-col {
    width: 25%; } }

.site-list-container {
  margin: 0 0 20px; }
  @media screen and (min-width: 81.25em) {
    .site-list-container {
      margin: 0 0 40px; } }
  .site-list-container .bespoke-site-icon {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .site-list-container .bespoke-site-icon:before {
      content: "";
      margin: auto;
      font-family: "fontello";
      font-size: 26px;
      color: #67156a; }
  .site-list-container .site-logo {
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .site-list-container .site-logo:hover {
      opacity: .5;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .site-list-container .site-logo .image {
      height: 100%;
      aspect-ratio: 1 / 1; }
      .site-list-container .site-logo .image img {
        height: 100%; }
  .site-list-container .site-description a:hover {
    color: #67156a; }
  .site-list-container .site-description a:active {
    color: #484848; }

.site-list-publish-status:before {
  font-family: "Font Awesome Solid";
  font-size: 16px; }

.site-list-publish-status.success:before {
  content: "";
  color: #12811f; }

.site-list-publish-status.failed:before {
  content: "";
  color: #b20c0c; }

.site-list-publish-status.unknown:before {
  content: "";
  color: #484848; }

.site-list-publish-status.cancelled:before {
  content: "";
  color: #484848; }

.site-list-publish-status.in-progress:before {
  content: "";
  display: block;
  color: #01416f;
  -webkit-animation: spinner 1.5s linear infinite;
          animation: spinner 1.5s linear infinite; }

@-webkit-keyframes spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes spinner {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.data-time-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  .data-time-container .time {
    display: inline-block;
    margin-left: 15px;
    font-style: italic; }
    @media screen and (min-width: 81.25em) {
      .data-time-container .time {
        display: block;
        margin-left: 15px; } }

@media screen and (min-width: 81.25em) {
  table.publish-history .data-time-container {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table tbody {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 10px; } }

table.site-list-table tbody td {
  vertical-align: middle; }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table.responsive-table td {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    font-size: 0.875rem; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table.responsive-table td.site-logo-col {
    padding: 0; } }

table.site-list-table.responsive-table td .col-label {
  width: 40%;
  font-weight: 600;
  color: #000000; }

table.site-list-table.preset-1 tbody tr {
  padding: 20px; }
  @media print, screen and (max-width: 81.24875em) {
    table.site-list-table.preset-1 tbody tr {
      background-color: #f3f3f3; } }
  @media screen and (min-width: 81.25em) {
    table.site-list-table.preset-1 tbody tr {
      padding: 0; } }

table.site-list-table td p {
  margin: 0;
  padding: 0; }

table.site-list-table th.site-logo-col {
  display: none; }

table.site-list-table tr.staging-site .site-logo-col .site-logo {
  -webkit-filter: grayscale(1);
          filter: grayscale(1); }

@media screen and (min-width: 81.25em) {
  table.site-list-table .site-logo-col {
    width: 112px;
    padding: 0; } }

table.site-list-table .site-logo-col a {
  width: 100%;
  text-align: center; }

table.site-list-table .site-logo-col .site-logo {
  height: 120px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  padding: 30px;
  background-color: #dadada;
  border: 2px solid #ffffff; }
  @media screen and (min-width: 81.25em) {
    table.site-list-table .site-logo-col .site-logo {
      width: 110px;
      margin: 2px;
      padding: 10px;
      border: 0; } }
  table.site-list-table .site-logo-col .site-logo .image, table.site-list-table .site-logo-col .site-logo a {
    width: 100%; }

table.site-list-table .site-description-col {
  text-align: left; }
  table.site-list-table .site-description-col p {
    margin: 0;
    padding: 0; }
  table.site-list-table .site-description-col hr {
    width: 100%;
    margin: 10px 0 15px; }
    @media screen and (min-width: 81.25em) {
      table.site-list-table .site-description-col hr {
        display: none; } }
  table.site-list-table .site-description-col .site-description a {
    color: #01416f;
    font-size: 1.0625rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      table.site-list-table .site-description-col .site-description a {
        font-size: 0.9375rem; } }
  table.site-list-table .site-description-col .site-environment {
    font-size: 1.0625rem;
    font-style: italic; }
    @media screen and (min-width: 81.25em) {
      table.site-list-table .site-description-col .site-environment {
        font-size: 0.9375rem; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table th.site-description-col {
    padding-left: 20px; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table td.site-description-col {
    width: 250px;
    padding-left: 30px; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table td.site-description-col {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; } }

@media print, screen and (max-width: 81.24875em) {
  table.site-list-table .site-description, table.site-list-table .site-environment {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table .license-col, table.site-list-table .publishing-col {
    width: 110px; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table .started-col, table.site-list-table .ended-col, table.site-list-table .last-touch-col {
    width: 145px; } }

table.site-list-table .site-buttons-col .site-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
  margin: 30px 0 0; }
  @media screen and (min-width: 81.25em) {
    table.site-list-table .site-buttons-col .site-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      gap: 10px;
      margin: 0; } }

table.site-list-table .site-buttons-col button, table.site-list-table .site-buttons-col a {
  margin: 0;
  font-size: 0.8125rem;
  padding: 10px 15px; }

@media screen and (min-width: 81.25em) {
  table.site-list-table .data-time-container {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; } }

@media screen and (min-width: 81.25em) {
  table.site-list-table .data-time-container .time {
    margin-left: 0; } }

table.site-list-table .bespoke-site-icon:before {
  font-size: 44px; }

.site-list-content-container {
  padding: 20px;
  background-color: #f3f3f3;
  -webkit-transition: background-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, -webkit-box-shadow 0.8s;
  transition: background-color 0.8s, box-shadow 0.8s;
  transition: background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .site-list-content-container:hover {
    background-color: #ffffff;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, -webkit-box-shadow 0.6s;
    transition: background-color 0.6s, box-shadow 0.6s;
    transition: background-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .site-list-content-container.staging-site .site-logo {
    -webkit-filter: grayscale(1);
            filter: grayscale(1); }
  .site-list-content-container .site-logo {
    height: 120px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 0 20px;
    background-color: #dadada;
    border: 2px solid #ffffff; }
    .site-list-content-container .site-logo .image {
      padding: 30px; }
    .site-list-content-container .site-logo .image, .site-list-content-container .site-logo img {
      width: 100%; }
  .site-list-content-container .site-description {
    text-align: center; }
    .site-list-content-container .site-description a {
      margin: 0;
      color: #01416f;
      font-size: 1.0625rem;
      font-weight: 700; }
  .site-list-content-container hr {
    margin: 10px 0 15px; }
  .site-list-content-container .site-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 5px 0; }
    .site-list-content-container .site-option > span {
      width: 40%;
      display: inline-block;
      font-size: 0.875rem;
      font-weight: 600;
      color: #000000; }
    .site-list-content-container .site-option p {
      margin: 0;
      font-size: 0.875rem; }
    .site-list-content-container .site-option + .site-buttons-container {
      margin-top: 30px; }
  .site-list-content-container .data-time-container {
    font-size: 0.875rem; }
    .site-list-content-container .data-time-container .time {
      display: inline-block; }
  .site-list-content-container .site-buttons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
    margin: 30px 0 0; }
    @media screen and (min-width: 81.25em) {
      .site-list-content-container .site-buttons-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        gap: 15px;
        margin: 0; } }
    .site-list-content-container .site-buttons-container button, .site-list-content-container .site-buttons-container a {
      margin: 0;
      font-size: 0.8125rem;
      padding: 10px 15px; }
  .site-list-content-container .bespoke-site-icon:before {
    font-size: 74px; }

/*
----- CMS Styling ------ 
- Style for the actual cms pages themselves:
  - CMS Entry
  - Blog
  - News
  - Events
  - CMS Series
- CMS entry controls
- CMS module
- CMS content container, this get used throughout express for various pieces of content that is defined in the vmadmin's cms system these block of content can literally be anywhere ( headings for pages, in the footer, ajax responses ).
*/
.display-cms-series-intro, .series-explanatory-text {
  max-width: 850px;
  margin: 20px auto 30px;
  text-align: center; }
  .display-cms-series-intro.cms-content-container p, .series-explanatory-text.cms-content-container p {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #7b7b7b; }
  .display-cms-series-intro p, .series-explanatory-text p {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 700;
    color: #7b7b7b; }

.display-cms-series {
  margin: 25px 0 0; }
  .display-cms-series a:hover h3, .display-cms-series a:hover .video-player-indicator-text {
    text-decoration: underline;
    color: var(--secondary-colour-lightness-0, #67156a);
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .display-cms-series h3 {
    margin: 0 0 10px;
    font-size: 1.25rem;
    font-weight: 700; }
  .display-cms-series .content-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    overflow: hidden; }
  .display-cms-series .entry-content {
    font-size: 1rem; }
    .display-cms-series .entry-content p {
      margin: 0;
      padding: 0; }
  .display-cms-series.news .cell {
    background-color: #eeeeee; }
    .display-cms-series.news .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.blog .cell {
    background-color: #eeeeee; }
    .display-cms-series.blog .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.events .cell {
    background-color: #eeeeee; }
    .display-cms-series.events .cell:hover {
      background-color: #ffffff; }
  .display-cms-series.video-playlist .cell > a {
    background-color: #f3f3f3; }
    .display-cms-series.video-playlist .cell > a:hover {
      background-color: var(--white-colour); }
  .display-cms-series .cell {
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .display-cms-series .cell:hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .display-cms-series.table .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 10px;
    padding: 10px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .cell {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 0; } }
  @media screen and (min-width: 81.25em) {
    .display-cms-series.table .content-container {
      height: 270px;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      padding-top: 40px;
      padding-left: 110px;
      padding-right: 110px; } }
  @media screen and (min-width: 81.25em) {
    .display-cms-series.table .content-banner {
      width: 400px;
      height: 260px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }
  .display-cms-series.table .content-banner .image {
    width: 310px;
    height: 200px;
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .content-banner .image {
        margin: 40px 0 0; } }
  .display-cms-series.table .entry-content {
    margin: 0 0 20px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .entry-content {
        margin: 0; } }
  .display-cms-series.table .entry-content.read-more {
    overflow: hidden; }
    .display-cms-series.table .entry-content.read-more:not(.fade-disabled-low-content) {
      height: 200px; }
      @media screen and (min-width: 81.25em) {
        .display-cms-series.table .entry-content.read-more:not(.fade-disabled-low-content) {
          height: 30%; } }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.table .entry-content.read-more {
        height: 30%; } }
  .display-cms-series.grid.video-playlist .cell a {
    max-height: 520px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 20px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.video-playlist .cell a {
        padding: 45px; } }
  .display-cms-series.grid.video-playlist .content-banner {
    margin-bottom: 25px; }
  .display-cms-series.grid.video-playlist h3 {
    margin: 0 0 10px;
    line-height: normal; }
  .display-cms-series.grid.video-playlist .duration-container {
    margin: 0 0 10px; }
  .display-cms-series.grid.video-playlist .entry-content.read-more {
    padding: 0 0 30px;
    font-size: 0.9375rem;
    color: var(--black-colour);
    overflow: hidden; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.video-playlist .entry-content.read-more {
        padding: 0 0 50px; } }
  .display-cms-series.grid.video-playlist .content-container {
    height: 100%; }
    .display-cms-series.grid.video-playlist .content-container .video-player-indicator-text {
      margin-top: auto; }
  .display-cms-series.grid.blog .cell {
    height: 530px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 25px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.blog .cell {
        padding: 50px; } }
    .display-cms-series.grid.blog .cell .content-banner {
      margin-bottom: 35px; }
      .display-cms-series.grid.blog .cell .content-banner .image {
        height: 170px; }
    .display-cms-series.grid.blog .cell .entry-content.read-more {
      overflow: hidden; }
  .display-cms-series.grid.events .cell {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 20px; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.events .cell {
        height: 260px;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        padding: 35px 45px; } }
    .display-cms-series.grid.events .cell .content-container {
      height: 200px;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    @media screen and (min-width: 81.25em) {
      .display-cms-series.grid.events .cell .content-banner {
        width: 200px;
        margin-left: 40px;
        margin-right: 0; } }
    .display-cms-series.grid.events .cell .entry-content.read-more {
      overflow: hidden; }
      .display-cms-series.grid.events .cell .entry-content.read-more:not(.fade-disabled-low-content) {
        height: 200px; }
        @media screen and (min-width: 81.25em) {
          .display-cms-series.grid.events .cell .entry-content.read-more:not(.fade-disabled-low-content) {
            height: 75px; } }
      @media screen and (min-width: 81.25em) {
        .display-cms-series.grid.events .cell .entry-content.read-more {
          height: 75px; } }
  .display-cms-series.grid .cell {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 20px; }
  @media screen and (min-width: 81.25em) {
    .display-cms-series.grid .content-banner .image {
      width: 100%;
      height: 100%;
      text-align: center;
      border: 1px solid #dadada; }
      .display-cms-series.grid .content-banner .image img {
        height: 100%;
        -o-object-fit: cover;
           object-fit: cover; } }
  .display-cms-series .publish-date {
    margin: 0 0 17px; }

.publish-date {
  font-style: italic;
  font-size: 0.875rem;
  color: #484848; }

.read-more-anchor {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  color: #484848;
  font-size: 1rem;
  font-weight: 600;
  text-transform: none; }
  @media screen and (min-width: 81.25em) {
    .read-more-anchor {
      margin: 10px 0 0; } }
  .read-more-anchor:hover {
    text-decoration: underline; }

.cms-entry-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 25px 30px 40px; }
  @media screen and (min-width: 81.25em) {
    .cms-entry-container {
      padding: 50px 110px 70px; } }
  .cms-entry-container.news-article .cms-heading:before {
    content: ""; }
  .cms-entry-container.event .cms-heading:before {
    content: ""; }
  .cms-entry-container.blog-post .cms-heading:before {
    content: ""; }
  .cms-entry-container.information {
    background-color: #f3f3f3; }
    .cms-entry-container.information.style-1 {
      padding: 0;
      background-color: transparent; }
  .cms-entry-container .cms-heading {
    width: 100%;
    display: block;
    text-align: center; }
    .cms-entry-container .cms-heading:before {
      display: block;
      margin-bottom: 25px;
      font-family: "Font Awesome Regular";
      font-size: 2.875rem;
      color: #01416f;
      line-height: 0.8;
      opacity: 0.3; }
    .cms-entry-container .cms-heading h1 {
      margin: 0 0 40px; }
  .cms-entry-container .content-container {
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex: 1 1px;
            flex: 1 1px; }
    .cms-entry-container .content-container h1 {
      margin: 25px 0 20px;
      font-size: 2.1875rem;
      font-weight: 600;
      font-style: normal;
      color: #01416f;
      line-height: 1.6;
      background-color: transparent; }
      .cms-entry-container .content-container h1:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h1:only-child {
        margin: 0; }
    .cms-entry-container .content-container h2 {
      margin: 25px 0 20px;
      font-size: 2rem;
      font-weight: 600;
      font-style: normal;
      color: #01416f;
      line-height: 1.6; }
      .cms-entry-container .content-container h2:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h2:only-child {
        margin: 0; }
    .cms-entry-container .content-container h3 {
      margin: 25px 0 10px;
      padding: 15px 0;
      font-size: 1.5625rem;
      font-weight: 600;
      font-style: normal;
      color: #67156a;
      line-height: 1.6; }
      .cms-entry-container .content-container h3:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h3:only-child {
        margin: 0; }
    .cms-entry-container .content-container h4 {
      margin: 25px 0 10px;
      padding: 0 0 10px;
      font-size: 1.375rem;
      font-weight: 400;
      font-style: normal;
      color: #01416f;
      line-height: 1.6; }
      .cms-entry-container .content-container h4:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h4:only-child {
        margin: 0; }
    .cms-entry-container .content-container h5 {
      margin: 15px 0 10px;
      font-size: 1.125rem;
      font-weight: 400;
      font-style: normal;
      color: #000000;
      line-height: 1.6; }
      .cms-entry-container .content-container h5:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h5:only-child {
        margin: 0; }
    .cms-entry-container .content-container h6 {
      margin: 15px 0;
      font-size: 0.9375rem;
      font-weight: 400;
      font-style: normal;
      color: #000000;
      line-height: 1.6; }
      .cms-entry-container .content-container h6:first-child {
        margin-top: 0; }
      .cms-entry-container .content-container h6:only-child {
        margin: 0; }
    .cms-entry-container .content-container p {
      margin: var(--indent-margin, 0);
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.6;
      color: #000000; }
      .cms-entry-container .content-container p img[style*="float:left"], .cms-entry-container .content-container p img[style*="float: left"], .cms-entry-container .content-container p[style*="float:left"] > img {
        margin: .2em .2em .2em 0; }
      .cms-entry-container .content-container p img[style*="float:right"], .cms-entry-container .content-container p img[style*="float: right"], .cms-entry-container .content-container p[style*="float:right"] > img {
        margin: .2em 0 .2em .2em; }
      .cms-entry-container .content-container p img {
        margin: .2em 0; }
      .cms-entry-container .content-container p + p {
        margin-top: 0;
        margin-bottom: 0; }
    .cms-entry-container .content-container ul, .cms-entry-container .content-container ol {
      text-align: left; }
    .cms-entry-container .content-container ul {
      margin: 10px;
      padding: 0;
      line-height: 1.6;
      list-style: none;
      line-height: 25px; }
      .cms-entry-container .content-container ul ul {
        padding-top: 0;
        padding-bottom: 0;
        padding-left: 25px; }
      .cms-entry-container .content-container ul li {
        position: relative;
        padding: 0 0 0 15px; }
        .cms-entry-container .content-container ul li:before {
          content: '';
          width: 5px;
          height: 5px;
          position: absolute;
          top: 10px;
          left: 0;
          margin: auto;
          display: block;
          background-color: #01416f;
          border-radius: 5px; }
    .cms-entry-container .content-container ol {
      margin: 10px;
      padding: 0 25px;
      line-height: 1.6; }
      .cms-entry-container .content-container ol ol {
        margin: 0;
        padding-top: 0;
        padding-bottom: 0;
        list-style-type: lower-alpha; }
        .cms-entry-container .content-container ol ol ol {
          list-style-type: lower-roman; }
          .cms-entry-container .content-container ol ol ol ol {
            list-style-type: lower-alpha; }
            .cms-entry-container .content-container ol ol ol ol ol {
              list-style-type: lower-roman; }
    .cms-entry-container .content-container li {
      color: #000000;
      font-size: 0.9375rem;
      font-weight: 400;
      line-height: 1.6; }
    .cms-entry-container .content-container ul + h1, .cms-entry-container .content-container ol + h1 {
      margin-top: 20px; }
    .cms-entry-container .content-container ul + h2, .cms-entry-container .content-container ol + h2 {
      margin-top: 20px; }
    .cms-entry-container .content-container ul + h3, .cms-entry-container .content-container ol + h3 {
      margin-top: 10px; }
    .cms-entry-container .content-container ul + h4, .cms-entry-container .content-container ol + h4 {
      margin-top: 10px; }
    .cms-entry-container .content-container ul + h5, .cms-entry-container .content-container ol + h5 {
      margin-top: 10px; }
    .cms-entry-container .content-container ul + h6, .cms-entry-container .content-container ol + h6 {
      margin-top: 15px; }
    .cms-entry-container .content-container dl {
      text-align: left; }
    .cms-entry-container .content-container p:not(:empty) + table, .cms-entry-container .content-container p:not(:empty) + .comparison-table-container {
      margin: 15px 0; }
    .cms-entry-container .content-container table {
      --thead-border-colour: $thead-border-colour;
      max-width: 100%;
      margin-bottom: 0; }
      .cms-entry-container .content-container table:not([class*=preset]) thead {
        background-color: transparent; }
        .cms-entry-container .content-container table:not([class*=preset]) thead tr {
          border-bottom: 1px solid var(--thead-border-colour); }
        .cms-entry-container .content-container table:not([class*=preset]) thead th {
          font-weight: 700; }
      .cms-entry-container .content-container table.responsive-table {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container table.responsive-table {
            display: table; } }
        .cms-entry-container .content-container table.responsive-table:not([class*=preset]) thead {
          display: none; }
          @media screen and (min-width: 81.25em) {
            .cms-entry-container .content-container table.responsive-table:not([class*=preset]) thead {
              display: table-row-group; } }
        .cms-entry-container .content-container table.responsive-table tbody:not(.comparison-summary) {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .cms-entry-container .content-container table.responsive-table tbody:not(.comparison-summary) {
              display: table-row-group; } }
      .cms-entry-container .content-container table th {
        padding: 10px 10px 10px; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container table td {
          padding: 10px; } }
      .cms-entry-container .content-container table thead[class*="preset"] + tbody:before {
        content: '';
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container table thead[class*="preset"] + tbody:before {
            margin: 10px; } }
      .cms-entry-container .content-container table tbody {
        background-color: transparent; }
        .cms-entry-container .content-container table tbody th {
          background-color: transparent; }
        .cms-entry-container .content-container table tbody tr:not(:last-child) th {
          border-bottom: 1px solid transparent; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container table tbody tr {
            display: table-row; } }
      .cms-entry-container .content-container table .col-label {
        color: #484848; }
      @media print, screen and (max-width: 81.24875em) {
        .cms-entry-container .content-container table.responsive-table tbody tr {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      @media print, screen and (max-width: 81.24875em) {
        .cms-entry-container .content-container table.responsive-table tbody tr:not(:last-child) {
          margin-bottom: 10px;
          padding-bottom: 10px;
          border-bottom: 1px solid #eeeeee; } }
      .cms-entry-container .content-container table.no-wrap {
        display: block;
        white-space: nowrap;
        overflow-x: auto; }
      .cms-entry-container .content-container table.comparison-table tbody td:first-child {
        color: #484848;
        font-weight: 700; }
    .cms-entry-container .content-container blockquote {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      gap: 15px;
      margin: 0 auto 40px;
      padding: 50px 30px;
      border: 1px solid transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      text-align: center;
      font-family: "Khula", "Khula Fallback", "Arial";
      font-size: 0.9375rem;
      -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: border-color 0.8s, -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s;
      transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container blockquote {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          gap: 25px; } }
      .cms-entry-container .content-container blockquote:hover {
        -webkit-box-shadow: none;
                box-shadow: none;
        border-color: #eeeeee;
        -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: border-color 0.6s, -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s;
        transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
        .cms-entry-container .content-container blockquote:hover:before {
          color: #dadada;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .cms-entry-container .content-container blockquote:has(img) {
        text-align: left; }
      .cms-entry-container .content-container blockquote:last-of-type {
        margin-bottom: 40px; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container blockquote {
          padding: 50px 60px; } }
      .cms-entry-container .content-container blockquote + blockquote {
        margin-top: 15px; }
      .cms-entry-container .content-container blockquote:before, .cms-entry-container .content-container blockquote:after {
        content: "";
        position: absolute;
        display: inline-block;
        padding: 10px;
        font-size: 40px;
        color: #eeeeee;
        font-family: "Font Awesome Solid";
        line-height: .8;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .cms-entry-container .content-container blockquote:before {
        top: 0;
        left: 0; }
      .cms-entry-container .content-container blockquote:after {
        right: 0;
        bottom: 0;
        -webkit-transform: rotate(180deg);
                transform: rotate(180deg); }
      .cms-entry-container .content-container blockquote img {
        float: left; }
        @media screen and (min-width: 81.25em) {
          .cms-entry-container .content-container blockquote img {
            text-align: left; } }
    .cms-entry-container .content-container div.gallary {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 10px 0 20px; }
      .cms-entry-container .content-container div.gallary.cell-gutters {
        gap: 10px; }
      .cms-entry-container .content-container div.gallary > img {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
      .cms-entry-container .content-container div.gallary a {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
        .cms-entry-container .content-container div.gallary a img {
          width: 100%; }
    .cms-entry-container .content-container iframe[src*="https://www.google.com/maps/embed"] {
      border: 2px solid #ffffff; }
    th, td {
      text-align: left; }
    .cms-entry-container .content-container form fieldset h2 {
      color: #ffffff; }
    .cms-entry-container .content-container .background-section {
      padding: 10px; }
      @media screen and (min-width: 81.25em) {
        .cms-entry-container .content-container .background-section {
          padding: 15px; } }
  @media screen and (min-width: 81.25em) {
    .cms-entry-container .content-banner {
      width: 50%; } }
  .cms-entry-container .content-banner .image:first-child {
    margin-bottom: 10px; }
  .cms-entry-container .content-banner .image:last-child {
    margin-top: 10px; }
  .cms-entry-container .content-banner .image:not(:first-child), .cms-entry-container .content-banner .image:not(:last-child) {
    margin-top: 10px;
    margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    .cms-entry-container .content-banner .image {
      width: 78%;
      margin-left: auto; } }
  .cms-entry-container .publish-date {
    display: block;
    margin: 20px 0 0; }
  .cms-entry-container .tagging-container {
    width: 100%;
    margin: 20px 0 0; }
    @media screen and (min-width: 81.25em) {
      .cms-entry-container .tagging-container {
        margin: 40px 0 0; } }

.cms-entry-container a[href^="tel:"], .cms-entry-container a[href^="mailto:"], .cms-content-container a[href^="tel:"], .cms-content-container a[href^="mailto:"], .cms-modul.entry-module a[href^="tel:"], .cms-modul.entry-module a[href^="mailto:"] {
  font-weight: 700; }
  .cms-entry-container a[href^="tel:"]:hover, .cms-entry-container a[href^="mailto:"]:hover, .cms-content-container a[href^="tel:"]:hover, .cms-content-container a[href^="mailto:"]:hover, .cms-modul.entry-module a[href^="tel:"]:hover, .cms-modul.entry-module a[href^="mailto:"]:hover {
    text-decoration: none; }
  .cms-entry-container a[href^="tel:"].show-contact-icon:before, .cms-entry-container a[href^="mailto:"].show-contact-icon:before, .cms-content-container a[href^="tel:"].show-contact-icon:before, .cms-content-container a[href^="mailto:"].show-contact-icon:before, .cms-modul.entry-module a[href^="tel:"].show-contact-icon:before, .cms-modul.entry-module a[href^="mailto:"].show-contact-icon:before {
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid"; }

.cms-entry-container a[href^="mailto:"].show-contact-icon:before, .cms-content-container a[href^="mailto:"].show-contact-icon:before, .cms-modul.entry-module a[href^="mailto:"].show-contact-icon:before {
  content: ""; }

.cms-entry-container a[href^="tel:"].show-contact-icon:before, .cms-content-container a[href^="tel:"].show-contact-icon:before, .cms-modul.entry-module a[href^="tel:"].show-contact-icon:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.cms-entry-container p a:not([class*="-button"]), .cms-content-container p a:not([class*="-button"]), .cms-modul.entry-module p a:not([class*="-button"]) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0 5px;
  font-weight: 700; }

.cms-entry-container p a:has([style*="float"]), .cms-content-container p a:has([style*="float"]), .cms-modul.entry-module p a:has([style*="float"]) {
  display: inline; }

.cms-entry-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 40px 0 30px; }
  @media print, screen and (min-width: 40em) {
    .cms-entry-navigation {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .cms-entry-navigation .buttons-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media print, screen and (min-width: 40em) {
      .cms-entry-navigation .buttons-container {
        width: 50%; } }

.cms-entries-controls, .entries-icon-controls {
  width: 100%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 30px; }
  @media print, screen and (min-width: 40em) {
    .cms-entries-controls, .entries-icon-controls {
      width: 50%;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin-top: 0; } }
  .cms-entries-controls .label, .entries-icon-controls .label {
    margin-right: 30px;
    color: #01416f;
    font-size: 1.0625rem;
    font-weight: 700;
    text-transform: none; }
  .cms-entries-controls .control-button, .entries-icon-controls .control-button {
    width: 55px;
    height: 55px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #ffffff;
    color: #00adef;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .cms-entries-controls .control-button:first-of-type, .entries-icon-controls .control-button:first-of-type {
      margin-right: 30px; }
    .cms-entries-controls .control-button:hover, .entries-icon-controls .control-button:hover {
      background-color: #64a6d4;
      color: #01416f;
      -webkit-box-shadow: 0;
              box-shadow: 0;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .cms-entries-controls .control-button:active, .entries-icon-controls .control-button:active {
      background-color: #67156a;
      color: #ffffff; }
    .cms-entries-controls .control-button:before, .entries-icon-controls .control-button:before {
      font-family: "Font Awesome Solid";
      font-size: 26px; }
  .cms-entries-controls .previous-cms-entry:before, .entries-icon-controls .previous-cms-entry:before {
    content: ""; }
  .cms-entries-controls .next-cms-entry:before, .entries-icon-controls .next-cms-entry:before {
    content: ""; }

.entries-text-controls-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px 0;
  margin: 15px 0 20px; }
  @media screen and (min-width: 81.25em) {
    .entries-text-controls-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 10px 30px;
      margin: 0 0 20px; } }
  .entries-text-controls-container .label {
    color: #01416f;
    font-size: 1.0625rem;
    font-weight: 700;
    text-transform: none; }
  .entries-text-controls-container .control-button.previous-entry {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 15px 15px 15px);
    color: #00adef;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
    @media screen and (min-width: 81.25em) {
      .entries-text-controls-container .control-button.previous-entry {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .entries-text-controls-container .control-button.previous-entry:hover, .entries-text-controls-container .control-button.previous-entry.hover {
        color: #01416f;
        background-color: #64a6d4;
        border-color: #01416f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .entries-text-controls-container .control-button.previous-entry:hover:before, .entries-text-controls-container .control-button.previous-entry.hover:before {
          color: #01416f;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .entries-text-controls-container .control-button.previous-entry:hover .graduated-colour-edge .step, .entries-text-controls-container .control-button.previous-entry.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .entries-text-controls-container .control-button.previous-entry:active, .entries-text-controls-container .control-button.previous-entry.active {
      color: #ffffff;
      background-color: #67156a;
      border-color: #01416f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .entries-text-controls-container .control-button.previous-entry:active:before, .entries-text-controls-container .control-button.previous-entry.active:before {
        color: #ffffff; }
    .entries-text-controls-container .control-button.previous-entry:disabled, .entries-text-controls-container .control-button.previous-entry.disabled, .entries-text-controls-container .control-button.previous-entry[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      .entries-text-controls-container .control-button.previous-entry:disabled:before, .entries-text-controls-container .control-button.previous-entry.disabled:before, .entries-text-controls-container .control-button.previous-entry[disabled]:before {
        color: #6d6d6d; }
    .entries-text-controls-container .control-button.previous-entry:disabled:hover, .entries-text-controls-container .control-button.previous-entry.disabled:hover {
      border-color: #6d6d6d; }
    .entries-text-controls-container .control-button.previous-entry:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .entries-text-controls-container .control-button.previous-entry:before {
      content: "";
      margin: 0 10px 0 0;
      font-family: "Font Awesome Solid";
      font-size: 26px;
      color: #00adef;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .entries-text-controls-container .control-button.previous-entry .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
  .entries-text-controls-container .control-button.next-entry {
    --component-specifc-step-height: 15px;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    margin: var(--common-button-small-margin, 0);
    padding: var(--common-button-padding, 15px 15px 15px);
    color: #00adef;
    background-color: #ffffff;
    border-width: 2px;
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    border-style: solid;
    cursor: pointer;
    border-color: #dadada;
    text-decoration: none;
    line-height: 1;
    border-radius: 0 !important;
    overflow: hidden;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
    @media screen and (min-width: 81.25em) {
      .entries-text-controls-container .control-button.next-entry {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: var(--common-button-large-margin, 0); } }
    @media (hover: hover) {
      .entries-text-controls-container .control-button.next-entry:hover, .entries-text-controls-container .control-button.next-entry.hover {
        color: #01416f;
        background-color: #64a6d4;
        border-color: #01416f;
        text-decoration: none;
        -webkit-transition: all 0.6s;
        transition: all 0.6s; }
        .entries-text-controls-container .control-button.next-entry:hover:after, .entries-text-controls-container .control-button.next-entry.hover:after {
          color: #01416f;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
        .entries-text-controls-container .control-button.next-entry:hover .graduated-colour-edge .step, .entries-text-controls-container .control-button.next-entry.hover .graduated-colour-edge .step {
          background-color: #ffffff;
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; } }
    .entries-text-controls-container .control-button.next-entry:active, .entries-text-controls-container .control-button.next-entry.active {
      color: #ffffff;
      background-color: #67156a;
      border-color: #01416f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .entries-text-controls-container .control-button.next-entry:active:after, .entries-text-controls-container .control-button.next-entry.active:after {
        color: #ffffff; }
    .entries-text-controls-container .control-button.next-entry:disabled, .entries-text-controls-container .control-button.next-entry.disabled, .entries-text-controls-container .control-button.next-entry[disabled] {
      color: #6d6d6d;
      background-color: #ffffff;
      border-color: #6d6d6d;
      cursor: not-allowed; }
      .entries-text-controls-container .control-button.next-entry:disabled:after, .entries-text-controls-container .control-button.next-entry.disabled:after, .entries-text-controls-container .control-button.next-entry[disabled]:after {
        color: #6d6d6d; }
    .entries-text-controls-container .control-button.next-entry:disabled:hover, .entries-text-controls-container .control-button.next-entry.disabled:hover {
      border-color: #6d6d6d; }
    .entries-text-controls-container .control-button.next-entry:focus-visible {
      outline: none;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
    .entries-text-controls-container .control-button.next-entry:after {
      content: "";
      margin: 0 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 26px;
      color: #00adef;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .entries-text-controls-container .control-button.next-entry .graduated-colour-edge .step {
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }

.cms-entry-back-button {
  --component-specifc-step-height: 15px;
  width: 230px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0);
  padding: var(--common-button-padding, 15px 35px);
  color: #01416f;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .cms-entry-back-button {
      margin: var(--common-button-medium-margin, 10px 0); } }
  @media screen and (min-width: 81.25em) {
    .cms-entry-back-button {
      width: 230px;
      margin: var(--common-button-large-margin, 0 0 20px); } }
  @media (hover: hover) {
    .cms-entry-back-button:hover, .cms-entry-back-button.hover {
      color: #01416f;
      background-color: #bbe8f7;
      border-color: #01416f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .cms-entry-back-button:hover .graduated-colour-edge .step, .cms-entry-back-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .cms-entry-back-button:active, .cms-entry-back-button.active {
    color: #ffffff;
    background-color: #01416f;
    border-color: #01416f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .cms-entry-back-button:disabled, .cms-entry-back-button.disabled, .cms-entry-back-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .cms-entry-back-button:disabled:hover, .cms-entry-back-button.disabled:hover {
    border-color: #6d6d6d; }
  .cms-entry-back-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .cms-entry-back-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.site-map {
  margin: 0 0 25px; }
  .site-map > ul {
    margin: 0;
    padding: 0; }
    .site-map > ul > li {
      padding: 20px 0; }
  .site-map:not(.suppress-border) > ul > li {
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s;
    transition: border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .site-map:not(.suppress-border) > ul > li:only-child {
      border-width: 0; }
    .site-map:not(.suppress-border) > ul > li:last-child {
      border-color: transparent; }
    .site-map:not(.suppress-border) > ul > li:hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      -webkit-transition: -webkit-box-shadow 0.6s;
      transition: -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s;
      transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
      .site-map:not(.suppress-border) > ul > li:hover a:before {
        border-color: #01416f;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
  .site-map ul {
    list-style: none;
    -webkit-transition: -webkit-box-shadow 0.8s;
    transition: -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s;
    transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .site-map ul .parent > a, .site-map ul .parent > span {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 1.25rem;
      font-weight: 700;
      color: #01416f; }
      .site-map ul .parent > a:before, .site-map ul .parent > span:before {
        content: "";
        display: inline-block;
        margin: 0 35px 0 25px;
        font-family: "Font Awesome Solid";
        color: #aeaeae;
        font-size: 20px;
        -webkit-transition: border-color 0.8s;
        transition: border-color 0.8s; }
    .site-map ul .parent > ul {
      margin-left: 30px; }
    .site-map ul .parent .child {
      padding: 7px 0; }
      .site-map ul .parent .child > a {
        font-size: 1rem;
        font-weight: 400;
        color: #000000; }
  .site-map .parent a:hover, .site-map ul .child > a:hover {
    color: #67156a;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .site-map .parent a:active, .site-map ul .child > a:active {
    color: #1281bf;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }

.cms-module .read-more-button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 20px 0 0;
  padding: 0;
  font-size: 1rem;
  font-weight: 600;
  font-style: normal;
  color: #01416f;
  text-decoration: none;
  background-color: transparent;
  border: 1px solid transparent;
  text-transform: none;
  -webkit-transition: color, border, background-color 0.8s;
  transition: color, border, background-color 0.8s; }
  .cms-module .read-more-button:hover {
    color: #67156a;
    text-decoration: underline;
    border-color: transparent;
    background-color: transparent;
    -webkit-transition: color, border-color, background-color 0.6s;
    transition: color, border-color, background-color 0.6s; }
  .cms-module .read-more-button:active {
    color: #1281bf;
    background-color: transparent; }

.back-to-information {
  --component-specifc-step-height: 15px;
  width: 230px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 10px 0);
  padding: var(--common-button-padding, 15px 35px);
  color: #01416f;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 1rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .back-to-information {
      margin: var(--common-button-medium-margin, 10px 0); } }
  @media screen and (min-width: 81.25em) {
    .back-to-information {
      width: 230px;
      margin: var(--common-button-large-margin, 0 0 20px); } }
  @media (hover: hover) {
    .back-to-information:hover, .back-to-information.hover {
      color: #01416f;
      background-color: #bbe8f7;
      border-color: #01416f;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .back-to-information:hover .graduated-colour-edge .step, .back-to-information.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .back-to-information:active, .back-to-information.active {
    color: #ffffff;
    background-color: #01416f;
    border-color: #01416f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .back-to-information:disabled, .back-to-information.disabled, .back-to-information[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .back-to-information:disabled:hover, .back-to-information.disabled:hover {
    border-color: #6d6d6d; }
  .back-to-information:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .back-to-information .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.cms-container {
  margin: 12px 0 41px; }
  .cms-container p {
    font-size: 0.9375rem; }

div[style*="background-color"] .cms-content-container {
  padding: 0 25px; }
  @media screen and (min-width: 81.25em) {
    div[style*="background-color"] .cms-content-container {
      padding: 0 50px; } }

.cms-content-container h1 {
  margin: 25px 0 20px;
  font-size: 2.1875rem;
  font-weight: 600;
  font-style: normal;
  color: #01416f;
  line-height: 1.6;
  background-color: transparent; }
  .cms-content-container h1:first-child {
    margin-top: 0; }
  .cms-content-container h1:only-child {
    margin: 0; }

.cms-content-container h2 {
  margin: 25px 0 20px;
  font-size: 2rem;
  font-weight: 600;
  font-style: normal;
  color: #01416f;
  line-height: 1.6; }
  .cms-content-container h2:first-child {
    margin-top: 0; }
  .cms-content-container h2:only-child {
    margin: 0; }

.cms-content-container h3 {
  margin: 25px 0 10px;
  padding: 15px 0;
  font-size: 1.5625rem;
  font-weight: 600;
  font-style: normal;
  color: #67156a;
  line-height: 1.6; }
  .cms-content-container h3:first-child {
    margin-top: 0; }
  .cms-content-container h3:only-child {
    margin: 0; }

.cms-content-container h4 {
  margin: 25px 0 10px;
  padding: 0 0 10px;
  font-size: 1.375rem;
  font-weight: 400;
  font-style: normal;
  color: #01416f;
  line-height: 1.6; }
  .cms-content-container h4:first-child {
    margin-top: 0; }
  .cms-content-container h4:only-child {
    margin: 0; }

.cms-content-container h5 {
  margin: 15px 0 10px;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  .cms-content-container h5:first-child {
    margin-top: 0; }
  .cms-content-container h5:only-child {
    margin: 0; }

.cms-content-container h6 {
  margin: 15px 0;
  font-size: 0.9375rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  .cms-content-container h6:first-child {
    margin-top: 0; }
  .cms-content-container h6:only-child {
    margin: 0; }

.cms-content-container p {
  margin: var(--indent-margin, 0);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  color: #000000; }
  .cms-content-container p img[style*="float:left"], .cms-content-container p img[style*="float: left"], .cms-content-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  .cms-content-container p img[style*="float:right"], .cms-content-container p img[style*="float: right"], .cms-content-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  .cms-content-container p img {
    margin: .2em 0; }
  .cms-content-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

.cms-content-container blockquote {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
  margin: 0 auto 40px;
  padding: 50px 30px;
  border: 1px solid transparent;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  text-align: center;
  font-family: "Khula", "Khula Fallback", "Arial";
  font-size: 0.9375rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container blockquote {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 25px; } }
  .cms-content-container blockquote:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #eeeeee;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .cms-content-container blockquote:hover:before {
      color: #dadada;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .cms-content-container blockquote:has(img) {
    text-align: left; }
  .cms-content-container blockquote:last-of-type {
    margin-bottom: 40px; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container blockquote {
      padding: 50px 60px; } }
  .cms-content-container blockquote + blockquote {
    margin-top: 15px; }
  .cms-content-container blockquote:before, .cms-content-container blockquote:after {
    content: "";
    position: absolute;
    display: inline-block;
    padding: 10px;
    font-size: 40px;
    color: #eeeeee;
    font-family: "Font Awesome Solid";
    line-height: .8;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .cms-content-container blockquote:before {
    top: 0;
    left: 0; }
  .cms-content-container blockquote:after {
    right: 0;
    bottom: 0;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .cms-content-container blockquote img {
    float: left; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container blockquote img {
        text-align: left; } }

.cms-content-container p:not(:empty) + table, .cms-content-container p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.cms-content-container table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .cms-content-container table:not([class*=preset]) thead {
    background-color: transparent; }
    .cms-content-container table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .cms-content-container table:not([class*=preset]) thead th {
      font-weight: 700; }
  .cms-content-container table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container table.responsive-table {
        display: table; } }
    .cms-content-container table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        .cms-content-container table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .cms-content-container table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .cms-content-container table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .cms-content-container table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container table td {
      padding: 10px; } }
  .cms-content-container table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .cms-content-container table tbody {
    background-color: transparent; }
    .cms-content-container table tbody th {
      background-color: transparent; }
    .cms-content-container table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .cms-content-container table tbody tr {
        display: table-row; } }
  .cms-content-container table .col-label {
    color: #484848; }
  @media print, screen and (max-width: 81.24875em) {
    .cms-content-container table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    .cms-content-container table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .cms-content-container table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .cms-content-container table.comparison-table tbody td:first-child {
    color: #484848;
    font-weight: 700; }

.cms-content-container ul, .cms-content-container ol {
  text-align: left; }

.cms-content-container ul {
  margin: 10px;
  padding: 0;
  line-height: 1.6;
  list-style: none;
  line-height: 25px; }
  .cms-content-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  .cms-content-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    .cms-content-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #01416f;
      border-radius: 5px; }

.cms-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.6; }
  .cms-content-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    .cms-content-container ol ol ol {
      list-style-type: lower-roman; }
      .cms-content-container ol ol ol ol {
        list-style-type: lower-alpha; }
        .cms-content-container ol ol ol ol ol {
          list-style-type: lower-roman; }

.cms-content-container li {
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6; }

.cms-content-container ul + h1, .cms-content-container ol + h1 {
  margin-top: 20px; }

.cms-content-container ul + h2, .cms-content-container ol + h2 {
  margin-top: 20px; }

.cms-content-container ul + h3, .cms-content-container ol + h3 {
  margin-top: 10px; }

.cms-content-container ul + h4, .cms-content-container ol + h4 {
  margin-top: 10px; }

.cms-content-container ul + h5, .cms-content-container ol + h5 {
  margin-top: 10px; }

.cms-content-container ul + h6, .cms-content-container ol + h6 {
  margin-top: 15px; }

.cms-content-container dl {
  text-align: left; }

.cms-content-container.success {
  margin-bottom: 70px; }
  .cms-content-container.success h2 {
    color: #484848; }
  .cms-content-container.success .amount-paid {
    font-weight: 700;
    color: #12811f; }

.cms-content-container.alert {
  margin-bottom: 35px; }
  .cms-content-container.alert h2 {
    margin: 0 0 5px;
    color: #484848; }
  .cms-content-container.alert p {
    color: #484848; }
  .cms-content-container.alert .amount-paid {
    font-weight: 700;
    color: #b20c0c; }

.cms-content-container.center-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: center; }

.cms-content-container.error {
  color: #b20c0c; }
  .cms-content-container.error h2, .cms-content-container.error h3, .cms-content-container.error h4, .cms-content-container.error h5 {
    color: #b20c0c; }

.cms-content-container.gutter-y {
  margin: 12px 0 41px; }

.cms-content-container.page-heading-content {
  padding: 0 0 15px; }

.cms-content-container.no-side-padding {
  padding-right: 0;
  padding-left: 0; }

.cms-content-container.outline {
  padding: 15px 10px;
  border: 2px solid #eeeeee;
  border-radius: 0;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .cms-content-container.outline {
      padding: 30px 20px; } }
  .cms-content-container.outline:hover {
    border-color: #959595;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }

.cms-content-container p {
  width: 100%; }

a {
  font-size: 0.9375rem;
  color: var(--primary-colour-lightness-0, var(--primary-colour-lightness-0)); }
  a:hover {
    color: var(--secondary-colour-lightness-0); }
  a:active {
    color: var(--primary-colour-lightness-2); }

.cms-content-container a:hover {
  text-decoration: underline; }

.cms-content-container a[class*="-button"]:hover {
  text-decoration: none; }

.cms-content-container p:first-of-type {
  margin-top: 0;
  padding-top: 0; }

.cms-content-container p:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0; }

.cms-content-container + table {
  margin-top: 15px; }

.cms-content-container + .page-buttons-container {
  margin-top: 20px; }

/************************************** Popups ************************************/
/**********************************************************************************/
#popupOverlay {
  background-color: rgba(72, 72, 72, 0.5);
  display: none;
  height: 100%;
  left: 0;
  overflow: auto;
  position: fixed;
  text-align: center;
  top: 0;
  width: 100%;
  z-index: 50000; }
  #popupOverlay:after {
    content: " ";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    width: 0; }

#popupContainer {
  width: 100%;
  background-color: #ffffff;
  border-radius: 0.3em;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  display: inline-block;
  margin: 0 2%;
  max-width: 800px;
  overflow: hidden;
  position: relative;
  text-align: left;
  vertical-align: middle; }
  @media screen and (min-width: 81.25em) {
    #popupContainer {
      width: 840px; } }
  #popupContainer.standard {
    max-height: 90%; }
    #popupContainer.standard #popupContent {
      padding: 20px; }
      #popupContainer.standard #popupContent .contentContainer {
        max-height: 50vh;
        overflow-y: auto; }
  #popupContainer.scroll #popupContent {
    max-height: 90vh;
    padding: 20px;
    overflow-y: scroll; }
    #popupContainer.scroll #popupContent .contentContainer {
      max-height: 50vh;
      overflow-y: auto; }
  #popupContainer legend {
    padding: 10px 5px;
    width: calc(100% - 10px); }
  #popupContainer form {
    width: 100%;
    margin: auto; }
    @media screen and (min-width: 81.25em) {
      #popupContainer form {
        width: 740px; } }
  #popupContainer .confirmationContainer {
    background-color: #ffffff;
    color: #12811f;
    display: inline-block;
    line-height: 1em;
    margin: 0 1em 0 0;
    padding: 13px 10px; }
  #popupContainer .popupButtonContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    #popupContainer .popupButtonContainer .popupCloseButton {
      line-height: 1em;
      position: relative; }

.closeButton.popupCloseButton {
  width: 70px;
  position: absolute;
  right: 0;
  top: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .closeButton.popupCloseButton:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .closeButton.popupCloseButton:hover:before {
    color: #01416f;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .closeButton.popupCloseButton:active:before {
    color: #67156a;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.secondary-button.popupCloseButton:before {
  content: "";
  display: none; }

#checkout-content-container {
  width: 100%;
  position: relative; }

.section-buttons-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 30px; }
  .section-buttons-container a {
    margin-bottom: 0; }

.formFieldContainer {
  width: 100%; }

#checkoutForm select {
  padding: 0 0 0 25px; }

#checkoutForm .changeDetails {
  margin: 5px 0 15px; }

#checkoutForm #checkoutFormDetails {
  border: 1px solid rgba(47, 101, 137, 0.2); }

#checkoutForm .checkout-details {
  width: 100%;
  text-align: center;
  font-size: 0.875rem; }

#checkoutForm #deliveryDetailsContainer {
  margin: 20px 0 35px; }
  #checkoutForm #deliveryDetailsContainer h3 {
    position: relative;
    font-size: 1.125rem;
    font-style: italic;
    color: #01416f;
    text-align: center;
    padding-bottom: 10px;
    margin-bottom: 30px; }
    #checkoutForm #deliveryDetailsContainer h3:before {
      content: '';
      width: 100%;
      height: 1px;
      position: absolute;
      bottom: 0;
      left: 0;
      background-color: #dadada; }

#checkoutForm #checkoutButtonContainer {
  margin: 75px 0 0; }
  #checkoutForm #checkoutButtonContainer #checkoutSubmitButton {
    width: auto;
    display: block;
    padding: 15px 25px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #01416f;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    margin: auto; }
    #checkoutForm #checkoutButtonContainer #checkoutSubmitButton:enabled:hover {
      border: 1px solid #01416f;
      background-color: rgba(1, 65, 111, 0.5);
      color: #01416f;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #checkoutForm #checkoutButtonContainer #checkoutSubmitButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }

#editDetailsFormContainer {
  max-width: 600px;
  max-height: 800px;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  padding: 10px 10px 20px;
  overflow-y: scroll;
  background-color: #ffffff;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  #editDetailsFormContainer h1 {
    position: relative;
    padding: 70.4px 0 0;
    text-align: center;
    font-size: 1.5625rem;
    color: #959595; }
    #editDetailsFormContainer h1:before {
      content: '\f4ff';
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      margin: auto;
      font-size: 44px;
      font-family: "Font Awesome Solid";
      color: #01416f; }
  #editDetailsFormContainer .buttonContainer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media print, screen and (min-width: 40em) {
      #editDetailsFormContainer .buttonContainer {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media print, screen and (min-width: 40em) {
      #editDetailsFormContainer .buttonContainer button {
        margin: 0 10px; } }
  #editDetailsFormContainer #changeDetailsCancelButton {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #aeaeae;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #editDetailsFormContainer #changeDetailsCancelButton:enabled:hover {
      border: 1px solid #aeaeae;
      background-color: rgba(1, 65, 111, 0.5);
      color: #aeaeae;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsCancelButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #editDetailsFormContainer #changeDetailsSubmitButton {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #01416f;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    #editDetailsFormContainer #changeDetailsSubmitButton:enabled:hover {
      border: 1px solid #01416f;
      background-color: rgba(1, 65, 111, 0.5);
      color: #01416f;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsSubmitButton:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  #editDetailsFormContainer #changeDetailsClose {
    width: auto;
    display: block;
    padding: 15px 20px;
    font-size: 15px;
    font-weight: 600;
    text-align: center;
    color: #ffffff;
    background-color: #01416f;
    border: 1px solid transparent;
    text-decoration: none;
    -webkit-transition: all 0.6s;
    transition: all 0.6s;
    margin: auto; }
    #editDetailsFormContainer #changeDetailsClose:enabled:hover {
      border: 1px solid #01416f;
      background-color: rgba(1, 65, 111, 0.5);
      color: #01416f;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }
    #editDetailsFormContainer #changeDetailsClose:focus {
      outline: none;
      border-color: transparent;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }

#changeDetails.success h2 {
  width: 100%;
  display: block;
  padding: 15px 0;
  text-align: center;
  font-weight: 600;
  font-size: 1rem;
  color: #01416f;
  background-color: #64a6d4; }

#accountPostcodeLookupAddressContainer {
  width: 100%; }

#terms {
  margin: 50px 0 0; }

#deliveryDetailsContainer {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  #deliveryDetailsContainer.active {
    max-height: 5000px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

#deliveryContainer {
  position: relative;
  display: none; }

#deliveryUpgradeContainer {
  width: 100%; }

.validationError {
  width: 100%;
  -webkit-box-pack: center !important;
      -ms-flex-pack: center !important;
          justify-content: center !important;
  font-weight: bold;
  font-size: 0.75rem !important;
  text-align: center;
  color: #b20c0c; }

.delivery-option {
  width: 260px !important; }

.checkout-complete-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

#billPostcodeLookupAddressContainer {
  width: 100%; }

.edit.checkoutPopupLink {
  margin-bottom: 15px; }

.checkout-returning-customer-container {
  margin-bottom: 20px;
  border: 1px solid #c8c8c8;
  border-radius: 0;
  background-color: #f3f3f3; }
  .checkout-returning-customer-container p, .checkout-returning-customer-container h2 {
    padding: 0; }
  .checkout-returning-customer-container:hover .content-container:before {
    color: #01416f;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .checkout-returning-customer-container:hover .quaternary-button:not(:hover) {
    border-color: #c8c8c8; }
  .checkout-returning-customer-container .content-container {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 20px 25px;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .checkout-returning-customer-container .content-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: left; } }
    .checkout-returning-customer-container .content-container h2 {
      margin: 0;
      font-size: 1.875rem;
      font-weight: 300;
      line-height: 1;
      color: #01416f; }
      @media screen and (min-width: 81.25em) {
        .checkout-returning-customer-container .content-container h2 {
          margin-right: 15px; } }
    .checkout-returning-customer-container .content-container p {
      margin: 10px 0;
      font-size: 0.875rem;
      font-weight: 400;
      color: #01416f; }
      @media screen and (min-width: 81.25em) {
        .checkout-returning-customer-container .content-container p {
          margin: auto 25px 0 0; } }
    .checkout-returning-customer-container .content-container .quaternary-button:after {
      content: "";
      display: inline-block;
      margin-left: 5px;
      font-family: "Font Awesome Solid";
      font-size: 12px;
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .checkout-returning-customer-container .content-container .quaternary-button:hover:after {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .checkout-returning-customer-container .content-container .quaternary-button:active:after {
      color: #01416f; }
    .checkout-returning-customer-container .content-container:before {
      content: "";
      display: block;
      margin: 0 0 10px;
      font-family: "Font Awesome Solid";
      font-size: 32px;
      line-height: 1;
      color: #4bb3de;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 120em) {
        .checkout-returning-customer-container .content-container:before {
          margin: 0 20px 0 0; } }

.errorContainer.postcodeLookupSelectContainer {
  margin: 0 auto;
  padding: 10px 0;
  text-align: center; }

.delivery-read-only {
  position: relative; }

/*
----- 404 ------ 
- Are you lost? 
*/
.error-not-found-logo {
  width: 200px;
  height: 100px;
  margin-bottom: 52.5px; }
  @media screen and (min-width: 81.25em) {
    .error-not-found-logo {
      margin-bottom: 105px; } }

.error-not-found-container {
  height: 100vh;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  background-image: url("/template/content/development/images/icons/404.svg");
  background-position: top left;
  background-size: 90px 30px; }

.error-not-found-content-container {
  width: 90vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: auto;
  padding: 20px;
  background-color: rgba(255, 255, 255, 0.8);
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1); }
  @media screen and (min-width: 81.25em) {
    .error-not-found-content-container {
      width: 800px; } }
  .error-not-found-content-container .cms-content-container h1 {
    margin: 0;
    font-size: 12.5rem;
    font-weight: 700;
    color: #01416f;
    line-height: 1; }
  .error-not-found-content-container .cms-content-container h2 {
    margin: 0 0 30px;
    font-size: 3.75rem;
    font-weight: 700;
    color: #67156a; }
  .error-not-found-content-container .cms-content-container p {
    margin: 0;
    font-size: 1.5rem;
    font-weight: 700;
    color: #01416f; }
  .error-not-found-content-container .button-container {
    margin: 62.5px 0 0; }
    @media screen and (min-width: 81.25em) {
      .error-not-found-content-container .button-container {
        margin: 125px 0 0; } }

/*
----- Light box  -----
- This get displayed on product pages to display the full resolution product images.
Funtionality this holds:
- Light box active / inactive states.
- The overlay styles.
- Additional Images.
- 360 image support.
- The header that gets generated.
- Video player.
*/
#lightbox-overlay.active {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  background-color: #000000;
  opacity: 0.7;
  z-index: 10000; }

.lightbox {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.6s;
  transition: all 0.6s; }
  .lightbox.active {
    visibility: visible;
    opacity: 1;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media print, screen and (max-width: 39.99875em) {
      .lightbox.active {
        max-height: 50%;
        max-width: 100%; } }

#lightbox-header {
  width: 100%;
  display: block;
  position: relative;
  background-color: #1281bf;
  z-index: 5000; }
  #lightbox-header ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0;
    list-style: none; }
  #lightbox-header #lightbox-count {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    text-align: center;
    font-size: 1rem;
    color: #ffffff;
    letter-spacing: 7px; }
    @media print, screen and (min-width: 40em) {
      #lightbox-header #lightbox-count {
        font-size: 1.25rem; } }
  #lightbox-header #lightbox-close-button-container {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }

#lightbox-content-outer-container {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10000; }

#lightbox-content-inner-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.reel-overlay {
  width: auto !important;
  height: auto !important;
  margin: 0 auto; }

.image.lightbox-enabled:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  padding: 2px 8px;
  background-color: rgba(255, 255, 255, 0.85);
  font-family: "Font Awesome Solid";
  font-size: 22px;
  color: #01416f;
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: #dadada;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  z-index: 1000; }

.image.lightbox-enabled:hover:before {
  color: #67156a;
  border-color: #01416f; }

.lightbox #lightbox-close-button-container {
  position: relative;
  margin: auto 15px; }

.lightbox .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 100; }
  .lightbox .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #ffffff;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .lightbox .close-button:hover:before {
    color: #01416f;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .lightbox .close-button:active:before {
    color: #67156a;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

@media print, screen and (max-width: 99.99875em) {
  .lightbox .reel-overlay {
    max-width: 100%; } }

.lightbox .lightbox-content {
  max-height: calc(100% - var(--lightbox-header-height) - 10px);
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-item-align: start;
      align-self: flex-start;
  margin: 10px 0;
  padding: 0;
  background-color: #ffffff; }
  @media print, screen and (min-width: 40em) {
    .lightbox .lightbox-content {
      max-height: none;
      -webkit-box-orient: unset;
      -webkit-box-direction: unset;
          -ms-flex-direction: unset;
              flex-direction: unset;
      margin-left: 100px; } }
  @media screen and (min-width: 81.25em) {
    .lightbox .lightbox-content {
      margin: 20px 0;
      border-radius: 0 0 0 0; } }
  @media screen and (min-width: 100em) {
    .lightbox .lightbox-content {
      -ms-flex-item-align: auto;
          align-self: auto;
      margin: auto; } }
  .lightbox .lightbox-content .lightBoxSlide {
    display: none; }
    .lightbox .lightbox-content .lightBoxSlide.active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 100vw;
      max-height: 70vh; }
      @media print, screen and (min-width: 40em) {
        .lightbox .lightbox-content .lightBoxSlide.active {
          max-width: calc(100vw - 100px);
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          max-height: 80vh; } }
      @media screen and (min-width: 81.25em) {
        .lightbox .lightbox-content .lightBoxSlide.active {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          max-height: 85vh; } }
      .lightbox .lightbox-content .lightBoxSlide.active.is-video {
        width: 100vw; }
        @media print, screen and (min-width: 40em) {
          .lightbox .lightbox-content .lightBoxSlide.active.is-video {
            width: 60vw; } }
    .lightbox .lightbox-content .lightBoxSlide img, .lightbox .lightbox-content .lightBoxSlide #lightbox-video-player {
      max-height: 100%;
      margin: 0;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      -o-object-fit: contain;
         object-fit: contain; }
  .lightbox .lightbox-content .prev,
  .lightbox .lightbox-content .next {
    width: 25px;
    height: 40px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #ffffff;
    border-style: solid;
    border-color: #01416f;
    cursor: pointer;
    opacity: 0.8;
    -webkit-transition: opacity 0.8s, background-color 0.8s, border-color 0.6s;
    transition: opacity 0.8s, background-color 0.8s, border-color 0.6s; }
    @media screen and (min-width: 81.25em) {
      .lightbox .lightbox-content .prev,
      .lightbox .lightbox-content .next {
        width: 50px;
        height: 70px; } }
    .lightbox .lightbox-content .prev:before,
    .lightbox .lightbox-content .next:before {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      color: #01416f;
      font-family: "Font Awesome Solid";
      font-size: 16px;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
      @media screen and (min-width: 81.25em) {
        .lightbox .lightbox-content .prev:before,
        .lightbox .lightbox-content .next:before {
          font-size: 26px; } }
    .lightbox .lightbox-content .prev:not(.disabled):hover,
    .lightbox .lightbox-content .next:not(.disabled):hover {
      background-color: #67156a;
      border-color: #ffffff;
      opacity: 1;
      -webkit-transition: background-color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, border-color 0.6s; }
      .lightbox .lightbox-content .prev:not(.disabled):hover:before,
      .lightbox .lightbox-content .next:not(.disabled):hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .lightbox .lightbox-content .prev:not(.disabled):active,
    .lightbox .lightbox-content .next:not(.disabled):active {
      background-color: #01416f;
      border-color: #ffffff; }
      .lightbox .lightbox-content .prev:not(.disabled):active:before,
      .lightbox .lightbox-content .next:not(.disabled):active:before {
        color: #ffffff; }
    .lightbox .lightbox-content .prev.disabled,
    .lightbox .lightbox-content .next.disabled {
      opacity: 0.4;
      background: transparent;
      border-color: #6d6d6d;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s;
      cursor: no-drop; }
  .lightbox .lightbox-content .prev {
    left: 0;
    border-radius: 0 5px 5px 0;
    border-width: 2px 2px 2px 0; }
    .lightbox .lightbox-content .prev:before {
      content: ""; }
  .lightbox .lightbox-content .next {
    right: 0;
    border-radius: 5px 0 0 5px;
    border-width: 2px 0 2px 2px; }
    .lightbox .lightbox-content .next:before {
      content: ""; }

.lightbox .slidesContainer {
  -webkit-box-shadow: -20px 6px 60px -13px #000000;
          box-shadow: -20px 6px 60px -13px #000000; }

.lightbox #lightboxPagerContainer {
  height: auto;
  margin: 0;
  padding: 0;
  overflow-y: hidden;
  list-style: none; }
  @media screen and (min-width: 81.25em) {
    .lightbox #lightboxPagerContainer {
      width: auto;
      border-radius: 0 0 0 0; } }
  .lightbox #lightboxPagerContainer.disabled {
    display: none; }
  .lightbox #lightboxPagerContainer.vertical {
    height: 100%;
    position: absolute;
    top: 0;
    right: 100%;
    background-color: #ffffff; }
    .lightbox #lightboxPagerContainer.vertical li {
      padding-right: 5px; }
      .lightbox #lightboxPagerContainer.vertical li.active img {
        opacity: 0.4; }
    .lightbox #lightboxPagerContainer.vertical .ps__rail-y {
      width: 10px;
      position: absolute;
      left: 0;
      background: rgba(255, 255, 255, 0.5);
      z-index: 10; }
      .lightbox #lightboxPagerContainer.vertical .ps__rail-y .ps__thumb-y {
        width: 10px;
        position: absolute;
        background-color: rgba(1, 65, 111, 0.7); }
    .lightbox #lightboxPagerContainer.vertical .ps__rail-x {
      display: none; }
  .lightbox #lightboxPagerContainer.horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    right: 0;
    bottom: 0;
    left: 0;
    overflow: hidden; }
    @media print, screen and (min-width: 40em) {
      .lightbox #lightboxPagerContainer.horizontal {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
    .lightbox #lightboxPagerContainer.horizontal li {
      position: relative;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      @media print, screen and (min-width: 40em) {
        .lightbox #lightboxPagerContainer.horizontal li {
          -webkit-box-flex: inherit;
              -ms-flex: inherit;
                  flex: inherit; } }
      .lightbox #lightboxPagerContainer.horizontal li.active {
        background-color: #ffffff; }
        .lightbox #lightboxPagerContainer.horizontal li.active img {
          opacity: 0.4; }
    .lightbox #lightboxPagerContainer.horizontal .ps__rail-y {
      display: none; }
    .lightbox #lightboxPagerContainer.horizontal .ps__rail-x {
      width: 100%;
      height: 10px;
      position: absolute;
      top: auto !important;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background: rgba(255, 255, 255, 0.5);
      z-index: 10; }
      .lightbox #lightboxPagerContainer.horizontal .ps__rail-x .ps__thumb-x {
        height: 10px;
        position: absolute;
        background-color: rgba(1, 65, 111, 0.7); }

.lightbox-pager-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  cursor: pointer; }
  @media print, screen and (min-width: 40em) {
    .lightbox-pager-item {
      width: 100px; } }
  @media screen and (min-width: 81.25em) {
    .lightbox-pager-item {
      width: 170px; } }
  .lightbox-pager-item img {
    max-height: 100%; }
    @media screen and (min-width: 81.25em) {
      .lightbox-pager-item img {
        max-width: 25vw;
        max-height: 20vh; } }
  .lightbox-pager-item.active {
    cursor: default; }
  @media screen and (min-width: 81.25em) {
    .lightbox-pager-item.is-video {
      width: auto; } }
  .lightbox-pager-item.is-video img {
    height: 50px;
    margin: 10px; }
    @media screen and (min-width: 81.25em) {
      .lightbox-pager-item.is-video img {
        height: auto;
        margin: 20px; } }
  .lightbox-pager-item.image-360 {
    position: relative; }
    .lightbox-pager-item.image-360:hover:after {
      display: none; }
    .lightbox-pager-item.image-360:after {
      content: '';
      max-width: 55px;
      max-height: 55px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: block;
      background-color: rgba(0, 0, 0, 0.2);
      background-image: url("/template/content/development/images/icons/3dicon.svg");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 80%;
      border-radius: 12.5px;
      border: 2px solid rgba(218, 218, 218, 0.2); }

.lightbox-background {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(174, 174, 174, 0.3); }

#lightbox-video-player {
  width: 100%;
  height: 100%;
  aspect-ratio: 16/9; }

/*
----- Magnifier ----- 
This is primarily used on the product page when you hover over the main image.
*/
.img-magnifier-container {
  position: relative; }

.img-magnifier-glass {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  cursor: crosshair; }

.product-enquiry-main-image.magnification-container.image:hover:before {
  padding: 2px 4px;
  font-size: 11px; }

.image-magnification {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  visibility: hidden; }
  .image-magnification.active {
    visibility: visible; }
  .image-magnification .magnifying-glass {
    width: 100%;
    height: 100%;
    display: block;
    margin: auto;
    background-repeat: no-repeat;
    z-index: 1;
    cursor: crosshair; }

.magnifier-controls-container {
  position: absolute;
  bottom: 0;
  right: 0; }
  .magnifier-controls-container .magnifier-control {
    display: block;
    padding: 20px;
    border: 1px solid #01416f;
    cursor: pointer; }
    .magnifier-controls-container .magnifier-control:before {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 30px;
      color: #01416f;
      line-height: 0; }
    .magnifier-controls-container .magnifier-control.de-increment:before {
      content: ""; }
    .magnifier-controls-container .magnifier-control.increment:before {
      content: ""; }

/*
----- bxSlider ( Carousels ) ------ 
- https://bxslider.com/
- This handles all the display styles for carousels / slideshows around express this can be in a module or additional images on the product page, the content is not restricted to just images but can extend to display product / ebg's. 
*/
.carousel {
  width: 100%;
  position: relative;
  --module-gutter: 10px; }
  .carousel.bx-underline .collection-item .content-container {
    border-width: 0;
    border-style: solid;
    border-color: #dadada;
    -webkit-transition: border-color 0.8s;
    transition: border-color 0.8s; }
    .carousel.bx-underline .collection-item .content-container:hover {
      border-color: #01416f;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
  .carousel.bx-shadow .collection-item .content-container {
    height: 100%;
    position: relative;
    margin: auto;
    -webkit-transition: -webkit-box-shadow 0.8s;
    transition: -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s;
    transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .carousel.bx-shadow .collection-item .content-container:hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      -webkit-transition: -webkit-box-shadow 0.6s;
      transition: -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s;
      transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  .carousel.transition-mode-horizontal .collection-item {
    height: 100%; }
  .carousel.transition-mode-horizonal .bx-viewport, .carousel.transition-mode-fade .bx-viewport {
    overflow-y: visible !important;
    overflow-x: clip !important; }
  @media print, screen and (min-width: 40em) {
    .carousel {
      --module-gutter: 15px; } }
  @media screen and (min-width: 81.25em) {
    .carousel {
      --module-gutter: 15px; } }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container a:first-child, .product-carousel-module.multimedia-right .collection-item.ebg .content-container a:first-child, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .collection-item.ebg .content-container a.description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container a.description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container [data-content-container], .product-carousel-module.multimedia-right .content-container [data-content-container], .cms-carousel-module.multimedia-right .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:first-child, .product-carousel-module.multimedia-right .content-container a:first-child, .cms-carousel-module.multimedia-right .content-container a:first-child {
    grid-column: 2;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(2), .product-carousel-module.multimedia-right .content-container a:nth-child(2), .cms-carousel-module.multimedia-right .content-container a:nth-child(2) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(3), .product-carousel-module.multimedia-right .content-container a:nth-child(3), .cms-carousel-module.multimedia-right .content-container a:nth-child(3) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(4), .product-carousel-module.multimedia-right .content-container a:nth-child(4), .cms-carousel-module.multimedia-right .content-container a:nth-child(4) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container a:nth-child(5), .product-carousel-module.multimedia-right .content-container a:nth-child(5), .cms-carousel-module.multimedia-right .content-container a:nth-child(5) {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .stock-indicator, .product-carousel-module.multimedia-right .content-container .stock-indicator, .cms-carousel-module.multimedia-right .content-container .stock-indicator {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .quantity-container, .product-carousel-module.multimedia-right .content-container .quantity-container, .cms-carousel-module.multimedia-right .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .unit-of-measure, .product-carousel-module.multimedia-right .content-container .unit-of-measure, .cms-carousel-module.multimedia-right .content-container .unit-of-measure {
    grid-column: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-right .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .content-container .stockline-view-button, [data-bxSlider].multimedia-right .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .content-container .stockline-view-button, .product-carousel-module.multimedia-right .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container .description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-right .collection-item.ebg .content-container .description, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .description, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

[data-bxSlider].multimedia-right .collection-item.ebg .content-container .price, .product-carousel-module.multimedia-right .collection-item.ebg .content-container .price, .cms-carousel-module.multimedia-right .collection-item.ebg .content-container .price {
  display: none; }

[data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
  padding: 10px;
  gap: 10px 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container:hover, .product-carousel-module.multimedia-right .collection-item .content-container:hover, .cms-carousel-module.multimedia-right .collection-item .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
  @media print, screen and (min-width: 40em) {
    [data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-right .collection-item .content-container, .product-carousel-module.multimedia-right .collection-item .content-container, .cms-carousel-module.multimedia-right .collection-item .content-container {
      display: grid;
      grid-template-columns: calc(60% - 10px) calc(40% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      padding: 5px; } }
  [data-bxSlider].multimedia-right .collection-item .content-container > a:first-child, .product-carousel-module.multimedia-right .collection-item .content-container > a:first-child, .cms-carousel-module.multimedia-right .collection-item .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  [data-bxSlider].multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2), .product-carousel-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2), .cms-carousel-module.multimedia-right .collection-item .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  [data-bxSlider].multimedia-right .collection-item .content-container.product .description, .product-carousel-module.multimedia-right .collection-item .content-container.product .description, .cms-carousel-module.multimedia-right .collection-item .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .callbackContainer, .product-carousel-module.multimedia-right .collection-item .content-container .callbackContainer, .cms-carousel-module.multimedia-right .collection-item .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  [data-bxSlider].multimedia-right .collection-item .content-container p, .product-carousel-module.multimedia-right .collection-item .content-container p, .cms-carousel-module.multimedia-right .collection-item .content-container p {
    margin: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .group-description, .product-carousel-module.multimedia-right .collection-item .content-container .group-description, .cms-carousel-module.multimedia-right .collection-item .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .image, .product-carousel-module.multimedia-right .collection-item .content-container .image, .cms-carousel-module.multimedia-right .collection-item .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container .image, .product-carousel-module.multimedia-right .collection-item .content-container .image, .cms-carousel-module.multimedia-right .collection-item .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    [data-bxSlider].multimedia-right .collection-item .content-container .image img, .product-carousel-module.multimedia-right .collection-item .content-container .image img, .cms-carousel-module.multimedia-right .collection-item .content-container .image img {
      margin: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container .description, [data-bxSlider].multimedia-right .collection-item .content-container .code, [data-bxSlider].multimedia-right .collection-item .content-container .prices, [data-bxSlider].multimedia-right .collection-item .content-container .stock-indicator, .product-carousel-module.multimedia-right .collection-item .content-container .description, .product-carousel-module.multimedia-right .collection-item .content-container .code, .product-carousel-module.multimedia-right .collection-item .content-container .prices, .product-carousel-module.multimedia-right .collection-item .content-container .stock-indicator, .cms-carousel-module.multimedia-right .collection-item .content-container .description, .cms-carousel-module.multimedia-right .collection-item .content-container .code, .cms-carousel-module.multimedia-right .collection-item .content-container .prices, .cms-carousel-module.multimedia-right .collection-item .content-container .stock-indicator {
    padding-top: 10px;
    padding-right: 0;
    padding-bottom: 10px;
    padding-left: 0; }
  [data-bxSlider].multimedia-right .collection-item .content-container form, .product-carousel-module.multimedia-right .collection-item .content-container form, .cms-carousel-module.multimedia-right .collection-item .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container form, .product-carousel-module.multimedia-right .collection-item .content-container form, .cms-carousel-module.multimedia-right .collection-item .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  [data-bxSlider].multimedia-right .collection-item .content-container [data-content-container], .product-carousel-module.multimedia-right .collection-item .content-container [data-content-container], .cms-carousel-module.multimedia-right .collection-item .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container [data-content-container], .product-carousel-module.multimedia-right .collection-item .content-container [data-content-container], .cms-carousel-module.multimedia-right .collection-item .content-container [data-content-container] {
        height: auto; } }
  [data-bxSlider].multimedia-right .collection-item .content-container .read-more-content, .product-carousel-module.multimedia-right .collection-item .content-container .read-more-content, .cms-carousel-module.multimedia-right .collection-item .content-container .read-more-content {
    height: 100%; }
  [data-bxSlider].multimedia-right .collection-item .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .collection-item .content-container .stockline-view-button, [data-bxSlider].multimedia-right .collection-item .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-right .collection-item .content-container .not-logged-in-container, [data-bxSlider].multimedia-right .collection-item .content-container .stockline-view-button, [data-bxSlider].multimedia-right .collection-item .content-container .enquiry-button-container, .product-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .product-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .product-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container, .cms-carousel-module.multimedia-right .collection-item .content-container .not-logged-in-container, .cms-carousel-module.multimedia-right .collection-item .content-container .stockline-view-button, .cms-carousel-module.multimedia-right .collection-item .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }

[data-bxSlider].multimedia-left .collection-item.ebg .content-container a:first-child, .product-carousel-module.multimedia-left .collection-item.ebg .content-container a:first-child, .cms-carousel-module.multimedia-left .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .collection-item.ebg .content-container a.description, .product-carousel-module.multimedia-left .collection-item.ebg .content-container a.description, .cms-carousel-module.multimedia-left .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:first-child, .product-carousel-module.multimedia-left .content-container a:first-child, .cms-carousel-module.multimedia-left .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(2), .product-carousel-module.multimedia-left .content-container a:nth-child(2), .cms-carousel-module.multimedia-left .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(3), .product-carousel-module.multimedia-left .content-container a:nth-child(3), .cms-carousel-module.multimedia-left .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(4), .product-carousel-module.multimedia-left .content-container a:nth-child(4), .cms-carousel-module.multimedia-left .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container a:nth-child(5), .product-carousel-module.multimedia-left .content-container a:nth-child(5), .cms-carousel-module.multimedia-left .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .stock-indicator, .product-carousel-module.multimedia-left .content-container .stock-indicator, .cms-carousel-module.multimedia-left .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .quantity-container, .product-carousel-module.multimedia-left .content-container .quantity-container, .cms-carousel-module.multimedia-left .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .unit-of-measure, .product-carousel-module.multimedia-left .content-container .unit-of-measure, .cms-carousel-module.multimedia-left .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].multimedia-left .collection-item.ebg .description, .product-carousel-module.multimedia-left .collection-item.ebg .description, .cms-carousel-module.multimedia-left .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 20px 17.5px; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-left .collection-item.ebg .description, .product-carousel-module.multimedia-left .collection-item.ebg .description, .cms-carousel-module.multimedia-left .collection-item.ebg .description {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      text-align: left; } }

[data-bxSlider].multimedia-left .collection-item.ebg .price, .product-carousel-module.multimedia-left .collection-item.ebg .price, .cms-carousel-module.multimedia-left .collection-item.ebg .price {
  display: none; }

[data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
  gap: 10px 0; }
  @media print, screen and (min-width: 40em) {
    [data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
      padding: 5px; } }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider].multimedia-left .content-container, .product-carousel-module.multimedia-left .content-container, .cms-carousel-module.multimedia-left .content-container {
      display: grid;
      grid-template-columns: calc(40% - 10px) calc(60% - 10px);
      grid-gap: 0 20px;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  [data-bxSlider].multimedia-left .content-container > a:first-child, .product-carousel-module.multimedia-left .content-container > a:first-child, .cms-carousel-module.multimedia-left .content-container > a:first-child {
    -ms-flex-item-align: start;
        align-self: start; }
  [data-bxSlider].multimedia-left .content-container.product:has(span.image) > a:nth-child(2), .product-carousel-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2), .cms-carousel-module.multimedia-left .content-container.product:has(span.image) > a:nth-child(2) {
    padding-top: 10px; }
  [data-bxSlider].multimedia-left .content-container.product .description, .product-carousel-module.multimedia-left .content-container.product .description, .cms-carousel-module.multimedia-left .content-container.product .description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-left .content-container .callbackContainer, .product-carousel-module.multimedia-left .content-container .callbackContainer, .cms-carousel-module.multimedia-left .content-container .callbackContainer {
    grid-column: 2;
    margin-top: 10px; }
  [data-bxSlider].multimedia-left .content-container p, .product-carousel-module.multimedia-left .content-container p, .cms-carousel-module.multimedia-left .content-container p {
    margin: 0; }
  [data-bxSlider].multimedia-left .content-container .group-description, .product-carousel-module.multimedia-left .content-container .group-description, .cms-carousel-module.multimedia-left .content-container .group-description {
    padding-top: 0;
    padding-bottom: 0; }
  [data-bxSlider].multimedia-left .content-container .description, .product-carousel-module.multimedia-left .content-container .description, .cms-carousel-module.multimedia-left .content-container .description {
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container .image, .product-carousel-module.multimedia-left .content-container .image, .cms-carousel-module.multimedia-left .content-container .image {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container .image, .product-carousel-module.multimedia-left .content-container .image, .cms-carousel-module.multimedia-left .content-container .image {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start; } }
    [data-bxSlider].multimedia-left .content-container .image img, .product-carousel-module.multimedia-left .content-container .image img, .cms-carousel-module.multimedia-left .content-container .image img {
      margin: 0; }
  [data-bxSlider].multimedia-left .content-container .code, .product-carousel-module.multimedia-left .content-container .code, .cms-carousel-module.multimedia-left .content-container .code {
    padding-right: 0;
    padding-left: 0;
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container .prices, .product-carousel-module.multimedia-left .content-container .prices, .cms-carousel-module.multimedia-left .content-container .prices {
    padding-right: 0;
    padding-left: 0; }
    [data-bxSlider].multimedia-left .content-container .prices .price-container, .product-carousel-module.multimedia-left .content-container .prices .price-container, .cms-carousel-module.multimedia-left .content-container .prices .price-container {
      text-align: left;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  [data-bxSlider].multimedia-left .content-container .stock-indicator, .product-carousel-module.multimedia-left .content-container .stock-indicator, .cms-carousel-module.multimedia-left .content-container .stock-indicator {
    margin-top: auto;
    padding: 0 0;
    text-align: left; }
  [data-bxSlider].multimedia-left .content-container form, .product-carousel-module.multimedia-left .content-container form, .cms-carousel-module.multimedia-left .content-container form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container form, .product-carousel-module.multimedia-left .content-container form, .cms-carousel-module.multimedia-left .content-container form {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; } }
  [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
    margin-right: auto;
    margin-left: auto; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container .not-logged-in-container, [data-bxSlider].multimedia-left .content-container .stockline-view-button, [data-bxSlider].multimedia-left .content-container .enquiry-button-container, .product-carousel-module.multimedia-left .content-container .not-logged-in-container, .product-carousel-module.multimedia-left .content-container .stockline-view-button, .product-carousel-module.multimedia-left .content-container .enquiry-button-container, .cms-carousel-module.multimedia-left .content-container .not-logged-in-container, .cms-carousel-module.multimedia-left .content-container .stockline-view-button, .cms-carousel-module.multimedia-left .content-container .enquiry-button-container {
        width: 76%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
            -ms-flex-align: end;
                align-items: flex-end; } }
  [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
    height: 125px; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider].multimedia-left .content-container [data-content-container], .product-carousel-module.multimedia-left .content-container [data-content-container], .cms-carousel-module.multimedia-left .content-container [data-content-container] {
        height: auto; } }
  [data-bxSlider].multimedia-left .content-container .read-more-content, .product-carousel-module.multimedia-left .content-container .read-more-content, .cms-carousel-module.multimedia-left .content-container .read-more-content {
    height: 100%; }

[data-bxSlider].multimedia-bottom .content-container > a:first-of-type, .product-carousel-module.multimedia-bottom .content-container > a:first-of-type, .cms-carousel-module.multimedia-bottom .content-container > a:first-of-type {
  padding-top: 5px;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

[data-bxSlider].multimedia-bottom .image, .product-carousel-module.multimedia-bottom .image, .cms-carousel-module.multimedia-bottom .image {
  margin: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .content-container a:first-child, .product-carousel-module.minified-layout .collection-item.ebg .content-container a:first-child, .cms-carousel-module.minified-layout .collection-item.ebg .content-container a:first-child {
  grid-row: 1; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .collection-item.ebg .content-container a.description, .product-carousel-module.minified-layout .collection-item.ebg .content-container a.description, .cms-carousel-module.minified-layout .collection-item.ebg .content-container a.description {
    grid-row: 1; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container [data-content-container], .product-carousel-module.minified-layout .content-container [data-content-container], .cms-carousel-module.minified-layout .content-container [data-content-container] {
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:first-child, .product-carousel-module.minified-layout .content-container a:first-child, .cms-carousel-module.minified-layout .content-container a:first-child {
    grid-column: 1;
    grid-row: 1 / span 4; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(2), .product-carousel-module.minified-layout .content-container a:nth-child(2), .cms-carousel-module.minified-layout .content-container a:nth-child(2) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(3), .product-carousel-module.minified-layout .content-container a:nth-child(3), .cms-carousel-module.minified-layout .content-container a:nth-child(3) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(4), .product-carousel-module.minified-layout .content-container a:nth-child(4), .cms-carousel-module.minified-layout .content-container a:nth-child(4) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container a:nth-child(5), .product-carousel-module.minified-layout .content-container a:nth-child(5), .cms-carousel-module.minified-layout .content-container a:nth-child(5) {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .stock-indicator, .product-carousel-module.minified-layout .content-container .stock-indicator, .cms-carousel-module.minified-layout .content-container .stock-indicator {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .quantity-container, .product-carousel-module.minified-layout .content-container .quantity-container, .cms-carousel-module.minified-layout .content-container .quantity-container {
    grid-column: 1 / span 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .unit-of-measure, .product-carousel-module.minified-layout .content-container .unit-of-measure, .cms-carousel-module.minified-layout .content-container .unit-of-measure {
    grid-column: 2; } }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container .not-logged-in-container, [data-bxSlider].minified-layout .content-container .stockline-view-button, [data-bxSlider].minified-layout .content-container .enquiry-button-container, .product-carousel-module.minified-layout .content-container .not-logged-in-container, .product-carousel-module.minified-layout .content-container .stockline-view-button, .product-carousel-module.minified-layout .content-container .enquiry-button-container, .cms-carousel-module.minified-layout .content-container .not-logged-in-container, .cms-carousel-module.minified-layout .content-container .stockline-view-button, .cms-carousel-module.minified-layout .content-container .enquiry-button-container {
    grid-column: 1 / span 2; } }

[data-bxSlider].minified-layout .content-container.product, .product-carousel-module.minified-layout .content-container.product, .cms-carousel-module.minified-layout .content-container.product {
  padding: 5px; }

@media screen and (min-width: 81.25em) {
  [data-bxSlider].minified-layout .content-container, .product-carousel-module.minified-layout .content-container, .cms-carousel-module.minified-layout .content-container {
    display: grid;
    grid-template-columns: 110px 1fr; } }

[data-bxSlider].minified-layout .content-container > a:first-of-type, .product-carousel-module.minified-layout .content-container > a:first-of-type, .cms-carousel-module.minified-layout .content-container > a:first-of-type {
  padding-top: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .content-container, .product-carousel-module.minified-layout .collection-item.ebg .content-container, .cms-carousel-module.minified-layout .collection-item.ebg .content-container {
  padding: 0; }

[data-bxSlider].minified-layout .collection-item.ebg .description, .product-carousel-module.minified-layout .collection-item.ebg .description, .cms-carousel-module.minified-layout .collection-item.ebg .description {
  height: 100%;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 10px 20px 10px;
  text-align: left; }

[data-bxSlider].minified-layout .image, .product-carousel-module.minified-layout .image, .cms-carousel-module.minified-layout .image {
  width: 110px;
  margin: 0; }

[data-bxSlider].minified-layout .description, [data-bxSlider].minified-layout a:first-child, .product-carousel-module.minified-layout .description, .product-carousel-module.minified-layout a:first-child, .cms-carousel-module.minified-layout .description, .cms-carousel-module.minified-layout a:first-child {
  -ms-flex-item-align: center;
      align-self: center;
  padding: 25px 20px;
  text-align: left; }

[data-bxSlider] .image-container, .product-carousel-module .image-container, .cms-carousel-module .image-container {
  width: 100%;
  display: block;
  text-align: center;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  [data-bxSlider] .image-container:hover, .product-carousel-module .image-container:hover, .cms-carousel-module .image-container:hover {
    opacity: 0.5;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }

[data-bxSlider] [data-content-container], .product-carousel-module [data-content-container], .cms-carousel-module [data-content-container] {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  [data-bxSlider] [data-content-container]:has(.read-more), .product-carousel-module [data-content-container]:has(.read-more), .cms-carousel-module [data-content-container]:has(.read-more) {
    height: 300px; }
  [data-bxSlider] [data-content-container] a, .product-carousel-module [data-content-container] a, .cms-carousel-module [data-content-container] a {
    max-height: 100%; }
  [data-bxSlider] [data-content-container] p, .product-carousel-module [data-content-container] p, .cms-carousel-module [data-content-container] p {
    margin: 0;
    padding: 0; }

[data-bxSlider] .collection-item.ebg:has(.description:empty) .content-container, .product-carousel-module .collection-item.ebg:has(.description:empty) .content-container, .cms-carousel-module .collection-item.ebg:has(.description:empty) .content-container {
  padding-bottom: 0; }

[data-bxSlider] .collection-item.ebg:hover .description, .product-carousel-module .collection-item.ebg:hover .description, .cms-carousel-module .collection-item.ebg:hover .description {
  background-color: transparent;
  -webkit-transition: background-color 0.6s;
  transition: background-color 0.6s; }

[data-bxSlider] .collection-item.ebg:active .description, .product-carousel-module .collection-item.ebg:active .description, .cms-carousel-module .collection-item.ebg:active .description {
  background-color: transparent; }

[data-bxSlider] .collection-item.ebg .content-container, .product-carousel-module .collection-item.ebg .content-container, .cms-carousel-module .collection-item.ebg .content-container {
  background-color: #ffffff; }

[data-bxSlider] .collection-item.ebg .description, .product-carousel-module .collection-item.ebg .description, .cms-carousel-module .collection-item.ebg .description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  background-color: transparent;
  text-transform: none;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  [data-bxSlider] .collection-item.ebg .description:not(:empty), .product-carousel-module .collection-item.ebg .description:not(:empty), .cms-carousel-module .collection-item.ebg .description:not(:empty) {
    margin: 0;
    padding: 5px 5px; }

[data-bxSlider] .content-container, .product-carousel-module .content-container, .cms-carousel-module .content-container {
  height: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 0;
  text-align: left;
  height: 100%;
  position: relative;
  margin: auto;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider] .content-container, .product-carousel-module .content-container, .cms-carousel-module .content-container {
      width: 100%; } }
  [data-bxSlider] .content-container .code, .product-carousel-module .content-container .code, .cms-carousel-module .content-container .code {
    padding-right: 5px;
    padding-left: 5px; }
    [data-bxSlider] .content-container .code:not(:empty) + .description, .product-carousel-module .content-container .code:not(:empty) + .description, .cms-carousel-module .content-container .code:not(:empty) + .description {
      padding-top: 0; }
  [data-bxSlider] .content-container .description, .product-carousel-module .content-container .description, .cms-carousel-module .content-container .description {
    padding: 10px 0; }
  [data-bxSlider] .content-container .specification, .product-carousel-module .content-container .specification, .cms-carousel-module .content-container .specification {
    padding-right: 5px;
    padding-left: 5px; }
    [data-bxSlider] .content-container .specification:not(:empty), .product-carousel-module .content-container .specification:not(:empty), .cms-carousel-module .content-container .specification:not(:empty) {
      margin-bottom: 10px; }
  [data-bxSlider] .content-container .prices, .product-carousel-module .content-container .prices, .cms-carousel-module .content-container .prices {
    padding-right: 5px;
    padding-left: 5px; }
  [data-bxSlider] .content-container .stock-indicator, .product-carousel-module .content-container .stock-indicator, .cms-carousel-module .content-container .stock-indicator {
    margin-top: auto;
    padding: 10px 5px;
    text-align: left; }
    [data-bxSlider] .content-container .stock-indicator + .not-logged-in-container, .product-carousel-module .content-container .stock-indicator + .not-logged-in-container, .cms-carousel-module .content-container .stock-indicator + .not-logged-in-container {
      margin-top: 0; }
    [data-bxSlider] .content-container .stock-indicator a, .product-carousel-module .content-container .stock-indicator a, .cms-carousel-module .content-container .stock-indicator a {
      -webkit-box-pack: left;
          -ms-flex-pack: left;
              justify-content: left; }
    [data-bxSlider] .content-container .stock-indicator button, .product-carousel-module .content-container .stock-indicator button, .cms-carousel-module .content-container .stock-indicator button {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  [data-bxSlider] .content-container .quantity-container, .product-carousel-module .content-container .quantity-container, .cms-carousel-module .content-container .quantity-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px;
    padding: 15px 5px 0; }
    @media screen and (min-width: 81.25em) {
      [data-bxSlider] .content-container .quantity-container, .product-carousel-module .content-container .quantity-container, .cms-carousel-module .content-container .quantity-container {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        gap: 5px; } }
  [data-bxSlider] .content-container .prices + .not-logged-in-container, [data-bxSlider] .content-container .prices + .stockline-view-button, [data-bxSlider] .content-container .prices + .enquiry-button-container, .product-carousel-module .content-container .prices + .not-logged-in-container, .product-carousel-module .content-container .prices + .stockline-view-button, .product-carousel-module .content-container .prices + .enquiry-button-container, .cms-carousel-module .content-container .prices + .not-logged-in-container, .cms-carousel-module .content-container .prices + .stockline-view-button, .cms-carousel-module .content-container .prices + .enquiry-button-container {
    margin-top: 10px; }
  [data-bxSlider] .content-container .not-logged-in-container, [data-bxSlider] .content-container .stockline-view-button, [data-bxSlider] .content-container .enquiry-button-container, .product-carousel-module .content-container .not-logged-in-container, .product-carousel-module .content-container .stockline-view-button, .product-carousel-module .content-container .enquiry-button-container, .cms-carousel-module .content-container .not-logged-in-container, .cms-carousel-module .content-container .stockline-view-button, .cms-carousel-module .content-container .enquiry-button-container {
    width: 66%;
    margin: auto auto 0; }
  [data-bxSlider] .content-container.minified .image, .product-carousel-module .content-container.minified .image, .cms-carousel-module .content-container.minified .image {
    width: 110px; }
  [data-bxSlider] .content-container:hover .description, [data-bxSlider] .content-container:hover .read-more, .product-carousel-module .content-container:hover .description, .product-carousel-module .content-container:hover .read-more, .cms-carousel-module .content-container:hover .description, .cms-carousel-module .content-container:hover .read-more {
    color: #01416f;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  [data-bxSlider] .content-container:active .description, .product-carousel-module .content-container:active .description, .cms-carousel-module .content-container:active .description {
    color: #67156a; }
  [data-bxSlider] .content-container.image, .product-carousel-module .content-container.image, .cms-carousel-module .content-container.image {
    background-color: transparent; }
  [data-bxSlider] .content-container.product, .product-carousel-module .content-container.product, .cms-carousel-module .content-container.product {
    padding-bottom: 20px;
    background-color: #ffffff; }
    [data-bxSlider] .content-container.product .group-description, .product-carousel-module .content-container.product .group-description, .cms-carousel-module .content-container.product .group-description {
      padding: 10px 5px 5px; }
    [data-bxSlider] .content-container.product a.group-description + a:has(.description) .description, .product-carousel-module .content-container.product a.group-description + a:has(.description) .description, .cms-carousel-module .content-container.product a.group-description + a:has(.description) .description {
      padding-top: 0; }
    [data-bxSlider] .content-container.product .description, .product-carousel-module .content-container.product .description, .cms-carousel-module .content-container.product .description {
      padding: 5px 5px; }
      [data-bxSlider] .content-container.product .description:is(:empty), .product-carousel-module .content-container.product .description:is(:empty), .cms-carousel-module .content-container.product .description:is(:empty) {
        padding: 0; }
  [data-bxSlider] .content-container:hover, .product-carousel-module .content-container:hover, .cms-carousel-module .content-container:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

[data-bxSlider] .collection-image-container, .product-carousel-module .collection-image-container, .cms-carousel-module .collection-image-container {
  width: 100%; }

[data-bxSlider] .image, .product-carousel-module .image, .cms-carousel-module .image {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 auto; }
  @media screen and (min-width: 81.25em) {
    [data-bxSlider] .image, .product-carousel-module .image, .cms-carousel-module .image {
      margin: 0; } }
  [data-bxSlider] .image img, .product-carousel-module .image img, .cms-carousel-module .image img {
    -ms-flex-negative: 0;
        flex-shrink: 0; }

[data-bxSlider] .label-value-pair-container, .product-carousel-module .label-value-pair-container, .cms-carousel-module .label-value-pair-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 5px;
  padding-right: 5px;
  padding-left: 5px; }
  [data-bxSlider] .label-value-pair-container .label, .product-carousel-module .label-value-pair-container .label, .cms-carousel-module .label-value-pair-container .label {
    color: #000000;
    font-weight: 600;
    font-size: 0.875rem; }
  [data-bxSlider] .label-value-pair-container .value, .product-carousel-module .label-value-pair-container .value, .cms-carousel-module .label-value-pair-container .value {
    margin-left: auto;
    color: #000000;
    font-size: 0.875rem; }

[data-bxSlider] .department-description, .product-carousel-module .department-description, .cms-carousel-module .department-description {
  color: var(--primary-colour-lightness-0, #01416f);
  font-family: "Khula", "Khula Fallback", "Arial";
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 1.6;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  [data-bxSlider] .department-description:hover, .product-carousel-module .department-description:hover, .cms-carousel-module .department-description:hover {
    color: var(--neutral-colour-lightness-0);
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }

[data-bxSlider] .group-description, .product-carousel-module .group-description, .cms-carousel-module .group-description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.2; }
  [data-bxSlider] .group-description:hover, .product-carousel-module .group-description:hover, .cms-carousel-module .group-description:hover {
    color: #01416f;
    text-decoration: underline; }
  [data-bxSlider] .group-description:active, .product-carousel-module .group-description:active, .cms-carousel-module .group-description:active {
    color: #67156a; }

[data-bxSlider] .description, .product-carousel-module .description, .cms-carousel-module .description {
  color: #484848;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: none;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  [data-bxSlider] .description p, .product-carousel-module .description p, .cms-carousel-module .description p {
    margin: 0;
    padding: 0; }

[data-bxSlider] .read-more, .product-carousel-module .read-more, .cms-carousel-module .read-more {
  color: #484848; }

[data-bxSlider] .specification p, .product-carousel-module .specification p, .cms-carousel-module .specification p {
  margin: 0;
  padding: 0; }

[data-bxSlider] .code, .product-carousel-module .code, .cms-carousel-module .code {
  color: #000000;
  font-size: 0.9375rem; }

@media print, screen and (max-width: 81.24875em) {
  [data-bxSlider] .col-label + .prices p:only-child .label, .product-carousel-module .col-label + .prices p:only-child .label, .cms-carousel-module .col-label + .prices p:only-child .label {
    display: none; } }

@media print, screen and (max-width: 81.24875em) {
  [data-bxSlider] .col-label + .prices p:only-child .label + .value, .product-carousel-module .col-label + .prices p:only-child .label + .value, .cms-carousel-module .col-label + .prices p:only-child .label + .value {
    margin-left: 0; } }

[data-bxSlider] .prices, .product-carousel-module .prices, .cms-carousel-module .prices {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 0.875rem; }
  [data-bxSlider] .prices p, .product-carousel-module .prices p, .cms-carousel-module .prices p {
    margin: 0;
    font-weight: 700; }
  [data-bxSlider] .prices .price-container, .product-carousel-module .prices .price-container, .cms-carousel-module .prices .price-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    text-align: left;
    line-height: 1.2; }
    [data-bxSlider] .prices .price-container:has(.vat), .product-carousel-module .prices .price-container:has(.vat), .cms-carousel-module .prices .price-container:has(.vat) {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    [data-bxSlider] .prices .price-container .label, .product-carousel-module .prices .price-container .label, .cms-carousel-module .prices .price-container .label {
      color: #000000;
      font-weight: 700; }
      [data-bxSlider] .prices .price-container .label:not(:empty), .product-carousel-module .prices .price-container .label:not(:empty), .cms-carousel-module .prices .price-container .label:not(:empty) {
        margin-right: 5px; }
      [data-bxSlider] .prices .price-container .label ~ .vat, .product-carousel-module .prices .price-container .label ~ .vat, .cms-carousel-module .prices .price-container .label ~ .vat {
        width: 100%;
        padding: 0 0 0 5px;
        text-align: right; }
        @media print, screen and (min-width: 40em) {
          [data-bxSlider] .prices .price-container .label ~ .vat, .product-carousel-module .prices .price-container .label ~ .vat, .cms-carousel-module .prices .price-container .label ~ .vat {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content; } }
    [data-bxSlider] .prices .price-container .value, .product-carousel-module .prices .price-container .value, .cms-carousel-module .prices .price-container .value {
      color: #ff0101;
      font-weight: 700; }
      @media screen and (min-width: 81.25em) {
        [data-bxSlider] .prices .price-container .value, .product-carousel-module .prices .price-container .value, .cms-carousel-module .prices .price-container .value {
          text-align: right; } }
    [data-bxSlider] .prices .price-container.saving .label, [data-bxSlider] .prices .price-container.saving .value, .product-carousel-module .prices .price-container.saving .label, .product-carousel-module .prices .price-container.saving .value, .cms-carousel-module .prices .price-container.saving .label, .cms-carousel-module .prices .price-container.saving .value {
      color: #000000;
      font-weight: 700;
      text-transform: uppercase; }
    [data-bxSlider] .prices .price-container.rrp .label, [data-bxSlider] .prices .price-container.rrp .value, .product-carousel-module .prices .price-container.rrp .label, .product-carousel-module .prices .price-container.rrp .value, .cms-carousel-module .prices .price-container.rrp .label, .cms-carousel-module .prices .price-container.rrp .value {
      color: #000000;
      font-weight: 700;
      font-size: 0.875rem;
      text-transform: uppercase;
      text-decoration: line-through; }
    [data-bxSlider] .prices .price-container .label + .value, .product-carousel-module .prices .price-container .label + .value, .cms-carousel-module .prices .price-container .label + .value {
      margin-right: 0;
      margin-left: auto;
      text-align: right; }

[data-bxSlider] .price-container .value, .product-carousel-module .price-container .value, .cms-carousel-module .price-container .value {
  font-size: 0.875rem; }

[data-bxSlider] .price-container .label, [data-bxSlider] .price-container .value, .product-carousel-module .price-container .label, .product-carousel-module .price-container .value, .cms-carousel-module .price-container .label, .cms-carousel-module .price-container .value {
  font-family: "Khula", "Khula Fallback", "Arial"; }

[data-bxSlider] .price, .product-carousel-module .price, .cms-carousel-module .price {
  margin: 0; }
  [data-bxSlider] .price .currency, .product-carousel-module .price .currency, .cms-carousel-module .price .currency {
    font-size: 1.625rem; }

[data-bxSlider] .vat, .product-carousel-module .vat, .cms-carousel-module .vat {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
  padding-left: 10px;
  color: #484848;
  font-size: 0.75rem;
  font-weight: 600;
  text-align: left;
  white-space: nowrap; }

[data-bxSlider] form, [data-bxSlider] .not-logged-in-container, [data-bxSlider] .stockline-view-button, .product-carousel-module form, .product-carousel-module .not-logged-in-container, .product-carousel-module .stockline-view-button, .cms-carousel-module form, .cms-carousel-module .not-logged-in-container, .cms-carousel-module .stockline-view-button {
  margin: auto 0 0; }

[data-bxSlider] .addToBasket.icon, .product-carousel-module .addToBasket.icon, .cms-carousel-module .addToBasket.icon {
  margin: 0; }

[data-bxSlider] .favouritesContainer, .product-carousel-module .favouritesContainer, .cms-carousel-module .favouritesContainer {
  display: inline-block; }

[data-bxSlider] .quantity-container .control.select, .product-carousel-module .quantity-container .control.select, .cms-carousel-module .quantity-container .control.select {
  max-width: 80px;
  width: 100%;
  display: inline-block;
  margin: 0 10px 0 0; }
  [data-bxSlider] .quantity-container .control.select .label, .product-carousel-module .quantity-container .control.select .label, .cms-carousel-module .quantity-container .control.select .label {
    display: none; }
  [data-bxSlider] .quantity-container .control.select .control-select-dropdown, .product-carousel-module .quantity-container .control.select .control-select-dropdown, .cms-carousel-module .quantity-container .control.select .control-select-dropdown {
    width: 80px; }

[data-bxSlider] .quantity-free-text-container, .product-carousel-module .quantity-free-text-container, .cms-carousel-module .quantity-free-text-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  [data-bxSlider] .quantity-free-text-container .label, .product-carousel-module .quantity-free-text-container .label, .cms-carousel-module .quantity-free-text-container .label {
    display: none; }

@media screen and (min-width: 81.25em) {
  .bx-seperator .collection-item[aria-hidden=false] + .collection-item:before {
    content: '';
    width: 1px;
    height: 80%;
    background-color: #484848;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto; } }

.bx-viewport {
  z-index: 1; }
  .bx-viewport > div {
    height: 100%; }

[id$="-carousel-container"] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }

.carousel:not(.largeControls):not(.smallControls) .bx-controls {
  height: 30px; }
  .carousel:not(.largeControls):not(.smallControls) .bx-controls .bx-prev:not(.disabled),
  .carousel:not(.largeControls):not(.smallControls) .bx-controls .bx-next:not(.disabled) {
    width: 30px;
    height: 30px; }

@media screen and (min-width: 81.25em) {
  .carousel:not(.controls-contained) .bx-controls:not(.largeControls):not(.smallControls) .bx-prev {
    right: 36px; } }

@media screen and (min-width: 81.25em) {
  .carousel:not(.controls-contained) .bx-controls:not(.largeControls):not(.smallControls) .bx-next {
    left: 36px; } }

@media screen and (min-width: 120em) {
  .carousel:not(.controls-contained) .bx-controls.largeControls .bx-prev {
    right: 37.5px; } }

@media screen and (min-width: 120em) {
  .carousel:not(.controls-contained) .bx-controls.largeControls .bx-next {
    left: 37.5px; } }

.carousel.largeControls .bx-controls .bx-controls-direction {
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 45px; }
  @media screen and (min-width: 81.25em) {
    .carousel.largeControls .bx-controls .bx-controls-direction {
      height: 75px; } }

.carousel.largeControls .bx-controls .bx-prev:not(.disabled),
.carousel.largeControls .bx-controls .bx-next:not(.disabled) {
  width: 45px;
  height: 45px; }
  @media screen and (min-width: 81.25em) {
    .carousel.largeControls .bx-controls .bx-prev:not(.disabled),
    .carousel.largeControls .bx-controls .bx-next:not(.disabled) {
      width: 75px;
      height: 75px; } }

.carousel.smallControls .bx-controls {
  height: 45px;
  width: 100px; }
  .carousel.smallControls .bx-controls .bx-prev:not(.disabled),
  .carousel.smallControls .bx-controls .bx-next:not(.disabled) {
    width: 45px;
    height: 45px;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):hover,
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):hover {
      background-color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):before,
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):before {
      width: 12px;
      height: 12px; }
  @media screen and (min-width: 81.25em) {
    .carousel.smallControls .bx-controls .bx-prev:not(.disabled):before {
      height: 18px;
      width: 18px;
      padding: 3px;
      border: 1px solid #01416f;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(-223deg);
              transform: rotate(-223deg); } }
  @media screen and (min-width: 81.25em) {
    .carousel.smallControls .bx-controls .bx-next:not(.disabled):before {
      height: 18px;
      width: 18px;
      padding: 3px;
      border: 1px solid #01416f;
      border-width: 0 2px 2px 0;
      -webkit-transform: rotate(-43deg);
              transform: rotate(-43deg); } }

.carousel:not(.smallControls) .bx-controls {
  width: 100%; }
  .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
  .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
    background-color: #ffffff;
    opacity: 0.8;
    -webkit-transition: background-color 0.8s, opacity 0.8s, border-color 0.8s;
    transition: background-color 0.8s, opacity 0.8s, border-color 0.8s; }
    @media print, screen and (max-width: 81.24875em) {
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
        -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
                box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); } }
    @media screen and (min-width: 81.25em) {
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled),
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled) {
        opacity: 0.5;
        -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
                box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); } }
    .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):hover,
    .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):hover {
      text-decoration: none;
      background-color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      opacity: 0.8;
      -webkit-transition: background-color 0.6s, opacity 0.6s;
      transition: background-color 0.6s, opacity 0.6s; }
      .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):hover:before,
      .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):hover:before {
        border-color: #01416f; }
    .carousel:not(.smallControls) .bx-controls .bx-prev:not(.disabled):active,
    .carousel:not(.smallControls) .bx-controls .bx-next:not(.disabled):active {
      background-color: #ffffff;
      opacity: 1; }

.bx-controls {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto; }

.small-wide-controls .bx-controls .bx-prev:not(.disabled):before {
  content: "";
  font-size: 14px; }

.small-wide-controls .bx-controls .bx-next:not(.disabled):before {
  content: "";
  font-size: 14px; }

.bx-controls.disabled {
  display: none; }

.bx-controls .bx-prev:not(.disabled):before,
.bx-controls .bx-next:not(.disabled):before {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Font Awesome Solid";
  font-size: 14px;
  color: #01416f;
  -webkit-transition: color 0.8s;
  transition: color 0.8s;
  -webkit-filter: drop-shadow(0);
          filter: drop-shadow(0); }
  @media screen and (min-width: 81.25em) {
    .bx-controls .bx-prev:not(.disabled):before,
    .bx-controls .bx-next:not(.disabled):before {
      font-size: 18px; } }

.bx-controls .bx-prev:not(.disabled):hover:before,
.bx-controls .bx-next:not(.disabled):hover:before {
  color: #01416f;
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }

.bx-controls .bx-prev:not(.disabled):active:before,
.bx-controls .bx-next:not(.disabled):active:before {
  color: #01416f; }

.bx-controls .bx-prev {
  position: relative;
  float: left; }

.bx-controls .bx-prev:not(.disabled):before {
  content: ""; }

.bx-controls .bx-next {
  position: relative;
  float: right; }

.bx-controls .bx-next:not(.disabled):before {
  content: ""; }

.bx-prev, .bx-next {
  position: relative;
  z-index: 1;
  border-radius: 0; }

.bx-prev {
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .bx-prev {
      padding: 0; } }

.bx-next {
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    .bx-next {
      padding: 0; } }

div[data-bxSlider][bx-column-count="1"] {
  --columns: 1; }

div[data-bxSlider][bx-column-count="2"] {
  --columns: 2; }

div[data-bxSlider][bx-column-count="3"] {
  --columns: 3; }

div[data-bxSlider][bx-column-count="4"] {
  --columns: 4; }

div[data-bxSlider][bx-column-count="5"] {
  --columns: 5; }

div[data-bxSlider][bx-column-count="6"] {
  --columns: 6; }

div[data-bxSlider][bx-column-count="7"] {
  --columns: 7; }

div[data-bxSlider][bx-column-count="8"] {
  --columns: 8; }

div[data-bxSlider][bx-column-count="9"] {
  --columns: 9; }

div[data-bxSlider][bx-column-count="10"] {
  --columns: 10; }

div[data-bxSlider][bx-column-count="11"] {
  --columns: 11; }

div[data-bxSlider][bx-column-count="12"] {
  --columns: 12; }

div[data-bxSlider]:not([data-initialised="true"]) {
  width: 100%;
  position: relative;
  display: grid;
  --small-columns: max(round(down, calc(var(--columns) / 2), 1), 1);
  --medium-columns: calc(var(--small-columns) + 1);
  grid-template-columns: repeat(var(--small-columns), minmax(0, 1fr));
  gap: var(--module-gutter, 10px); }
  @media print, screen and (min-width: 40em) {
    div[data-bxSlider]:not([data-initialised="true"]) {
      grid-template-columns: repeat(var(--medium-columns), minmax(0, 1fr));
      gap: var(--module-gutter, 15px); } }
  @media screen and (min-width: 81.25em) {
    div[data-bxSlider]:not([data-initialised="true"]) {
      grid-template-columns: repeat(var(--columns), minmax(0, 1fr));
      gap: var(--module-gutter, 15px); } }
  div[data-bxSlider]:not([data-initialised="true"]) > * {
    visibility: hidden; }
  div[data-bxSlider]:not([data-initialised="true"]):after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #ffffff;
    display: block; }
  div[data-bxSlider]:not([data-initialised="true"]):before {
    content: "";
    width: 42px;
    height: 42px;
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    display: block;
    border: 4px solid rgba(149, 149, 149, 0.2);
    border-top: 4px solid #959595;
    border-radius: 50%;
    -webkit-transition: all .2s ease 0s;
    transition: all .2s ease 0s;
    -webkit-animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
            animation: spin 0.7s cubic-bezier(0.56, 0.11, 0.22, 0.865) 0s infinite;
    z-index: 1; }

@keyframes spin {
  from {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }
  to {
    -webkit-transform: rotate(405deg);
            transform: rotate(405deg); } }
  div[data-bxSlider]:not([data-initialised="true"]) .collection-item:not(:first-child) {
    display: none; }

.bx-viewport {
  overflow-y: visible; }

.carousel .bx-viewport .collection-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

.bx-pager {
  width: 100%;
  position: absolute;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px; }
  .bx-pager .bx-pager-item {
    position: relative;
    width: 22.5px;
    height: 22.5px;
    display: block;
    margin: 0 7.5px;
    z-index: 1; }
    @media screen and (min-width: 81.25em) {
      .bx-pager .bx-pager-item {
        width: 15px;
        height: 15px; } }
    .bx-pager .bx-pager-item a {
      width: 100%;
      height: 100%;
      display: block;
      background-color: #ffffff;
      border-radius: 25px;
      border: 1px solid #aeaeae;
      opacity: 0.5;
      -webkit-transition: opacity, border-color, background-color 0.8s;
      transition: opacity, border-color, background-color 0.8s; }
      .bx-pager .bx-pager-item a:hover {
        background-color: #67156a;
        border-color: #67156a;
        -webkit-transition: border-color, background-color 0.6s;
        transition: border-color, background-color 0.6s; }
      .bx-pager .bx-pager-item a:active {
        background-color: #01416f;
        border-color: #01416f; }
      .bx-pager .bx-pager-item a.active {
        background-color: #01416f;
        border-color: #01416f;
        opacity: 1;
        cursor: not-allowed;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }

/*
----- Sliders -----
Handles the following: 
- This is *NOT* carousel functionality please refer to bxslider.scss for that.
- This is form form controls where you require an input type = slider.
- The stlyes here will also have a heavy influence on the price slider for filters.
*/
.slider {
  height: 10px;
  position: relative;
  background-color: rgba(255, 255, 255, 0.7);
  border: 1px solid transparent;
  border-radius: 5px;
  -webkit-transition: background-color 0.8s, border-color 0.8s;
  transition: background-color 0.8s, border-color 0.8s; }
  .slider:hover {
    background-color: #ffffff;
    border-color: transparent;
    -webkit-transition: background-color 0.6s, border-color 0.6s;
    transition: background-color 0.6s, border-color 0.6s; }
    .slider:hover .ui-slider-range:before {
      background-color: #fed120;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
  .slider:active {
    background-color: #ffffff;
    border-color: transparent; }
    .slider:active .ui-slider-range:before {
      background-color: #67156a; }
  .slider.slider-invalid .ui-slider-range:before {
    background-color: #b20c0c; }
  .slider.slider-invalid .ui-slider-handle:before {
    background-color: #b20c0c; }

.ui-slider-handle {
  width: 22px;
  height: 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: -.5em;
  margin-left: -5px;
  background-color: #ffffff;
  border: 1px solid #eeeeee;
  border-radius: 25px;
  cursor: pointer;
  z-index: 2;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .ui-slider-handle:before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: #67156a;
    border-radius: 25px;
    border: 3px solid #ffffff; }
  .ui-slider-handle:hover {
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.ui-state-active {
  outline: 0; }

.ui-slider-range {
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
  margin: auto;
  z-index: 1; }
  .ui-slider-range:before {
    content: '';
    width: calc(100% + 4px);
    height: calc(100% + 2px);
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    background-color: #e5b701;
    border-radius: 5px;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
  .ui-slider-range.ui-slider-range-min:before {
    left: -1px; }
  .ui-slider-range.ui-slider-range-max:before {
    right: -1px; }
  .ui-slider-range.ui-slider-horizontal {
    top: 0;
    height: 100%; }

.slider-errors {
  max-height: 0;
  overflow: hidden;
  text-align: center;
  margin: 25px 3px 5px;
  font-weight: 600;
  font-size: 0.6875rem;
  color: #b20c0c;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .slider-errors.active {
    max-height: 300px;
    padding: 5px;
    border: 1px solid #b20c0c;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }

[data-tooltip] {
  width: 100%;
  position: absolute;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

span.tooltip-trigger {
  position: relative;
  cursor: help;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
   -ms-user-select: none;
       user-select: none;
  -webkit-tap-highlight-color: transparent; }
  span.tooltip-trigger:before {
    content: "";
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-line-pack: center;
        align-content: center;
    padding: 5px 8px;
    font-size: 10px;
    font-family: "Font Awesome Solid";
    color: #ffffff;
    line-height: 1;
    background-color: rgba(72, 72, 72, 0.7);
    border-radius: 25px;
    -webkit-transition: background-color 0.8s, color 0.8s;
    transition: background-color 0.8s, color 0.8s; }
  span.tooltip-trigger:hover:before {
    background-color: #67156a;
    color: #ffffff;
    -webkit-transition: background-color 0.6s, color 0.6s;
    transition: background-color 0.6s, color 0.6s; }
  span.tooltip-trigger:active:before {
    background-color: #01416f;
    color: #ffffff; }

.tooltip-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  cursor: pointer; }
  .tooltip-container.warning .tooltip-content .content-container:before, .tooltip-container.alert .tooltip-content .content-container:before {
    content: "";
    display: block;
    margin-bottom: 5px;
    font-size: 20px;
    font-family: "Font Awesome Solid";
    text-align: center; }
  .tooltip-container.warning .tooltip-content .content-container p, .tooltip-container.alert .tooltip-content .content-container p {
    margin: 0;
    padding: 0;
    text-align: center;
    text-transform: uppercase;
    font-size: 0.875rem;
    font-weight: 700; }
  .tooltip-container.warning .tooltip-trigger:before {
    content: "";
    padding: 0;
    background-color: transparent;
    color: #ff5e05;
    font-size: 20px; }
  .tooltip-container.warning .tooltip-content {
    border-color: #ff5e05;
    background-color: #ffefe6; }
    .tooltip-container.warning .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ff5e05;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container.warning .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffefe6;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }
    .tooltip-container.warning .tooltip-content .content-container:before {
      content: "";
      color: #ff5e05; }
    .tooltip-container.warning .tooltip-content p {
      color: #ff5e05;
      font-size: 0.8125rem;
      font-weight: 700;
      text-transform: uppercase; }
  .tooltip-container.alert .tooltip-trigger:before {
    content: "";
    padding: 0;
    background-color: transparent;
    color: #b20c0c;
    font-size: 20px; }
  .tooltip-container.alert .tooltip-content {
    border-color: #b20c0c;
    background-color: #fde1e1; }
    .tooltip-container.alert .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #b20c0c;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container.alert .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #fde1e1;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }
    .tooltip-container.alert .tooltip-content .content-container:before {
      content: "";
      color: #b20c0c; }
    .tooltip-container.alert .tooltip-content p {
      color: #b20c0c;
      font-size: 0.8125rem;
      font-weight: 700;
      text-transform: uppercase; }
  .tooltip-container.state-indicator .tooltip-trigger:before {
    content: ""; }
  .tooltip-container.align-right {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .tooltip-container.align-right .tooltip-content:before, .tooltip-container.align-right .tooltip-content:after {
      left: calc(100% - 8px); }
  .tooltip-container.responsive-override-align-right {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.responsive-override-align-right .tooltip-content-container {
      left: 0; }
    .tooltip-container.responsive-override-align-right .tooltip-content:before, .tooltip-container.responsive-override-align-right .tooltip-content:after {
      left: 8px; }
  .tooltip-container.align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.align-left .tooltip-content:before, .tooltip-container.align-left .tooltip-content:after {
      left: 8px; }
  .tooltip-container.responsive-override-align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .tooltip-container.responsive-override-align-left .tooltip-content-container {
      right: 0;
      left: unset; }
    .tooltip-container.responsive-override-align-left .tooltip-content:before, .tooltip-container.responsive-override-align-left .tooltip-content:after {
      left: calc(100% - 8px); }
  .tooltip-container .tooltip-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .tooltip-container .tooltip-content:before {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 9px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #67156a;
      border-top: 0;
      margin-top: -9px;
      margin-left: -9px; }
    .tooltip-container .tooltip-content:after {
      content: '';
      width: 0;
      height: 0;
      position: absolute;
      top: 0;
      left: 50%;
      border-width: 7px;
      border-style: solid;
      border-color: transparent;
      border-bottom-color: #ffffff;
      border-top: 0;
      margin-top: -6px;
      margin-left: -7px; }

.tooltip-content-container .tooltip-content {
  visibility: visible;
  overflow: visible; }

.tooltip-content {
  width: 0;
  height: 0;
  overflow: hidden;
  visibility: hidden; }

.tooltip-content-container {
  width: 300px;
  position: absolute;
  top: 100%;
  z-index: 10;
  max-height: 0;
  display: block;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .tooltip-content-container.active {
    max-height: 300px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .tooltip-content-container .tooltip-content {
    width: auto;
    height: auto;
    position: relative;
    padding: 20px;
    margin-top: 9px;
    background-color: #ffffff;
    border: 2px solid #67156a;
    border-radius: 0;
    z-index: 1; }
    .tooltip-content-container .tooltip-content ul {
      padding: 0;
      margin: 0;
      list-style: none; }
    .tooltip-content-container .tooltip-content li, .tooltip-content-container .tooltip-content a, .tooltip-content-container .tooltip-content p {
      font-size: 0.8125rem;
      font-weight: 400;
      line-height: 1.6;
      color: #000000; }
    .tooltip-content-container .tooltip-content li p {
      margin: 10px 0; }
    .tooltip-content-container .tooltip-content p {
      padding: 0;
      margin: 0; }

/*
----- Read more -----
Handles the following: 
- Revealing additional markup, this can include text or images.
- How the fade / gradiant gets used when cutting of the overflowing content.
*/
.read-more {
  position: relative; }
  .read-more.container-calculation-waiting {
    display: none; }
  .read-more.active .read-more-content {
    height: 100% !important;
    -webkit-transition: height 0.6s;
    transition: height 0.6s; }
  .read-more.active .readMoreButton:before {
    content: ""; }
  @media screen and (min-width: 81.25em) {
    .read-more.mobile-only .read-more-content {
      height: auto !important; } }
  @media screen and (min-width: 81.25em) {
    .read-more.mobile-only .readMoreButton {
      display: none; } }
  .read-more .read-more-content {
    max-height: 100%;
    position: relative;
    overflow: hidden;
    -webkit-transition: height 0.8s;
    transition: height 0.8s; }
  .read-more .readMoreButton {
    display: block;
    margin: 0 auto;
    padding: 10px 15px 24px;
    color: #01416f;
    font-weight: 600; }
    .read-more .readMoreButton:hover:before {
      color: #959595;
      font-size: 0.9375rem;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
    .read-more .readMoreButton:before {
      content: "";
      position: absolute;
      right: 0;
      bottom: 5px;
      left: 0;
      font-family: "Font Awesome Solid";
      font-size: 0.75rem;
      -webkit-transition: all 0.8s;
      transition: all 0.8s; }

.read-more:not(.fade-disabled-low-content) .read-more-content:not(.no-fade) {
  -webkit-mask-image: linear-gradient(to top, transparent 0px, #000000 50px);
          mask-image: linear-gradient(to top, transparent 0px, #000000 50px); }

@media screen and (min-width: 81.25em) {
  .read-more:not(.fade-disabled-low-content).mobile-only .read-more-content:not(.no-fade) {
    -webkit-mask-image: unset;
            mask-image: unset; } }

.read-more:not(.fade-disabled-low-content).active .read-more-content {
  -webkit-mask-image: unset;
          mask-image: unset; }

.read-more:not(.fade-disabled-low-content) .read-more-content.content-truncate-enabled > p {
  display: -webkit-box;
  -webkit-line-clamp: var(--read-more-line-clamp);
  -webkit-box-orient: vertical; }
  .read-more:not(.fade-disabled-low-content) .read-more-content.content-truncate-enabled > p + p {
    display: none; }

.read-more:not([rm-id]) {
  visibility: hidden; }

/*
----- Auto Complete ( Predictive Search ) ------ 
The dropdown you see when you start typing in a query within the search bar in the header.
*/
#headerSearchForm .ac-results {
  border-radius: 0 0 0 0;
  padding: 110px 0 40px; }
  @media screen and (min-width: 81.25em) {
    #headerSearchForm .ac-results > ul {
      width: 700px !important;
      padding: 0 6%;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      background-color: #ffffff;
      border-bottom: 5px solid #01416f;
      z-index: 50000; } }

.ac-results {
  width: 100%;
  max-height: 100vh; }
  @media screen and (min-width: 81.25em) {
    .ac-results {
      z-index: 200001; } }
  .ac-results.scroller > ul {
    overflow-y: scroll; }
  .ac-results > ul, .ac-results .results-content-container > ul {
    max-height: 70vh;
    padding: 0;
    margin: 0;
    list-style: none;
    overflow-y: auto; }
    @media screen and (min-width: 81.25em) {
      .ac-results > ul, .ac-results .results-content-container > ul {
        margin: auto; } }

.ac-collection-title-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  padding: 5px 15px;
  background-color: #01416f;
  border-radius: 0; }
  .ac-collection-title-container .ac-title {
    color: #ffffff;
    font-size: 1rem;
    font-weight: 600;
    text-transform: none;
    font-family: "Khula", "Khula Fallback", "Arial"; }
  .ac-collection-title-container .view-all {
    float: right; }
    .ac-collection-title-container .view-all:hover a:after {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .ac-collection-title-container .view-all a {
      color: #ffffff;
      font-size: 0.9375rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .ac-collection-title-container .view-all a:after {
        content: "";
        margin: 0 0 0 5px;
        font-family: "Font Awesome Solid";
        font-size: 0.5625rem;
        color: #67156a;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }

.ac-title-container {
  margin: 10px 0 15px;
  font-style: italic;
  font-weight: 600;
  font-family: "Khula", "Khula Fallback", "Arial"; }

.ac-item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 10px 0;
  list-style: none; }
  .ac-item-list.column .ac-item {
    width: 100%; }
    @media print, screen and (min-width: 40em) {
      .ac-item-list.column .ac-item {
        -webkit-box-flex: 1;
            -ms-flex: 1 0 50%;
                flex: 1 0 50%; } }
  .ac-item-list:not(.column) .ac-item {
    width: 100%; }
  .ac-item-list.row .ac-item {
    margin: 0 0 10px; }

.ac-item {
  margin: 0 0 5px; }
  .ac-item:hover a span {
    color: #01416f;
    text-decoration: underline;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .ac-item .image, .ac-item .ac-item-multimedia-content {
    width: 50px;
    height: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #dadada; }
  .ac-item img {
    max-width: 100%; }
  .ac-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 10px;
    padding: 0 20px 0 0; }
    .ac-item a span {
      font-weight: 400;
      color: #000000;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .ac-item .ac-item-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .ac-item .item-reference {
    font-size: 0.8125rem;
    text-transform: uppercase;
    color: #959595; }
  .ac-item .item-snippet {
    margin: 5px 0 0;
    font-size: 0.8125rem;
    color: #959595; }

.autocomplete-results-search-container {
  display: none; }
  @media screen and (min-width: 81.25em) {
    .autocomplete-results-search-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .autocomplete-results-search-container .ajax-search {
    height: 50px; }
    .autocomplete-results-search-container .ajax-search + button {
      height: 50px; }

.autocomplete-container.active .ac-results {
  max-height: 900px;
  display: block; }
  @media screen and (min-width: 81.25em) {
    .autocomplete-container.active .ac-results {
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1); } }

.autocomplete-container .ac-results {
  max-height: 0px;
  display: none; }

.autocomplete-container .results-content-container {
  background: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .autocomplete-container .results-content-container {
      border-radius: 0 0 0 0;
      padding-bottom: 50px;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-bottom-color: #01416f;
      border-width: 0 0 6px 0;
      border-style: solid; } }
  .autocomplete-container .results-content-container ul li:last-child .ac-item-list {
    padding-bottom: 0; }

.sa {
  width: 90px;
  height: 90px;
  margin: 30px auto 15px; }
  .sa-warning {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid #ff5e05;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding: 0;
    position: relative;
    -webkit-animation: scaleWarning 0.75s infinite alternate;
            animation: scaleWarning 0.75s infinite alternate; }
    .sa-warning:after, .sa-warning:before {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      border-radius: 50%; }
    .sa-warning:before {
      display: inline-block;
      opacity: 0; }
    .sa-warning:after {
      display: block;
      z-index: 1; }
    .sa-warning-body {
      width: 5px;
      height: 47px;
      position: absolute;
      top: 10px;
      left: 50%;
      margin-left: -2px;
      background-color: #ff5e05;
      border-radius: 2px;
      z-index: 2;
      -webkit-animation: pulseWarningIns 0.75s infinite alternate;
              animation: pulseWarningIns 0.75s infinite alternate; }
    .sa-warning-dot {
      background-color: #ff5e05;
      border-radius: 50%;
      bottom: 10px;
      height: 7px;
      left: 50%;
      margin-left: -3px;
      position: absolute;
      width: 7px;
      z-index: 2;
      -webkit-animation: pulseWarningIns 0.75s infinite alternate;
              animation: pulseWarningIns 0.75s infinite alternate; }
  .sa-error {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 4px solid #b20c0c;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    padding: 0;
    position: relative;
    -webkit-animation: animateErrorIcon .5s;
            animation: animateErrorIcon .5s; }
    .sa-error:after, .sa-error:before {
      content: '';
      height: 120px;
      position: absolute;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      width: 60px; }
    .sa-error:before {
      border-radius: 40px 0 0 40px;
      width: 26px;
      height: 80px;
      top: -17px;
      left: 5px;
      -webkit-transform-origin: 60px 60px;
              transform-origin: 60px 60px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    .sa-error:after {
      border-radius: 0 120px 120px 0;
      left: 30px;
      top: -11px;
      -webkit-transform-origin: 0 60px;
              transform-origin: 0 60px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      -webkit-animation: rotatePlaceholder 4.25s ease-in;
              animation: rotatePlaceholder 4.25s ease-in; }
    .sa-error-x {
      display: block;
      position: relative;
      z-index: 2; }
    .sa-error-placeholder {
      border-radius: 50%;
      -webkit-box-sizing: content-box;
              box-sizing: content-box;
      height: 80px;
      left: -4px;
      position: absolute;
      top: -4px;
      width: 80px;
      z-index: 2; }
    .sa-error-fix {
      width: 5px;
      height: 90px;
      left: 28px;
      position: absolute;
      top: 8px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      z-index: 1; }
    .sa-error-left, .sa-error-right {
      border-radius: 2px;
      display: block;
      height: 5px;
      position: absolute;
      z-index: 2;
      background-color: #b20c0c;
      top: 37px;
      width: 47px; }
    .sa-error-left {
      left: 17px;
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
      -webkit-animation: animateXLeft .75s;
              animation: animateXLeft .75s; }
    .sa-error-right {
      right: 16px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      -webkit-animation: animateXRight .75s;
              animation: animateXRight .75s; }

@keyframes rotatePlaceholder {
  0%,
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  100%,
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

@-webkit-keyframes animateErrorIcon {
  0% {
    -webkit-transform: rotateX(100deg);
            transform: rotateX(100deg);
    opacity: 0; }
  100% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
    opacity: 1; } }

@keyframes animateErrorIcon {
  0% {
    -webkit-transform: rotateX(100deg);
            transform: rotateX(100deg);
    opacity: 0; }
  100% {
    -webkit-transform: rotateX(0deg);
            transform: rotateX(0deg);
    opacity: 1; } }

@-webkit-keyframes animateXLeft {
  0%,
  65% {
    left: 82px;
    top: 95px;
    width: 0; }
  84% {
    left: 14px;
    top: 33px;
    width: 47px; }
  100% {
    left: 17px;
    top: 37px;
    width: 47px; } }

@keyframes animateXLeft {
  0%,
  65% {
    left: 82px;
    top: 95px;
    width: 0; }
  84% {
    left: 14px;
    top: 33px;
    width: 47px; }
  100% {
    left: 17px;
    top: 37px;
    width: 47px; } }

@-webkit-keyframes animateXRight {
  0%,
  65% {
    right: 82px;
    top: 95px;
    width: 0; }
  84% {
    right: 14px;
    top: 33px;
    width: 47px; }
  100% {
    right: 16px;
    top: 37px;
    width: 47px; } }

@keyframes animateXRight {
  0%,
  65% {
    right: 82px;
    top: 95px;
    width: 0; }
  84% {
    right: 14px;
    top: 33px;
    width: 47px; }
  100% {
    right: 16px;
    top: 37px;
    width: 47px; } }

@-webkit-keyframes scaleWarning {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  30% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@keyframes scaleWarning {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1); }
  30% {
    -webkit-transform: scale(1.02);
            transform: scale(1.02); }
  100% {
    -webkit-transform: scale(1);
            transform: scale(1); } }

@-webkit-keyframes pulseWarning {
  0% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  30% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  100% {
    background-color: #ff5e05;
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0; } }

@keyframes pulseWarning {
  0% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  30% {
    background-color: transparent;
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 0.5; }
  100% {
    background-color: #ff5e05;
    -webkit-transform: scale(2);
            transform: scale(2);
    opacity: 0; } }

@-webkit-keyframes pulseWarningIns {
  0% {
    background-color: #ff5e05; }
  100% {
    background-color: #ff5e05; } }

@keyframes pulseWarningIns {
  0% {
    background-color: #ff5e05; }
  100% {
    background-color: #ff5e05; } }

.check_mark {
  width: 90px;
  height: 90px;
  margin: 30px auto 15px; }

.sa-icon {
  width: 80px;
  height: 80px;
  border: 4px solid #12811f;
  border-radius: 40px;
  border-radius: 50%;
  padding: 0;
  position: relative;
  -webkit-box-sizing: content-box;
          box-sizing: content-box; }

.sa-icon.sa-success {
  border-color: #12811f; }

.sa-icon.sa-success::before,
.sa-icon.sa-success::after {
  content: '';
  border-radius: 40px;
  border-radius: 50%;
  position: absolute;
  width: 60px;
  height: 120px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg); }

.sa-icon.sa-success::before {
  border-radius: 120px 0 0 120px;
  top: -7px;
  left: -33px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 60px 60px;
          transform-origin: 60px 60px; }

.sa-icon.sa-success::after {
  border-radius: 0 120px 120px 0;
  top: -11px;
  left: 30px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transform-origin: 0px 60px;
          transform-origin: 0px 60px; }

.sa-icon.sa-success .sa-placeholder {
  width: 80px;
  height: 80px;
  border-radius: 40px;
  border-radius: 50%;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  position: absolute;
  left: -4px;
  top: -4px;
  z-index: 2; }

.sa-icon.sa-success .sa-fix {
  width: 5px;
  height: 90px;
  position: absolute;
  left: 28px;
  top: 8px;
  z-index: 1;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg); }

.sa-icon.sa-success.animate::after {
  -webkit-animation: rotatePlaceholder 4.25s ease-in;
          animation: rotatePlaceholder 4.25s ease-in; }

.sa-icon.sa-success {
  border-color: transparent\9; }

.sa-icon.sa-success .sa-line.sa-tip {
  -webkit-transform: rotate(45deg) \9;
          transform: rotate(45deg) \9; }

.sa-icon.sa-success .sa-line.sa-long {
  -webkit-transform: rotate(-45deg) \9;
          transform: rotate(-45deg) \9; }

.animateSuccessTip {
  -webkit-animation: animateSuccessTip 0.75s;
          animation: animateSuccessTip 0.75s; }

.animateSuccessLong {
  -webkit-animation: animateSuccessLong 0.75s;
          animation: animateSuccessLong 0.75s; }

@-webkit-keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

@-webkit-keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px; }
  54% {
    width: 0;
    left: 1px;
    top: 19px; }
  70% {
    width: 50px;
    left: -8px;
    top: 37px; }
  84% {
    width: 17px;
    left: 21px;
    top: 48px; }
  100% {
    width: 25px;
    left: 14px;
    top: 45px; } }

@keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px; }
  65% {
    width: 0;
    right: 46px;
    top: 54px; }
  84% {
    width: 55px;
    right: 0px;
    top: 35px; }
  100% {
    width: 47px;
    right: 8px;
    top: 38px; } }

.sa-icon.sa-success .sa-line {
  height: 5px;
  background-color: #12811f;
  display: block;
  border-radius: 2px;
  position: absolute;
  z-index: 2; }

.sa-icon.sa-success .sa-line.sa-tip {
  width: 25px;
  left: 14px;
  top: 46px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }

.sa-icon.sa-success .sa-line.sa-long {
  width: 47px;
  right: 8px;
  top: 38px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

@-webkit-keyframes rotatePlaceholder {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); }
  100% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

@keyframes rotatePlaceholder {
  0% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  5% {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  12% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); }
  100% {
    -webkit-transform: rotate(-405deg);
            transform: rotate(-405deg); } }

/*
----- Notifications ( Callouts ) -----
Handles the following: 
- On page notications ( no items found ) 
- Header notifications.
- Cookie notification.
- Callouts ( things that slide out from the edged of a window ) 
- No Javascript notification
- Browser compatiblity notification 

*/
.header-notification-container {
  width: 100%; }
  .header-notification-container .callout {
    margin: 0;
    padding: 0 10px; }
    @media print, screen and (min-width: 40em) {
      .header-notification-container .callout {
        padding: 0; } }
    .header-notification-container .callout:not(:first-of-type) {
      border-top-color: #ffffff; }
    .header-notification-container .callout h5 {
      position: relative;
      padding: 0 0 0 35px;
      margin: 10px 0;
      font-size: 0.875rem;
      font-weight: 700;
      color: #ffffff; }
      .header-notification-container .callout h5:before {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        margin: auto;
        padding: 0 5px 0 0;
        font-size: 22px;
        color: #ffffff;
        font-family: "Font Awesome Solid";
        line-height: 1; }
    .header-notification-container .callout a {
      color: #ffffff;
      font-size: 0.875rem;
      font-weight: 700;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s; }
      .header-notification-container .callout a:hover {
        color: #ffffff;
        opacity: 0.6;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
      .header-notification-container .callout a:active {
        color: #ffffff; }
    .header-notification-container .callout button:not(.close-button) {
      width: 100%; }
      @media print, screen and (min-width: 40em) {
        .header-notification-container .callout button:not(.close-button) {
          width: auto; } }
      @media screen and (min-width: 81.25em) {
        .header-notification-container .callout button:not(.close-button) {
          margin-left: 10px; } }
    @media print, screen and (max-width: 81.24875em) {
      .header-notification-container .callout button.close-button {
        position: relative;
        right: 0; } }
  .header-notification-container .alert h5:before {
    content: ""; }
  .header-notification-container .warning h5:before {
    content: ""; }
  .header-notification-container .success h5:before {
    content: ""; }
  .header-notification-container .content-container {
    max-width: 1300px;
    margin: 0 auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .header-notification-container .close-button {
    width: 17px;
    height: 17px;
    display: block;
    margin: 5px 0 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .header-notification-container .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: #ffffff;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .header-notification-container .close-button:hover:before {
      color: #01416f;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .header-notification-container .close-button:active:before {
      color: #67156a;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }

.notification-container.callout {
  display: none; }

.callout-container {
  position: fixed;
  right: 0;
  bottom: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 999999999999; }
  .callout-container.side .callout {
    border-radius: 0 0 0 0; }
  .callout-container .callout {
    position: relative;
    display: block;
    margin: 1rem 0;
    padding: 25px;
    font-weight: 700;
    font-size: 1rem; }
    .callout-container .callout:before {
      content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background-color: #ffffff;
      z-index: -1; }
    .callout-container .callout.success {
      border-left: 5px solid #12811f;
      background-color: #dffbe2;
      color: #12811f; }
      .callout-container .callout.success strong {
        color: #12811f; }
    .callout-container .callout.warning {
      border-left: 5px solid #ff5e05;
      background-color: #ffefe6;
      color: #ff5e05; }
      .callout-container .callout.warning strong {
        color: #ff5e05; }
    .callout-container .callout.alert {
      border-left: 5px solid #b20c0c;
      background-color: #fde1e1;
      color: #b20c0c; }
      .callout-container .callout.alert strong {
        color: #b20c0c; }
    .callout-container .callout h5 {
      margin: 0 25px 0 0;
      font-weight: 400;
      font-size: 1rem; }
      .callout-container .callout h5 strong {
        font-weight: 700; }
    .callout-container .callout .close-button {
      top: 50%;
      -webkit-transform: translateY(-50%);
              transform: translateY(-50%); }
      .callout-container .callout .close-button:before {
        position: relative;
        bottom: 4px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .callout-container .callout .close-button:before:before {
          content: "";
          font-family: "Font Awesome Solid";
          font-size: 20px;
          color: #aeaeae;
          -webkit-transition: color 0.8s, -webkit-transform 0.6s;
          transition: color 0.8s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.8s;
          transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
        .callout-container .callout .close-button:before:hover:before {
          color: #01416f;
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg);
          -webkit-transition: color 0.6s, -webkit-transform 0.6s;
          transition: color 0.6s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.6s;
          transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
        .callout-container .callout .close-button:before:active:before {
          color: #67156a;
          -webkit-transition: font-size 1.2s, color 0.6s;
          transition: font-size 1.2s, color 0.6s; }

.on-page-notifications-container {
  margin: 0 0 20px; }

.on-page-notification {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  .on-page-notification:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .on-page-notification {
      gap: 0 15px; } }
  .on-page-notification:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .on-page-notification.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .on-page-notification.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification.preset-2 {
        padding: 15px 65px; } }
  .on-page-notification.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification.preset-3 {
        padding: 15px 0; } }
  .on-page-notification.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .on-page-notification.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.success:has(.content-container):before {
      color: #12811f; }
    .on-page-notification.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .on-page-notification.success h1, .on-page-notification.success h2, .on-page-notification.success h3, .on-page-notification.success h4, .on-page-notification.success h5, .on-page-notification.success h6, .on-page-notification.success p, .on-page-notification.success a {
      color: #12811f; }
  .on-page-notification.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .on-page-notification.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.warning:has(.content-container):before {
      color: #ff5e05; }
    .on-page-notification.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .on-page-notification.warning h1, .on-page-notification.warning h2, .on-page-notification.warning h3, .on-page-notification.warning h4, .on-page-notification.warning h5, .on-page-notification.warning h6, .on-page-notification.warning p, .on-page-notification.warning a {
      color: #ff5e05; }
  .on-page-notification.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .on-page-notification.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.alert:has(.content-container):before {
      color: #b20c0c; }
    .on-page-notification.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .on-page-notification.alert h1, .on-page-notification.alert h2, .on-page-notification.alert h3, .on-page-notification.alert h4, .on-page-notification.alert h5, .on-page-notification.alert h6, .on-page-notification.alert p, .on-page-notification.alert a {
      color: #b20c0c; }
  .on-page-notification.disabled p {
    color: #959595;
    font-weight: 600; }
  .on-page-notification.information {
    background-color: #ededed;
    border: 1px solid #000000; }
    .on-page-notification.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .on-page-notification.information:has(.content-container):before {
      color: #000000; }
    .on-page-notification.information p {
      color: #000000;
      font-weight: 600; }
  .on-page-notification.icon-non-returnable {
    --font-family: fontello; }
    .on-page-notification.icon-non-returnable:before {
      content: ""; }
  .on-page-notification .user-friendly-prefix {
    margin-right: 5px; }
  .on-page-notification > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .on-page-notification > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 81.24875em) {
        .on-page-notification > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .on-page-notification .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification .content-container {
        margin: 0; } }
  .on-page-notification p {
    margin: var(--indent-margin, 0);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .on-page-notification p img[style*="float:left"], .on-page-notification p img[style*="float: left"], .on-page-notification p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .on-page-notification p img[style*="float:right"], .on-page-notification p img[style*="float: right"], .on-page-notification p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .on-page-notification p img {
      margin: .2em 0; }
    .on-page-notification p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .on-page-notification p:not(:empty) + table, .on-page-notification p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .on-page-notification table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .on-page-notification table:not([class*=preset]) thead {
      background-color: transparent; }
      .on-page-notification table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .on-page-notification table:not([class*=preset]) thead th {
        font-weight: 700; }
    .on-page-notification table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification table.responsive-table {
          display: table; } }
      .on-page-notification table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .on-page-notification table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .on-page-notification table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .on-page-notification table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .on-page-notification table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification table td {
        padding: 10px; } }
    .on-page-notification table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .on-page-notification table tbody {
      background-color: transparent; }
      .on-page-notification table tbody th {
        background-color: transparent; }
      .on-page-notification table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification table tbody tr {
          display: table-row; } }
    .on-page-notification table .col-label {
      color: #484848; }
    @media print, screen and (max-width: 81.24875em) {
      .on-page-notification table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .on-page-notification table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .on-page-notification table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .on-page-notification table.comparison-table tbody td:first-child {
      color: #484848;
      font-weight: 700; }
  .on-page-notification blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Khula", "Khula Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .on-page-notification blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .on-page-notification blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .on-page-notification blockquote:has(img) {
      text-align: left; }
    .on-page-notification blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .on-page-notification blockquote {
        padding: 50px 60px; } }
    .on-page-notification blockquote + blockquote {
      margin-top: 15px; }
    .on-page-notification blockquote:before, .on-page-notification blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .on-page-notification blockquote:before {
      top: 0;
      left: 0; }
    .on-page-notification blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .on-page-notification blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .on-page-notification blockquote img {
          text-align: left; } }
  .on-page-notification a[href^="tel:"], .on-page-notification a[href^="mailto:"] {
    font-weight: 700; }
    .on-page-notification a[href^="tel:"]:hover, .on-page-notification a[href^="mailto:"]:hover {
      text-decoration: none; }
    .on-page-notification a[href^="tel:"].show-contact-icon:before, .on-page-notification a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .on-page-notification a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .on-page-notification a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .on-page-notification p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .on-page-notification p a:has([style*="float"]) {
    display: inline; }
  .on-page-notification a {
    text-decoration: underline; }
  .on-page-notification > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 81.24875em) {
      .on-page-notification > p:first-of-type {
        padding-top: 27px; } }

.no-items-found-container {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  .no-items-found-container:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .no-items-found-container {
      gap: 0 15px; } }
  .no-items-found-container:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .no-items-found-container.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .no-items-found-container.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container.preset-2 {
        padding: 15px 65px; } }
  .no-items-found-container.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container.preset-3 {
        padding: 15px 0; } }
  .no-items-found-container.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .no-items-found-container.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.success:has(.content-container):before {
      color: #12811f; }
    .no-items-found-container.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .no-items-found-container.success h1, .no-items-found-container.success h2, .no-items-found-container.success h3, .no-items-found-container.success h4, .no-items-found-container.success h5, .no-items-found-container.success h6, .no-items-found-container.success p, .no-items-found-container.success a {
      color: #12811f; }
  .no-items-found-container.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .no-items-found-container.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.warning:has(.content-container):before {
      color: #ff5e05; }
    .no-items-found-container.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .no-items-found-container.warning h1, .no-items-found-container.warning h2, .no-items-found-container.warning h3, .no-items-found-container.warning h4, .no-items-found-container.warning h5, .no-items-found-container.warning h6, .no-items-found-container.warning p, .no-items-found-container.warning a {
      color: #ff5e05; }
  .no-items-found-container.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .no-items-found-container.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.alert:has(.content-container):before {
      color: #b20c0c; }
    .no-items-found-container.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .no-items-found-container.alert h1, .no-items-found-container.alert h2, .no-items-found-container.alert h3, .no-items-found-container.alert h4, .no-items-found-container.alert h5, .no-items-found-container.alert h6, .no-items-found-container.alert p, .no-items-found-container.alert a {
      color: #b20c0c; }
  .no-items-found-container.disabled p {
    color: #959595;
    font-weight: 600; }
  .no-items-found-container.information {
    background-color: #ededed;
    border: 1px solid #000000; }
    .no-items-found-container.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .no-items-found-container.information:has(.content-container):before {
      color: #000000; }
    .no-items-found-container.information p {
      color: #000000;
      font-weight: 600; }
  .no-items-found-container.icon-non-returnable {
    --font-family: fontello; }
    .no-items-found-container.icon-non-returnable:before {
      content: ""; }
  .no-items-found-container .user-friendly-prefix {
    margin-right: 5px; }
  .no-items-found-container > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .no-items-found-container > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 81.24875em) {
        .no-items-found-container > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .no-items-found-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container .content-container {
        margin: 0; } }
  .no-items-found-container p {
    margin: var(--indent-margin, 0);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .no-items-found-container p img[style*="float:left"], .no-items-found-container p img[style*="float: left"], .no-items-found-container p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .no-items-found-container p img[style*="float:right"], .no-items-found-container p img[style*="float: right"], .no-items-found-container p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .no-items-found-container p img {
      margin: .2em 0; }
    .no-items-found-container p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .no-items-found-container p:not(:empty) + table, .no-items-found-container p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .no-items-found-container table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .no-items-found-container table:not([class*=preset]) thead {
      background-color: transparent; }
      .no-items-found-container table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .no-items-found-container table:not([class*=preset]) thead th {
        font-weight: 700; }
    .no-items-found-container table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container table.responsive-table {
          display: table; } }
      .no-items-found-container table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .no-items-found-container table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .no-items-found-container table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .no-items-found-container table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .no-items-found-container table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container table td {
        padding: 10px; } }
    .no-items-found-container table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .no-items-found-container table tbody {
      background-color: transparent; }
      .no-items-found-container table tbody th {
        background-color: transparent; }
      .no-items-found-container table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container table tbody tr {
          display: table-row; } }
    .no-items-found-container table .col-label {
      color: #484848; }
    @media print, screen and (max-width: 81.24875em) {
      .no-items-found-container table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .no-items-found-container table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .no-items-found-container table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .no-items-found-container table.comparison-table tbody td:first-child {
      color: #484848;
      font-weight: 700; }
  .no-items-found-container blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Khula", "Khula Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .no-items-found-container blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .no-items-found-container blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .no-items-found-container blockquote:has(img) {
      text-align: left; }
    .no-items-found-container blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .no-items-found-container blockquote {
        padding: 50px 60px; } }
    .no-items-found-container blockquote + blockquote {
      margin-top: 15px; }
    .no-items-found-container blockquote:before, .no-items-found-container blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .no-items-found-container blockquote:before {
      top: 0;
      left: 0; }
    .no-items-found-container blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .no-items-found-container blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .no-items-found-container blockquote img {
          text-align: left; } }
  .no-items-found-container a[href^="tel:"], .no-items-found-container a[href^="mailto:"] {
    font-weight: 700; }
    .no-items-found-container a[href^="tel:"]:hover, .no-items-found-container a[href^="mailto:"]:hover {
      text-decoration: none; }
    .no-items-found-container a[href^="tel:"].show-contact-icon:before, .no-items-found-container a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .no-items-found-container a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .no-items-found-container a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .no-items-found-container p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .no-items-found-container p a:has([style*="float"]) {
    display: inline; }
  .no-items-found-container a {
    text-decoration: underline; }
  .no-items-found-container > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 81.24875em) {
      .no-items-found-container > p:first-of-type {
        padding-top: 27px; } }

.internal-error-container {
  --font-family: Font Awesome Solid;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10px;
  margin: 10px 0;
  padding: 35px 10px;
  font-size: 0.9375rem;
  border-radius: 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  background-color: #fde1e1;
  border: 1px solid #b20c0c; }
  .internal-error-container:has(.content-container) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container:has(.content-container) {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  @media screen and (min-width: 81.25em) {
    .internal-error-container {
      gap: 0 15px; } }
  .internal-error-container:has(.content-container):before {
    font-family: var(--font-family);
    font-size: 22px;
    line-height: 1; }
  .internal-error-container.preset-1 {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center; }
  .internal-error-container.preset-2 {
    padding-top: 15px;
    padding-bottom: 15px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container.preset-2 {
        padding: 15px 65px; } }
  .internal-error-container.preset-3 {
    padding: 15px 0; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container.preset-3 {
        padding: 15px 0; } }
  .internal-error-container.success {
    background-color: #dffbe2;
    border: 1px solid #12811f;
    border-radius: 0; }
    .internal-error-container.success:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.success:has(.content-container):before {
      color: #12811f; }
    .internal-error-container.success > p:first-of-type::before {
      content: "";
      color: #12811f; }
    .internal-error-container.success h1, .internal-error-container.success h2, .internal-error-container.success h3, .internal-error-container.success h4, .internal-error-container.success h5, .internal-error-container.success h6, .internal-error-container.success p, .internal-error-container.success a {
      color: #12811f; }
  .internal-error-container.warning {
    background-color: #ffefe6;
    border: 1px solid #ff5e05;
    border-radius: 0; }
    .internal-error-container.warning:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.warning:has(.content-container):before {
      color: #ff5e05; }
    .internal-error-container.warning > p:first-of-type::before {
      content: "";
      color: #ff5e05; }
    .internal-error-container.warning h1, .internal-error-container.warning h2, .internal-error-container.warning h3, .internal-error-container.warning h4, .internal-error-container.warning h5, .internal-error-container.warning h6, .internal-error-container.warning p, .internal-error-container.warning a {
      color: #ff5e05; }
  .internal-error-container.alert {
    background-color: #fde1e1;
    border: 1px solid #b20c0c;
    border-radius: 0; }
    .internal-error-container.alert:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.alert:has(.content-container):before {
      color: #b20c0c; }
    .internal-error-container.alert > p:first-of-type:before {
      content: "";
      color: #b20c0c; }
    .internal-error-container.alert h1, .internal-error-container.alert h2, .internal-error-container.alert h3, .internal-error-container.alert h4, .internal-error-container.alert h5, .internal-error-container.alert h6, .internal-error-container.alert p, .internal-error-container.alert a {
      color: #b20c0c; }
  .internal-error-container.disabled p {
    color: #959595;
    font-weight: 600; }
  .internal-error-container.information {
    background-color: #ededed;
    border: 1px solid #000000; }
    .internal-error-container.information:not(.icon-configured):has(.content-container):before {
      content: ""; }
    .internal-error-container.information:has(.content-container):before {
      color: #000000; }
    .internal-error-container.information p {
      color: #000000;
      font-weight: 600; }
  .internal-error-container.icon-non-returnable {
    --font-family: fontello; }
    .internal-error-container.icon-non-returnable:before {
      content: ""; }
  .internal-error-container .user-friendly-prefix {
    margin-right: 5px; }
  .internal-error-container > p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    margin: 0; }
    .internal-error-container > p:first-of-type:before {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: auto 15px auto 0;
      font-family: var(--font-family);
      font-size: 22px; }
      @media print, screen and (max-width: 81.24875em) {
        .internal-error-container > p:first-of-type:before {
          position: absolute;
          top: 0;
          margin: auto; } }
  .internal-error-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: auto 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container .content-container {
        margin: 0; } }
  .internal-error-container p {
    margin: var(--indent-margin, 0);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: normal;
    color: #000000; }
    .internal-error-container p img[style*="float:left"], .internal-error-container p img[style*="float: left"], .internal-error-container p[style*="float:left"] > img {
      margin: .2em .2em .2em 0; }
    .internal-error-container p img[style*="float:right"], .internal-error-container p img[style*="float: right"], .internal-error-container p[style*="float:right"] > img {
      margin: .2em 0 .2em .2em; }
    .internal-error-container p img {
      margin: .2em 0; }
    .internal-error-container p + p {
      margin-top: 0;
      margin-bottom: 0; }
  .internal-error-container p:not(:empty) + table, .internal-error-container p:not(:empty) + .comparison-table-container {
    margin: 15px 0; }
  .internal-error-container table {
    --thead-border-colour: $thead-border-colour;
    max-width: 100%;
    margin-bottom: 0; }
    .internal-error-container table:not([class*=preset]) thead {
      background-color: transparent; }
      .internal-error-container table:not([class*=preset]) thead tr {
        border-bottom: 1px solid var(--thead-border-colour); }
      .internal-error-container table:not([class*=preset]) thead th {
        font-weight: 700; }
    .internal-error-container table.responsive-table {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container table.responsive-table {
          display: table; } }
      .internal-error-container table.responsive-table:not([class*=preset]) thead {
        display: none; }
        @media screen and (min-width: 81.25em) {
          .internal-error-container table.responsive-table:not([class*=preset]) thead {
            display: table-row-group; } }
      .internal-error-container table.responsive-table tbody:not(.comparison-summary) {
        display: block; }
        @media screen and (min-width: 81.25em) {
          .internal-error-container table.responsive-table tbody:not(.comparison-summary) {
            display: table-row-group; } }
    .internal-error-container table th {
      padding: 10px 10px 10px; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container table td {
        padding: 10px; } }
    .internal-error-container table thead[class*="preset"] + tbody:before {
      content: '';
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container table thead[class*="preset"] + tbody:before {
          margin: 10px; } }
    .internal-error-container table tbody {
      background-color: transparent; }
      .internal-error-container table tbody th {
        background-color: transparent; }
      .internal-error-container table tbody tr:not(:last-child) th {
        border-bottom: 1px solid transparent; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container table tbody tr {
          display: table-row; } }
    .internal-error-container table .col-label {
      color: #484848; }
    @media print, screen and (max-width: 81.24875em) {
      .internal-error-container table.responsive-table tbody tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    @media print, screen and (max-width: 81.24875em) {
      .internal-error-container table.responsive-table tbody tr:not(:last-child) {
        margin-bottom: 10px;
        padding-bottom: 10px;
        border-bottom: 1px solid #eeeeee; } }
    .internal-error-container table.no-wrap {
      display: block;
      white-space: nowrap;
      overflow-x: auto; }
    .internal-error-container table.comparison-table tbody td:first-child {
      color: #484848;
      font-weight: 700; }
  .internal-error-container blockquote {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 15px;
    margin: 0 auto 40px;
    padding: 50px 30px;
    border: 1px solid transparent;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    text-align: center;
    font-family: "Khula", "Khula Fallback", "Arial";
    font-size: 0.9375rem;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container blockquote {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 25px; } }
    .internal-error-container blockquote:hover {
      -webkit-box-shadow: none;
              box-shadow: none;
      border-color: #eeeeee;
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
      .internal-error-container blockquote:hover:before {
        color: #dadada;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .internal-error-container blockquote:has(img) {
      text-align: left; }
    .internal-error-container blockquote:last-of-type {
      margin-bottom: 40px; }
    @media screen and (min-width: 81.25em) {
      .internal-error-container blockquote {
        padding: 50px 60px; } }
    .internal-error-container blockquote + blockquote {
      margin-top: 15px; }
    .internal-error-container blockquote:before, .internal-error-container blockquote:after {
      content: "";
      position: absolute;
      display: inline-block;
      padding: 10px;
      font-size: 40px;
      color: #eeeeee;
      font-family: "Font Awesome Solid";
      line-height: .8;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .internal-error-container blockquote:before {
      top: 0;
      left: 0; }
    .internal-error-container blockquote:after {
      right: 0;
      bottom: 0;
      -webkit-transform: rotate(180deg);
              transform: rotate(180deg); }
    .internal-error-container blockquote img {
      float: left; }
      @media screen and (min-width: 81.25em) {
        .internal-error-container blockquote img {
          text-align: left; } }
  .internal-error-container a[href^="tel:"], .internal-error-container a[href^="mailto:"] {
    font-weight: 700; }
    .internal-error-container a[href^="tel:"]:hover, .internal-error-container a[href^="mailto:"]:hover {
      text-decoration: none; }
    .internal-error-container a[href^="tel:"].show-contact-icon:before, .internal-error-container a[href^="mailto:"].show-contact-icon:before {
      display: inline-block;
      margin-right: 5px;
      font-family: "Font Awesome Solid"; }
  .internal-error-container a[href^="mailto:"].show-contact-icon:before {
    content: ""; }
  .internal-error-container a[href^="tel:"].show-contact-icon:before {
    content: "";
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .internal-error-container p a:not([class*="-button"]) {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0 5px;
    font-weight: 700; }
  .internal-error-container p a:has([style*="float"]) {
    display: inline; }
  .internal-error-container a {
    text-decoration: underline; }
  .internal-error-container > p:first-of-type {
    position: relative; }
    @media print, screen and (max-width: 81.24875em) {
      .internal-error-container > p:first-of-type {
        padding-top: 27px; } }
  .internal-error-container p {
    color: #b20c0c; }
    .internal-error-container p:before {
      content: "";
      color: #b20c0c; }

#noJsBasketNotification {
  position: absolute;
  top: 100%;
  padding: 10px 30px;
  background-color: #ffffff;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  z-index: 1; }
  #noJsBasketNotification p {
    margin: 0 0 10px;
    color: #ff0101;
    font-weight: 700; }
    #noJsBasketNotification p:last-of-type {
      margin: 0 0 30px; }
  #noJsBasketNotification a {
    width: auto;
    float: right;
    padding: 15px 20px;
    font-size: 0.9375rem; }

.notification-container.compatibility {
  width: 100%;
  max-height: 500px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px 0;
  background-color: rgba(255, 1, 1, 0.9);
  color: #ffffff;
  z-index: 1;
  border-color: #ffffff;
  border-style: solid;
  border-width: 1px 0 0;
  -webkit-transition: background-color 0.8s;
  transition: background-color 0.8s; }
  .notification-container.compatibility:hover {
    background-color: #ff0101;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
  .notification-container.compatibility h3 {
    margin: 0;
    font-size: 1.5rem;
    color: #ffffff; }
  .notification-container.compatibility p {
    margin: 0;
    font-size: 0.9375rem;
    font-weight: 600; }
  .notification-container.compatibility a {
    color: #ffffff;
    text-decoration: underline; }
    .notification-container.compatibility a:hover {
      color: #000000;
      -webkit-transition: color box-shadow 0.8s, border-color 0.8s;
      transition: color box-shadow 0.8s, border-color 0.8s; }

.notifications-container {
  width: 100%;
  position: fixed;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 2000; }

.notification-container {
  max-height: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
  z-index: 9999999999;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .notification-container.active {
    max-height: 500px;
    padding: 7.5px 15px;
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
    -webkit-transition-delay: 450ms;
            transition-delay: 450ms;
    -webkit-transition: max-height 3s;
    transition: max-height 3s; }
    @media screen and (min-width: 81.25em) {
      .notification-container.active {
        padding: 15px 30px; } }
  .notification-container .notification {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .notification-container .notification-icon {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin: auto 12px auto 0;
    padding: 5px;
    background-color: #ffffff;
    border-radius: 0; }
    @media screen and (min-width: 81.25em) {
      .notification-container .notification-icon {
        margin-right: auto 10px auto 0; } }
    .notification-container .notification-icon img {
      width: 40px; }
  .notification-container .content-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-preferred-size: 180px;
        flex-basis: 180px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .notification-container .content-container {
        width: 70%; } }
    .notification-container .content-container p {
      padding: 0;
      margin: 0; }
  .notification-container .button-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 17px; }
    @media screen and (min-width: 81.25em) {
      .notification-container .button-container {
        width: auto;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        margin: auto; } }
    .notification-container .button-container [class$="-button"] {
      margin: 0; }
      .notification-container .button-container [class$="-button"]:not(:first-child) {
        margin-top: 12px; }
        @media screen and (min-width: 81.25em) {
          .notification-container .button-container [class$="-button"]:not(:first-child) {
            margin-top: 0;
            margin-left: 10px; } }
  .notification-container .read-more {
    width: 100%;
    max-height: 0;
    overflow: hidden;
    -webkit-transition: padding-top 2s, max-height 0.8s;
    transition: padding-top 2s, max-height 0.8s; }
    .notification-container .read-more.active {
      max-height: 300px;
      padding-top: 25px;
      -webkit-transition: padding-top 0.6s, max-height 0.6s;
      transition: padding-top 0.6s, max-height 0.6s; }
      .notification-container .read-more.active .read-more-content {
        border-width: 1px;
        border-color: #000000;
        -webkit-transition: border-color 0.6s;
        transition: border-color 0.6s; }
    .notification-container .read-more .read-more-content {
      overflow-y: scroll;
      padding: 10px;
      background-color: #ffffff;
      border-width: 0;
      border-style: solid;
      border-color: transparent;
      border-radius: 0;
      -webkit-transition: border-color 0.8s;
      transition: border-color 0.8s; }
      .notification-container .read-more .read-more-content h1 {
        margin: 25px 0 20px;
        font-size: 2.1875rem;
        font-weight: 600;
        font-style: normal;
        color: #01416f;
        line-height: 1.6;
        background-color: transparent; }
        .notification-container .read-more .read-more-content h1:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h1:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h2 {
        margin: 25px 0 20px;
        font-size: 2rem;
        font-weight: 600;
        font-style: normal;
        color: #01416f;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h2:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h2:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h3 {
        margin: 25px 0 10px;
        padding: 15px 0;
        font-size: 1.5625rem;
        font-weight: 600;
        font-style: normal;
        color: #67156a;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h3:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h3:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h4 {
        margin: 25px 0 10px;
        padding: 0 0 10px;
        font-size: 1.375rem;
        font-weight: 400;
        font-style: normal;
        color: #01416f;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h4:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h4:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h5 {
        margin: 15px 0 10px;
        font-size: 1.125rem;
        font-weight: 400;
        font-style: normal;
        color: #000000;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h5:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h5:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content h6 {
        margin: 15px 0;
        font-size: 0.9375rem;
        font-weight: 400;
        font-style: normal;
        color: #000000;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content h6:first-child {
          margin-top: 0; }
        .notification-container .read-more .read-more-content h6:only-child {
          margin: 0; }
      .notification-container .read-more .read-more-content p {
        margin: var(--indent-margin, 0);
        font-size: 0.9375rem;
        font-weight: 400;
        line-height: 1.6;
        color: #000000; }
        .notification-container .read-more .read-more-content p img[style*="float:left"], .notification-container .read-more .read-more-content p img[style*="float: left"], .notification-container .read-more .read-more-content p[style*="float:left"] > img {
          margin: .2em .2em .2em 0; }
        .notification-container .read-more .read-more-content p img[style*="float:right"], .notification-container .read-more .read-more-content p img[style*="float: right"], .notification-container .read-more .read-more-content p[style*="float:right"] > img {
          margin: .2em 0 .2em .2em; }
        .notification-container .read-more .read-more-content p img {
          margin: .2em 0; }
        .notification-container .read-more .read-more-content p + p {
          margin-top: 0;
          margin-bottom: 0; }
      .notification-container .read-more .read-more-content ul, .notification-container .read-more .read-more-content ol {
        text-align: left; }
      .notification-container .read-more .read-more-content ul {
        margin: 10px;
        padding: 0;
        line-height: 1.6;
        list-style: none;
        line-height: 25px; }
        .notification-container .read-more .read-more-content ul ul {
          padding-top: 0;
          padding-bottom: 0;
          padding-left: 25px; }
        .notification-container .read-more .read-more-content ul li {
          position: relative;
          padding: 0 0 0 15px; }
          .notification-container .read-more .read-more-content ul li:before {
            content: '';
            width: 5px;
            height: 5px;
            position: absolute;
            top: 10px;
            left: 0;
            margin: auto;
            display: block;
            background-color: #01416f;
            border-radius: 5px; }
      .notification-container .read-more .read-more-content ol {
        margin: 10px;
        padding: 0 25px;
        line-height: 1.6; }
        .notification-container .read-more .read-more-content ol ol {
          margin: 0;
          padding-top: 0;
          padding-bottom: 0;
          list-style-type: lower-alpha; }
          .notification-container .read-more .read-more-content ol ol ol {
            list-style-type: lower-roman; }
            .notification-container .read-more .read-more-content ol ol ol ol {
              list-style-type: lower-alpha; }
              .notification-container .read-more .read-more-content ol ol ol ol ol {
                list-style-type: lower-roman; }
      .notification-container .read-more .read-more-content li {
        color: #000000;
        font-size: 0.9375rem;
        font-weight: 400;
        line-height: 1.6; }
      .notification-container .read-more .read-more-content ul + h1, .notification-container .read-more .read-more-content ol + h1 {
        margin-top: 20px; }
      .notification-container .read-more .read-more-content ul + h2, .notification-container .read-more .read-more-content ol + h2 {
        margin-top: 20px; }
      .notification-container .read-more .read-more-content ul + h3, .notification-container .read-more .read-more-content ol + h3 {
        margin-top: 10px; }
      .notification-container .read-more .read-more-content ul + h4, .notification-container .read-more .read-more-content ol + h4 {
        margin-top: 10px; }
      .notification-container .read-more .read-more-content ul + h5, .notification-container .read-more .read-more-content ol + h5 {
        margin-top: 10px; }
      .notification-container .read-more .read-more-content ul + h6, .notification-container .read-more .read-more-content ol + h6 {
        margin-top: 15px; }
      .notification-container .read-more .read-more-content dl {
        text-align: left; }
      .notification-container .read-more .read-more-content p:not(:empty) + table, .notification-container .read-more .read-more-content p:not(:empty) + .comparison-table-container {
        margin: 15px 0; }
      .notification-container .read-more .read-more-content table {
        --thead-border-colour: $thead-border-colour;
        max-width: 100%;
        margin-bottom: 0; }
        .notification-container .read-more .read-more-content table:not([class*=preset]) thead {
          background-color: transparent; }
          .notification-container .read-more .read-more-content table:not([class*=preset]) thead tr {
            border-bottom: 1px solid var(--thead-border-colour); }
          .notification-container .read-more .read-more-content table:not([class*=preset]) thead th {
            font-weight: 700; }
        .notification-container .read-more .read-more-content table.responsive-table {
          display: block; }
          @media screen and (min-width: 81.25em) {
            .notification-container .read-more .read-more-content table.responsive-table {
              display: table; } }
          .notification-container .read-more .read-more-content table.responsive-table:not([class*=preset]) thead {
            display: none; }
            @media screen and (min-width: 81.25em) {
              .notification-container .read-more .read-more-content table.responsive-table:not([class*=preset]) thead {
                display: table-row-group; } }
          .notification-container .read-more .read-more-content table.responsive-table tbody:not(.comparison-summary) {
            display: block; }
            @media screen and (min-width: 81.25em) {
              .notification-container .read-more .read-more-content table.responsive-table tbody:not(.comparison-summary) {
                display: table-row-group; } }
        .notification-container .read-more .read-more-content table th {
          padding: 10px 10px 10px; }
        @media screen and (min-width: 81.25em) {
          .notification-container .read-more .read-more-content table td {
            padding: 10px; } }
        .notification-container .read-more .read-more-content table thead[class*="preset"] + tbody:before {
          content: '';
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; }
          @media screen and (min-width: 81.25em) {
            .notification-container .read-more .read-more-content table thead[class*="preset"] + tbody:before {
              margin: 10px; } }
        .notification-container .read-more .read-more-content table tbody {
          background-color: transparent; }
          .notification-container .read-more .read-more-content table tbody th {
            background-color: transparent; }
          .notification-container .read-more .read-more-content table tbody tr:not(:last-child) th {
            border-bottom: 1px solid transparent; }
          @media screen and (min-width: 81.25em) {
            .notification-container .read-more .read-more-content table tbody tr {
              display: table-row; } }
        .notification-container .read-more .read-more-content table .col-label {
          color: #484848; }
        @media print, screen and (max-width: 81.24875em) {
          .notification-container .read-more .read-more-content table.responsive-table tbody tr {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-orient: vertical;
            -webkit-box-direction: normal;
                -ms-flex-direction: column;
                    flex-direction: column; } }
        @media print, screen and (max-width: 81.24875em) {
          .notification-container .read-more .read-more-content table.responsive-table tbody tr:not(:last-child) {
            margin-bottom: 10px;
            padding-bottom: 10px;
            border-bottom: 1px solid #eeeeee; } }
        .notification-container .read-more .read-more-content table.no-wrap {
          display: block;
          white-space: nowrap;
          overflow-x: auto; }
        .notification-container .read-more .read-more-content table.comparison-table tbody td:first-child {
          color: #484848;
          font-weight: 700; }
  .notification-container .read-more-trigger {
    width: 100%;
    display: block;
    margin-bottom: 12px;
    color: #000000;
    font-weight: 600;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .notification-container .read-more-trigger {
        margin-bottom: 0; } }
    .notification-container .read-more-trigger:hover {
      color: #67156a;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .notification-container .read-more-trigger:active, .notification-container .read-more-trigger.active {
      color: #01416f;
      text-decoration: underline; }
  .notification-container.pwa {
    background-color: #2f6589; }
  .notification-container.cookie {
    background-color: rgba(174, 174, 174, 0.9); }

/*

---- Image Overlays ---- 

Image overlays for essentially highlighted items:
- Special Offers
- Featured Items
- Best Sellers
- Previously Purchased

These normally are the size of the product image whether its on a listing or product page with a transparent background.

We allow for different images to be displayed if a group is marked as a highlighted item or whether its an individual product.

*/
#special-offers .overlay.stock.specialOffer {
  display: none; }

#featured-items .overlay.stock.featured {
  display: none; }

#best-sellers .overlay.stock.bestSeller {
  display: none; }

.content-container:not(.compact) .overlay {
  background-position: center; }

#mainImageContainer .overlay {
  background-position: center; }

.image {
  position: relative;
  display: grid;
  place-content: center;
  aspect-ratio: var(--media-aspect-ratio, auto);
  overflow: hidden; }
  .image:has(img[src$=".png"]) {
    background-color: #ffffff; }
  .image:hover .overlay {
    opacity: 0;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .image img {
    max-width: 100%;
    max-height: 100%;
    -o-object-fit: contain;
       object-fit: contain; }
    .image img[src$=".svg"], .image img[src$=".SVG"] {
      width: 100%; }
  .image a {
    width: 100%;
    text-align: center; }
  .image .overlay {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .image .overlay.group.specialOffer {
      background-image: url("/content/images/overlays/group/sash-special-ebg.png"); }
    .image .overlay.group.featured {
      background-image: url("/content/images/overlays/group/sash-featured-ebg.png"); }
    .image .overlay.group.bestSeller {
      background-image: url("/content/images/overlays/group/sash-bestseller-ebg.png"); }
    .image .overlay.stock.specialOffer {
      background-image: url("/content/images/overlays/product/sash-special-ebg.png"); }
    .image .overlay.stock.featured {
      background-image: url("/content/images/overlays/product/sash-featured-ebg.png"); }
    .image .overlay.stock.bestSeller {
      background-image: url("/content/images/overlays/product/sash-bestseller-ebg.png"); }
    .image .overlay.stock.previously-purchased {
      background-image: url("/content/images/overlays/product/sash-previously-purchased.png"); }
    .image .overlay.stock.contract-item {
      background-image: url("/content/images/overlays/product/sash-contract-item.png"); }

[data-countdown-time] {
  max-height: 0;
  overflow: hidden; }

.countdown-container p {
  display: inline-block;
  margin: 0;
  padding: 0; }
  .countdown-container p:before {
    content: "";
    display: inline-block;
    padding: 0 7px 0 0;
    font-family: "Font Awesome Solid";
    font-size: 16px;
    color: #01416f; }

.countdown-container .countdown-display, .countdown-container .display-label {
  margin: 0 5px 0;
  font-weight: 700;
  color: #01416f;
  -webkit-transition: color 0.6s;
  transition: color 0.6s; }
  .countdown-container .countdown-display + .display-label, .countdown-container .display-label + .display-label {
    margin-left: 0; }

.countdown-container[countdown-status=alert] .countdown-display, .countdown-container[countdown-status=alert] .display-label {
  color: #b20c0c;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.countdown-container[countdown-status=warning] .countdown-display, .countdown-container[countdown-status=warning] .display-label {
  color: #67156a;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }

.countdown-container.countdown-inactive {
  max-height: 0;
  -webkit-transition: max-height 0.6s;
  transition: max-height 0.6s; }

.countdown-container.countdown-active {
  max-height: 1000px;
  -webkit-transition: max-height 5s;
  transition: max-height 5s; }

/*

----- PWA ( Progressive Web Application ) ----- 
- Installation prompt.

*/
/*
----- Payment Methods -----
Handles the following: 
- How payment methods such of opayo iframe looks in the checkout.
*/
.payment-container {
  margin: 0 0 20px; }
  .payment-container:not(:has(> .payment-method)) {
    max-width: 100%;
    width: 100%;
    margin: 0 auto 20px;
    padding: 20px;
    border: 1px solid var(--neutral-colour-lightness-8);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    .payment-container:not(:has(> .payment-method)):hover {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-color: #6d6d6d;
      -webkit-transition: 0.6s, -webkit-box-shadow 0.6s;
      transition: 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, 0.6s;
      transition: box-shadow 0.6s, 0.6s, -webkit-box-shadow 0.6s; }
    @media screen and (min-width: 81.25em) {
      .payment-container:not(:has(> .payment-method)) {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 0 30px; } }
    .payment-container:not(:has(> .payment-method)) iframe {
      width: 100%;
      border: 0; }
    .payment-container:not(:has(> .payment-method)):has(.container-resized) {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; }
  .payment-container .payment-method {
    max-width: 500px;
    min-height: 504px;
    width: 100%;
    margin: auto;
    border: 2px solid #dadada;
    overflow-y: auto;
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
    .payment-container .payment-method:hover {
      border-color: #eeeeee;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s;
      transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .payment-container .payment-method iframe {
      width: 100%;
      height: 500px;
      display: block; }
      .payment-container .payment-method iframe#opayo-iframe {
        height: 27rem;
        min-height: 500px; }
  .payment-container .pi-card-payment {
    max-width: 100%; }
    .payment-container .pi-card-payment.small {
      width: 250px;
      height: 400px; }
    .payment-container .pi-card-payment.medium {
      width: 390px;
      height: 400px; }
    .payment-container .pi-card-payment.large {
      width: 500px;
      height: 600px; }
    .payment-container .pi-card-payment.extra-large {
      width: 600px;
      height: 400px; }
    .payment-container .pi-card-payment iframe {
      width: 100%;
      height: 100%; }

form + .payment-method-selector {
  margin-top: 20px; }

.payment-method-selector {
  position: relative;
  margin-bottom: 50px; }
  .payment-method-selector .payment-method-container:only-child .accordion-title:after {
    display: none; }
  .payment-method-selector .payment-method-container.card-payment .title-icon {
    width: 30px;
    background-image: url("/template/content/development/images/icons/card-payment.svg"); }
  .payment-method-selector .payment-method-container.paypal .title-icon {
    width: 100px;
    background-image: url("/template/content/development/images/icons/paypal.svg"); }
  .payment-method-selector .payment-method-container.google-pay .accordion-title {
    padding: 0 20px 0 0; }
  .payment-method-selector .payment-method-container.google-pay .title-icon {
    width: 115px;
    height: 72px;
    background-image: url("/template/content/development/images/icons/google-pay.svg"); }
  .payment-method-selector .payment-method-container.apple-pay .title-icon {
    width: 60px;
    background-image: url("/template/content/development/images/icons/apply-pay.svg"); }
  .payment-method-selector .payment-method-container .accordion-title {
    gap: 10px;
    padding: 20px 20px; }
  .payment-method-selector .payment-method-container.card-payment.opayo {
    --container-font-family: sans-serif;
    --container-font-size: 1rem;
    --container-line-height: 40px; }
  .payment-method-selector .payment-method-container.card-payment .page-buttons-container {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .payment-method-selector .payment-method-container.card-payment .button-container {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 20px;
    margin: 0 auto; }
    @media screen and (min-width: 81.25em) {
      .payment-method-selector .payment-method-container.card-payment .button-container {
        margin: 0; } }
  .payment-method-selector .payment-method-container.card-payment .control.checkbox {
    max-width: 600px;
    width: 100%;
    border-top: 1px solid #ddd; }
    .payment-method-selector .payment-method-container.card-payment .control.checkbox.checkbox .checkbox {
      margin-left: auto; }
    .payment-method-selector .payment-method-container.card-payment .control.checkbox .label {
      font-family: var(--container-font-family);
      font-size: var(--container-font-size);
      line-height: var(--container-line-height); }
  .payment-method-selector .payment-method-container .details-container {
    width: 100%;
    padding: 0 20px; }
    .payment-method-selector .payment-method-container .details-container + .payment-container {
      margin-top: 20px; }
    @media screen and (min-width: 81.25em) {
      .payment-method-selector .payment-method-container .details-container {
        width: calc(440px + 20px); } }
  .payment-method-selector .payment-method-container iframe {
    border: 0; }
  .payment-method-selector .paypal-button {
    max-width: 340px; }

.card-frame-container {
  max-width: 100%;
  width: 100%; }

/**

---- Social Media Icons ---- 

Where these get used:
- On the product page to share a sku on either of the following:
    - Facebook
    - Twitter
    - LinkedIn 
    - Email
- In the footer to take the user to the organisation's social media pages
- There are two colour modes:
    - site-specific: matches the customer's site branding.
    - social-branding: follows the brand guidelines of each social platform.

**/
.social-icons-heading {
  width: 100%;
  display: block;
  color: #01416f; }

.social-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .social-icons.product, .social-icons.module {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px;
    margin: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .social-icons.product, .social-icons.module {
        float: right; } }
  .social-icons.review {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 8px; }
  .social-icons.footer {
    margin: 0 0 20px;
    padding: 0 0 15px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    @media screen and (min-width: 81.25em) {
      .social-icons.footer {
        margin: 0 0 20px;
        padding: 0 0 30px; } }
    .social-icons.footer .social-icons-heading h3 {
      margin: 0 0 30px;
      color: #ffffff;
      font-size: 1.0625rem;
      font-weight: 700;
      text-transform: none;
      line-height: 1; }
      @media screen and (min-width: 81.25em) {
        .social-icons.footer .social-icons-heading h3 {
          margin: 0 0 0;
          text-align: right; } }
    .social-icons.footer a {
      background-color: transparent; }
      .social-icons.footer a:before {
        color: #ffffff; }
      .social-icons.footer a:hover {
        background-color: transparent; }
        .social-icons.footer a:hover:before {
          color: #00adef; }
      .social-icons.footer a:active {
        background-color: transparent; }
        .social-icons.footer a:active:before {
          color: #2f6589; }
    .social-icons.footer a {
      width: 55px;
      height: 55px;
      border-radius: 0;
      border-width: 0; }
      .social-icons.footer a:before {
        font-size: 38px; }
    .social-icons.footer .icons-container {
      width: 100%;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  .social-icons a {
    width: 35px;
    height: 35px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-decoration: none;
    background-color: #ffffff;
    border-width: 2px;
    border-style: solid;
    border-color: #ffffff;
    border-radius: 25px;
    -webkit-transition: border-color 0.8s , opacity 0.8s;
    transition: border-color 0.8s , opacity 0.8s; }
    .social-icons a:before {
      font-size: 18px;
      font-family: "Font Awesome Brands";
      color: #000000;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .social-icons a:hover {
      background-color: #67156a;
      border-color: #67156a;
      opacity: 1;
      -webkit-transition: background-color 0.6s, color 0.6s , opacity 0.6s;
      transition: background-color 0.6s, color 0.6s , opacity 0.6s; }
      .social-icons a:hover:before {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .social-icons a:active {
      background-color: #01416f;
      border-color: #01416f; }
      .social-icons a:active:before {
        color: #ffffff; }
    .social-icons a.facebook:before {
      content: ""; }
    .social-icons a.twitter:before {
      content: ""; }
    .social-icons a.linkedIn:before {
      content: ""; }
    .social-icons a.instagram:before {
      content: "";
      padding: 5px; }
    .social-icons a.youtube:before {
      content: ""; }
    .social-icons a.google-plus:before, .social-icons a.google_plus:before {
      content: ""; }
    .social-icons a.email:before {
      content: "";
      font-family: "Font Awesome Solid"; }
  .social-icons .icons-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 8px; }

.reveal-social-icons-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .reveal-social-icons-container .social-icons {
    max-width: 0;
    height: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow: hidden;
    -webkit-transition: max-width 0.8s;
    transition: max-width 0.8s; }
    .reveal-social-icons-container .social-icons.reveal-next-to-toggle.active {
      max-width: 300px;
      height: auto;
      -webkit-transition: max-width 0.6s;
      transition: max-width 0.6s; }
      .reveal-social-icons-container .social-icons.reveal-next-to-toggle.active + .social-icons-share-toggle {
        margin-left: 10px; }
    .reveal-social-icons-container .social-icons.reveal-over-toggle {
      position: absolute;
      top: 0;
      left: 0;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 8px;
      background-color: #ffffff; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle.active {
        max-width: 300px;
        height: auto;
        -webkit-transition: max-width 0.6s;
        transition: max-width 0.6s;
        padding: 8px;
        border: 1px solid #01416f;
        z-index: 1000; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle.active + .social-icons-share-toggle {
          margin-left: 0; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button-container {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding-left: 10px; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button-container:before {
          content: '';
          width: 1px;
          height: 80%;
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          margin: auto;
          background: #dadada; }
      .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:before {
          content: "";
          font-family: "Font Awesome Solid";
          font-size: 20px;
          color: #000000;
          -webkit-transition: color 0.8s, -webkit-transform 0.6s;
          transition: color 0.8s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.8s;
          transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:hover:before {
          color: #01416f;
          -webkit-transform: rotate(90deg);
                  transform: rotate(90deg);
          -webkit-transition: color 0.6s, -webkit-transform 0.6s;
          transition: color 0.6s, -webkit-transform 0.6s;
          transition: transform 0.6s, color 0.6s;
          transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
        .reveal-social-icons-container .social-icons.reveal-over-toggle .reveal-close-button:active:before {
          color: #67156a;
          -webkit-transition: font-size 1.2s, color 0.6s;
          transition: font-size 1.2s, color 0.6s; }

.social-icons-share-toggle .share-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 10px;
  font-size: 0.875rem;
  color: #959595;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .social-icons-share-toggle .share-button:after {
    content: "";
    display: inline-block;
    font-family: "Font Awesome Solid";
    color: #01416f;
    font-size: 12px;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .social-icons-share-toggle .share-button:hover, .social-icons-share-toggle .share-button:hover:after {
    color: #67156a;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .social-icons-share-toggle .share-button:active, .social-icons-share-toggle .share-button:active:after {
    color: #01416f; }

/*
----- Equipment selector ( Printer wizard ) ------ 
- The equipment selector drop down selection.
- Equipment selector list which is essentially a list of anchors.
*/
.equipment-selector-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  background: #01416f;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #dadada), color-stop(65%, #484848));
  background: linear-gradient(0deg, #dadada 5%, #484848 65%); }
  @media screen and (min-width: 81.25em) {
    .equipment-selector-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding: 20px 30px; } }

.equipment-selector-heading {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0 0;
  text-align: center;
  font-size: 1.625rem;
  font-style: italic;
  font-weight: 400;
  color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .equipment-selector-heading {
      padding: 0;
      text-align: left; } }
  .equipment-selector-heading span {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .equipment-selector-heading span {
        width: auto;
        margin-right: 25px; } }

.equipment-selectors {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px 10px 20px; }
  @media screen and (min-width: 81.25em) {
    .equipment-selectors {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding: 0; } }
  .equipment-selectors form {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .equipment-selectors label.control {
    width: 100%;
    margin: 5px 0; }
    @media screen and (min-width: 81.25em) {
      .equipment-selectors label.control {
        max-width: 300px;
        width: auto;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        margin: 0 15px; } }
  .equipment-selectors a {
    max-height: 45px;
    margin: 5px auto; }
    @media screen and (min-width: 81.25em) {
      .equipment-selectors a {
        margin: 0 0 0 auto; } }

.equipment-selector-list {
  margin-top: 20px; }
  @media screen and (min-width: 81.25em) {
    .equipment-selector-list {
      margin-top: 40px; } }
  .equipment-selector-list h2 {
    margin: 0 0 0 0 25px-10px; }
  .equipment-selector-list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none; }
    .equipment-selector-list ul li {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      margin: 0;
      padding: 10px 0; }
      @media print, screen and (min-width: 40em) {
        .equipment-selector-list ul li {
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%; } }
      @media screen and (min-width: 81.25em) {
        .equipment-selector-list ul li {
          -ms-flex-preferred-size: 33%;
              flex-basis: 33%; } }
    .equipment-selector-list ul a:hover {
      text-decoration: underline; }

/*
----- Pick & Mix ------ 
- A selection of multiple items to create a pack.
*/
.pick-n-mix-container {
  margin: 15px 0;
  padding: 0 0 25px;
  background: #01416f;
  background: -webkit-gradient(linear, left bottom, left top, color-stop(5%, #dadada), color-stop(65%, #484848));
  background: linear-gradient(0deg, #dadada 5%, #484848 65%);
  border-radius: 0; }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-container {
      padding: 0 0 50px; } }

.pick-n-mix-header {
  margin-bottom: 20px;
  text-align: center;
  color: #ffffff; }
  .pick-n-mix-header h2 {
    margin: 0 0 25px;
    font-size: 2.1875rem;
    font-weight: 400;
    font-style: italic;
    color: #ffffff; }
    .pick-n-mix-header h2:before {
      background-color: #ffffff; }
  .pick-n-mix-header h3 {
    font-size: 1.625rem;
    color: #ffffff; }
  .pick-n-mix-header h4 {
    padding: 0 10px;
    margin: 0 0 20px;
    font-size: 1.6875rem;
    color: #ffffff; }
    .pick-n-mix-header h4 span {
      color: #67156a; }
  .pick-n-mix-header p {
    padding: 0 10px;
    margin: 0;
    font-size: 1.125rem; }
  .pick-n-mix-header .header-background {
    margin-bottom: 20px;
    padding: 30px 10px;
    background-repeat: no-repeat;
    background-position: center;
    border-bottom: 1px solid #ffffff; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-header .header-background {
        padding: 20px 10px; } }

.pick-n-mix-selector-container {
  padding: 0 10px; }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-selector-container {
      max-width: 850px;
      width: 100%;
      margin: auto; } }
  .pick-n-mix-selector-container .pick-n-mix-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 7.5px 0; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-item {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-selector-container .image-container {
      margin-right: 10px; } }
  .pick-n-mix-selector-container .image-container .image {
    --media-aspect-ratio: 1/1;
    border-radius: 0;
    aspect-ratio: var(--media-aspect-ratio, auto); }
  .pick-n-mix-selector-container .pick-n-mix-item-description {
    width: 100%;
    color: #ffffff;
    font-size: 1.125rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-item-description {
        width: auto;
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1; } }
  .pick-n-mix-selector-container .slider {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 0 20px; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .slider {
        max-width: 240px;
        width: 100%;
        -webkit-box-flex: 1;
            -ms-flex: auto;
                flex: auto;
        margin: 0 40px; } }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-selector-container .input-group .label {
      display: none; } }
  .pick-n-mix-selector-container .pick-n-mix-total-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-bottom: 22.5px;
    color: #ffffff;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-total-row {
        margin-bottom: 45px; } }
    .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container, .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container {
      margin: 17.5px 0; }
      .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .label {
        color: #67156a;
        margin: 0 20px; }
        @media screen and (min-width: 81.25em) {
          .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .label {
            margin: 0 40px; } }
      .pick-n-mix-selector-container .pick-n-mix-total-row .total-selected-container .selected-count {
        width: 50px;
        height: 45px;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0 40px;
        font-size: 0.9375rem;
        font-weight: 800;
        color: #ffffff;
        border-color: #c8c8c8;
        background-color: #67156a; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count-message {
      opacity: 0;
      -webkit-transition: opacity 0.8s;
      transition: opacity 0.8s;
      font-size: 1rem; }
      .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count-message.active {
        opacity: 1;
        -webkit-transition: opacity 0.6s;
        transition: opacity 0.6s; }
    .pick-n-mix-selector-container .pick-n-mix-total-row .remaining-container .remaining-count {
      margin-right: 5px;
      font-size: 1.125rem;
      color: #67156a; }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-selector-container .pick-n-mix-total-row .form-error {
        text-align: right; } }

.pick-n-mix-buttons-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .pick-n-mix-buttons-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .pick-n-mix-buttons-container .add-to-basket-container {
    width: 100%; }
    @media print, screen and (max-width: 81.24875em) {
      .pick-n-mix-buttons-container .add-to-basket-container button[type=submit] {
        margin-rigth: 0;
        margin-left: 0; } }
    @media screen and (min-width: 81.25em) {
      .pick-n-mix-buttons-container .add-to-basket-container {
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content;
        margin-left: auto; } }

input.ui-state-active, .input-number.ui-state-active {
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
  border-color: #e5b701;
  border-width: 2px;
  -webkit-transition: box-shodaw 0.6s;
  transition: box-shodaw 0.6s; }

.cms-content-container + .pick-n-mix-container {
  margin-top: 10px; }
  @media print, screen and (min-width: 40em) {
    .cms-content-container + .pick-n-mix-container {
      margin-top: 10px; } }
  @media screen and (min-width: 81.25em) {
    .cms-content-container + .pick-n-mix-container {
      margin-top: 15px; } }

@media screen and (min-width: 81.25em) {
  #productListItems.list .pick-n-mix-button {
    width: 25%;
    text-align: center; } }

.pick-n-mix-selection {
  margin: 5px 0;
  padding: 0 0 0 20px; }
  .pick-n-mix-selection li {
    font-size: 0.875rem; }

/* 

----- Animations ----- 
TODO: This is the very first dev cycle of just tring to get HTML5 Canvas's exported from adobe animate to work inside of express and to have multiple animations on the page at once, so there is still much work to be done here its more of a proof of concept at this point.
- Animated HTML5 Canvas's
- Interactive Animations.
*/
canvas {
  max-width: 100%; }

.client-search-no-results {
  display: none; }
  .client-search-no-results.active {
    display: block; }
  .client-search-no-results h3 {
    margin-bottom: 10px; }

/*
----- Top bar -----
This has had to be written due to foundation's top-bar currently doesn't support centered items, you only get the option top-bar-left & top-bar-right, the design calls for the currency selector to be in the middle.
*/
.top-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .top-bar {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .top-bar.upper {
    max-width: 1300px;
    margin: auto; }
  .top-bar .top-bar-left, .top-bar .top-bar-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .top-bar .top-bar-left > ul, .top-bar .top-bar-right > ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: auto 0; }
      .top-bar .top-bar-left > ul li, .top-bar .top-bar-right > ul li {
        padding: 7.5px 15px; }
        .top-bar .top-bar-left > ul li:first-child, .top-bar .top-bar-right > ul li:first-child {
          padding-right: 15px !important; }
        .top-bar .top-bar-left > ul li:last-child, .top-bar .top-bar-right > ul li:last-child {
          padding-left: 15px !important; }
  .top-bar .top-bar-center {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    .top-bar .top-bar-right {
      margin-left: auto; } }
  .top-bar .menu, .top-bar .dropdown.menu {
    margin: 0;
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .top-bar .menu > li, .top-bar .dropdown.menu > li {
        border-radius: 0; } }
    .top-bar .menu > li a:active, .top-bar .dropdown.menu > li a:active {
      background-color: transparent; }
    .top-bar .menu li, .top-bar .dropdown.menu li {
      list-style: none; }
      .top-bar .menu li:hover, .top-bar .dropdown.menu li:hover {
        background-color: transparent; }
        .top-bar .menu li:hover > a, .top-bar .dropdown.menu li:hover > a {
          color: #ffffff; }
      .top-bar .menu li:active, .top-bar .dropdown.menu li:active {
        background-color: transparent; }
        .top-bar .menu li:active > a, .top-bar .dropdown.menu li:active > a {
          color: #ffffff; }
      .top-bar .menu li a, .top-bar .dropdown.menu li a {
        color: #ffffff;
        font-family: "Khula", "Khula Fallback", "Arial";
        font-size: 0.9375rem;
        font-weight: 700;
        text-decoration: none;
        text-transform: none;
        padding: 7.5px 15px;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        .top-bar .menu li a:hover, .top-bar .dropdown.menu li a:hover {
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .top-bar .menu li.site-setting-menu > a:before, .top-bar .dropdown.menu li.site-setting-menu > a:before {
        color: #ffffff; }
      .top-bar .menu li.site-setting-menu > a .currency-icon:before, .top-bar .dropdown.menu li.site-setting-menu > a .currency-icon:before {
        color: #ffffff; }
      .top-bar .menu li.site-setting-menu > a:hover:before, .top-bar .dropdown.menu li.site-setting-menu > a:hover:before {
        color: #ffffff; }

#topBarUpperOuterCountainer, .header-top-bar-container {
  background-color: #2f6589;
  padding: 0; }
  @media screen and (min-width: 81.25em) {
    #topBarUpperOuterCountainer, .header-top-bar-container {
      padding: 0 10px; } }
  @media screen and (min-width: 120em) {
    #topBarUpperOuterCountainer, .header-top-bar-container {
      padding: 0; } }

.sg-page-header {
  margin-bottom: 35px;
  padding: 20px 10px;
  background-color: #eeeeee; }
  @media screen and (min-width: 81.25em) {
    .sg-page-header {
      margin: 0 15px 35px 0; } }

.sg-section-container {
  margin: 0 15px 15px 0; }
  @media screen and (min-width: 81.25em) {
    .sg-section-container {
      margin: 0 15px 25px 0; } }

.sg-heading {
  padding: 15px 10px;
  background-color: #def3b3; }
  .sg-heading h2 {
    color: #5f7b27; }

.sg-intro {
  padding: 0 5px; }

.sg-sub-heading {
  padding: 10px 5px;
  background-color: #def3b3; }
  .sg-sub-heading h3 {
    color: #5f7b27;
    font-weight: 600;
    font-size: 1.5rem; }

.sg-sub-description {
  margin-bottom: 10px; }

.sg-content {
  display: block;
  margin-bottom: 20px;
  padding: 10px;
  border: 2px solid #f3f3f3; }

.sg-demo-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding: 0;
  margin: 0;
  list-style: none; }
  .sg-demo-list li {
    padding: 0 10px; }

.sg-item-information-container,
.css-property-view {
  margin: 0 0 20px;
  padding: 10px;
  background-color: #eeeeee;
  color: #484848; }
  .sg-item-information-container p,
  .css-property-view p {
    margin: 3px 0; }
  .sg-item-information-container p,
  .sg-item-information-container li,
  .css-property-view p,
  .css-property-view li {
    font-size: 0.875rem; }
  .sg-item-information-container ul,
  .css-property-view ul {
    margin: 0;
    padding: 0 0 0 20px; }
  .sg-item-information-container .item-info-label,
  .css-property-view .item-info-label {
    width: 200px;
    padding-right: 5px;
    font-weight: 600; }

.sg-item-seperator {
  border: 1px solid #eeeeee; }

.sg-cell-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 10px 20px;
  padding: 15px;
  border: 1px solid #eeeeee; }

.sg-colour-palette .grid-collection-x {
  padding: 15px 0; }
  .sg-colour-palette .grid-collection-x:not(:last-child) {
    border-bottom: 2px solid #eeeeee; }

.colour-block {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 5px 0;
  padding: 8px 8px 6px;
  color: #484848;
  text-transform: uppercase;
  border: 1px solid #dadada;
  border-radius: 2px;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  .colour-block:hover .lightened-percentage {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .colour-block .lightened-percentage {
    position: absolute;
    top: 5px;
    left: 5px;
    padding: 10px;
    background-color: #ffffff;
    font-size: 0.875rem;
    font-weight: 600;
    opacity: .7;
    text-transform: uppercase;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .colour-block [data-colour-preview] {
    display: block;
    width: 100%;
    height: 100px;
    margin-bottom: 0.42857rem; }
  .colour-block .colour-hex-label {
    text-align: right;
    font-weight: 600; }
  .colour-block .colour0 {
    background-color: transparent; }
  .colour-block .colour1 {
    background-color: #ffffff; }
  .colour-block .colour2 {
    background-color: #000000; }
  .colour-block .colour3 {
    background-color: #eeeeee; }
  .colour-block .colour3-1 {
    background-color: #dadada; }
  .colour-block .colour3-2 {
    background-color: #aeaeae; }
  .colour-block .colour3-3 {
    background-color: #959595; }
  .colour-block .colour3-4 {
    background-color: #c8c8c8; }
  .colour-block .colour3-5 {
    background-color: #f3f3f3; }
  .colour-block .colour3-6 {
    background-color: #484848; }
  .colour-block .colour3-7 {
    background-color: #7b7b7b; }
  .colour-block .colour4 {
    background-color: #01416f; }
  .colour-block .colour4-1 {
    background-color: #1281bf; }
  .colour-block .colour4-2 {
    background-color: #00adef; }
  .colour-block .colour4-3 {
    background-color: #2f6589; }
  .colour-block .colour4-4 {
    background-color: rgba(18, 129, 191, 0.8); }
  .colour-block .colour4-5 {
    background-color: #3b7cac; }
  .colour-block .colour4-6 {
    background-color: #64a6d4; }
  .colour-block .colour4-7 {
    background-color: rgba(18, 129, 191, 0.8); }
  .colour-block .colour6 {
    background-color: #67156a; }
  .colour-block .colour6-1 {
    background-color: rgba(103, 21, 106, 0.8); }
  .colour-block .colour6-2 {
    background-color: #dd6ae1; }
  .colour-block .accent-colour-1-lightness-0 {
    background-color: #c00000; }
  .colour-block .accent-colour-1-lightness-1 {
    background-color: #e00000; }
  .colour-block .accent-colour-1-lightness-2 {
    background-color: #ff0101; }
  .colour-block .accent-colour-1-lightness-3 {
    background-color: #ff2020; }
  .colour-block .accent-colour-1-lightness-4 {
    background-color: #ff4040; }
  .colour-block .accent-colour-1-lightness-5 {
    background-color: #ff6060; }
  .colour-block .accent-colour-1-lightness-6 {
    background-color: #ff8080; }
  .colour-block .accent-colour-1-lightness-7 {
    background-color: #ffa0a0; }
  .colour-block .accent-colour-1-lightness-8 {
    background-color: #ffbfbf; }
  .colour-block .accent-colour-1-lightness-9 {
    background-color: #ffdfdf; }
  .colour-block .accent-colour-1-lightness-10 {
    background-color: #ffefef; }
  .colour-block .accent-colour-2-lightness-0 {
    background-color: #2b579a; }
  .colour-block .accent-colour-2-lightness-1 {
    background-color: #3265b2; }
  .colour-block .accent-colour-2-lightness-2 {
    background-color: #3b73c8; }
  .colour-block .accent-colour-2-lightness-3 {
    background-color: #5485cf; }
  .colour-block .accent-colour-2-lightness-4 {
    background-color: #6c96d6; }
  .colour-block .accent-colour-2-lightness-5 {
    background-color: #85a8dd; }
  .colour-block .accent-colour-2-lightness-6 {
    background-color: #9db9e4; }
  .colour-block .accent-colour-2-lightness-7 {
    background-color: #b6cbeb; }
  .colour-block .accent-colour-2-lightness-8 {
    background-color: #cedcf1; }
  .colour-block .accent-colour-2-lightness-9 {
    background-color: #e7eef8; }
  .colour-block .accent-colour-2-lightness-10 {
    background-color: #f3f6fc; }
  .colour-block .accent-colour-3-lightness-0 {
    background-color: #e5b701; }
  .colour-block .accent-colour-3-lightness-1 {
    background-color: #fecc04; }
  .colour-block .accent-colour-3-lightness-2 {
    background-color: #fed120; }
  .colour-block .accent-colour-3-lightness-3 {
    background-color: #fed73c; }
  .colour-block .accent-colour-3-lightness-4 {
    background-color: #fedd58; }
  .colour-block .accent-colour-3-lightness-5 {
    background-color: #fee274; }
  .colour-block .accent-colour-3-lightness-6 {
    background-color: #ffe88f; }
  .colour-block .accent-colour-3-lightness-7 {
    background-color: #ffeeab; }
  .colour-block .accent-colour-3-lightness-8 {
    background-color: #fff4c7; }
  .colour-block .accent-colour-3-lightness-9 {
    background-color: #fff9e3; }
  .colour-block .accent-colour-3-lightness-10 {
    background-color: #fffcf1; }
  .colour-block .accent-colour-4-lightness-0 {
    background-color: #a234e3; }
  .colour-block .accent-colour-4-lightness-1 {
    background-color: #ab48e6; }
  .colour-block .accent-colour-4-lightness-2 {
    background-color: #b55de9; }
  .colour-block .accent-colour-4-lightness-3 {
    background-color: #be71eb; }
  .colour-block .accent-colour-4-lightness-4 {
    background-color: #c785ee; }
  .colour-block .accent-colour-4-lightness-5 {
    background-color: #d19af1; }
  .colour-block .accent-colour-4-lightness-6 {
    background-color: #daaef4; }
  .colour-block .accent-colour-4-lightness-7 {
    background-color: #e3c2f7; }
  .colour-block .accent-colour-4-lightness-8 {
    background-color: #ecd6f9; }
  .colour-block .accent-colour-4-lightness-9 {
    background-color: #f6ebfc; }
  .colour-block .accent-colour-4-lightness-10 {
    background-color: #faf5fe; }
  .colour-block .success-colour {
    background-color: #12811f; }
  .colour-block .warning-colour {
    background-color: #ff5e05; }
  .colour-block .alert-colour {
    background-color: #b20c0c; }
  .colour-block .price-colour {
    background-color: #ff0101; }
  .colour-block .saving-colour {
    background-color: #01416f; }
  .colour-block .rrp-colour {
    background-color: #000000; }

.sg-buttons .sg-comparison-table .action-button {
  margin: 0 auto !important; }

.sg-on-page-notifications td {
  vertical-align: middle; }

.sg-on-page-notifications .notification-type {
  width: 100%; }
  .sg-on-page-notifications .notification-type + .notification-style {
    margin-top: 10px;
    padding: 10px 0;
    border-top: 1px solid #eeeeee; }

.sg-on-page-notifications .notification-style {
  color: #484848; }

.sg-quantity-selectors .product-grid-module {
  margin: auto 0 0; }

.sg-callouts .callout-container {
  position: relative; }

.sg-comparison-table th {
  text-align: center; }
  .sg-comparison-table th:first-child {
    padding-left: 10px;
    text-align: left; }

.sg-comparison-table td:first-child {
  padding-left: 10px;
  font-weight: 600; }

.sg-comparison-table td:not(:first-child) {
  padding: 10px;
  text-align: center; }

.sg-comparison-table td [class*="-button"] {
  margin-right: auto;
  margin-left: auto; }

#table-of-contents-sticky-container .sticky {
  z-index: 2; }

.table-of-contents {
  width: 100%;
  display: block;
  margin-right: 10px;
  padding: 10px;
  border: 1px solid #eeeeee;
  background-color: #ffffff; }
  @media screen and (min-width: 81.25em) {
    .table-of-contents {
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); } }
  .table-of-contents .heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 10px;
    padding: 15px 10px;
    color: #5f7b27;
    background-color: #def3b3; }
    .table-of-contents .heading h2 {
      margin: 0;
      padding: 0;
      font-size: 1.375rem;
      line-height: 1; }
  @media screen and (min-width: 81.25em) {
    .table-of-contents .sections {
      max-height: 60vh;
      overflow-y: auto; } }
  .table-of-contents .sections ul {
    padding: 0;
    list-style: none; }
    .table-of-contents .sections ul li {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-left: 20px;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      .table-of-contents .sections ul li:first-child:before {
        border-top-right-radius: 10px;
        border-top-left-radius: 10px; }
      .table-of-contents .sections ul li:last-child:before {
        border-bottom-right-radius: 10px;
        border-bottom-left-radius: 10px; }
      .table-of-contents .sections ul li:before {
        content: '';
        width: 5px;
        height: 100%;
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        background-color: #484848;
        -webkit-transition: background-color .6s ease-in;
        transition: background-color .6s ease-in; }
      .table-of-contents .sections ul li:hover {
        background-color: #eeeeee;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
      .table-of-contents .sections ul li.active {
        background-color: #def3b365; }
        .table-of-contents .sections ul li.active:before {
          background-color: #01416f;
          -webkit-transition: background-color .4s ease-out;
          transition: background-color .4s ease-out; }
        .table-of-contents .sections ul li.active a {
          font-weight: 700;
          -webkit-transition: font-weight .6s ease-in;
          transition: font-weight .6s ease-in; }
      .table-of-contents .sections ul li a {
        width: 100%;
        display: block;
        padding: 10px 0;
        font-size: 0.875rem;
        font-weight: 600;
        color: #484848;
        -webkit-transition: font-weight .4s ease-out;
        transition: font-weight .4s ease-out; }
        .table-of-contents .sections ul li a:hover {
          text-decoration: underline; }

/* This styles the example rows used in the grid documentation. */
.grid-x.display {
  background: #eee;
  font-size: 11px;
  margin-bottom: 10px;
  line-height: 2rem;
  border: solid 1px #c6c6c6;
  margin-left: 0 !important;
  margin-right: 0 !important; }

.grid-x.display .cell:nth-child(2),
.grid-x.display .cell.small-centered,
.grid-x.display .cell.large-centered {
  background: #e1e1e1; }

.grid-x.display .cell.color-end {
  background: #d4d4d4; }

.sg-header {
  background: #eee;
  padding: 2rem; }

.grid-container {
  max-width: 1400px; }

.sg-side-menu {
  margin-left: 1rem; }

.grid-container.padded {
  padding-top: 2rem; }

.sg-side-menu a {
  -webkit-transition: all 0.15s ease-in;
  transition: all 0.15s ease-in; }

.sg-side-menu a:hover {
  background: #eee; }

.sg-side-menu a:focus {
  background: #1468a0;
  color: #fff; }

.sg-side-menu.menu {
  overflow: auto;
  height: 100vh;
  padding-bottom: 5rem; }

/*
----- Admin -----
This will potential hand vmAdmin v2.
*/
.vmadmin-editor {
  width: 100%;
  height: 100%;
  position: absolute;
  border: 2px solid transparent;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  .vmadmin-editor.active {
    border-color: #aeaeae;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .vmadmin-editor.inline-editor {
    position: relative; }
    .vmadmin-editor.inline-editor .editor-trigger-controls {
      max-width: -webkit-fit-content;
      max-width: -moz-fit-content;
      max-width: fit-content;
      max-height: 0;
      top: auto;
      right: 0;
      bottom: -30px; }
      .vmadmin-editor.inline-editor .editor-trigger-controls.active {
        max-height: 200px;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; }
  .vmadmin-editor .ck-content.ck-editor__editable_inline > p {
    margin: 0 !important;
    padding: 0 !important; }
  .vmadmin-editor .ck-content.ck.ck-editor__editable {
    border-color: transparent !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }
  .vmadmin-editor .editor-trigger-controls {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    margin: auto;
    background-color: rgba(174, 174, 174, 0.9);
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s;
    z-index: 100000; }
    .vmadmin-editor .editor-trigger-controls .admin-button {
      position: relative;
      margin: 5px;
      cursor: pointer; }
      .vmadmin-editor .editor-trigger-controls .admin-button:before {
        padding: 5px 10px;
        color: #01416f;
        font-family: "Font Awesome Solid";
        font-size: 20px;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
      .vmadmin-editor .editor-trigger-controls .admin-button:hover:before {
        color: #67156a;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
  .vmadmin-editor + div {
    z-index: 1; }

.property-editor-trigger:before {
  content: '\f013'; }

.content-editor-trigger:before {
  content: '\f044'; }

.editor-save-button.inline:before {
  content: '\f0c7'; }

.editor-cancel-button.inline:before {
  content: '\f00d'; }

.off-canvas-header .close-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .off-canvas-header .close-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 24px;
    color: #000000;
    -webkit-transition: color 0.8s, -webkit-transform 0.6s;
    transition: color 0.8s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.8s;
    transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
  .off-canvas-header .close-button:hover:before {
    color: #01416f;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transition: color 0.6s, -webkit-transform 0.6s;
    transition: color 0.6s, -webkit-transform 0.6s;
    transition: transform 0.6s, color 0.6s;
    transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
  .off-canvas-header .close-button:active:before {
    color: #67156a;
    -webkit-transition: font-size 1.2s, color 0.6s;
    transition: font-size 1.2s, color 0.6s; }

.off-canvas-header .off-canvas-heading {
  margin: 0;
  padding: 16px 0;
  background-color: #01416f; }
  @media screen and (min-width: 81.25em) {
    .off-canvas-header .off-canvas-heading {
      margin: 0 0 35px; } }

.off-canvas-header h2 {
  margin: 0;
  padding: 0;
  color: #ffffff;
  text-align: center;
  font-size: 1.5625rem;
  font-weight: 700; }

.off-canvas-header p {
  font-size: 1rem; }

/*
----- Accordion Tabs ------ 
- TODO: The naming conventions need to be re-writen at some point as this was originally build for on being used on the product page hense the very specific naming of id's and classes.
- This functionality is based on Foundation's Responsive Accordion Tabs https://get.foundation/sites/docs/responsive-accordion-tabs.html
- The styling for product tabbed notes is defined here
  - Attachments
  - Specification's
  - Reviews
  - Componants.

*/
.responsive-tabs-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0; }
  @media screen and (min-width: 81.25em) {
    .responsive-tabs-header .responsive-tabs-controls {
      margin-left: auto; } }
  .responsive-tabs-header .accordion-toggle-all-button {
    font-size: 0.75rem;
    font-weight: 700;
    color: #01416f; }
    .responsive-tabs-header .accordion-toggle-all-button:after {
      content: "";
      width: 18px;
      height: 18px;
      position: relative;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-left: 10px;
      border-radius: 25px;
      border: 2px solid #01416f;
      background-color: #ffffff;
      color: #01416f;
      font-family: "Font Awesome Solid";
      font-size: 8px; }
    .responsive-tabs-header .accordion-toggle-all-button.active:after {
      content: ""; }

#tabbed-notes-container {
  visibility: hidden; }
  #tabbed-notes-container.component-ready {
    visibility: visible; }

.responsive-tabs {
  width: 100%;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  visibility: hidden;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .responsive-tabs.component-ready {
    visibility: visible; }
  .responsive-tabs:has(.tabs.vertical) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  @media screen and (min-width: 81.25em) {
    .responsive-tabs.account-area {
      margin: 5px 0 0; } }
  .responsive-tabs.account-area .tabs-panel {
    padding: 10px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs.account-area .tabs-panel {
        padding: 25px 0; } }
    .responsive-tabs.account-area .tabs-panel table {
      margin: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container {
      display: grid;
      gap: 10px; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .package-reference-container, .responsive-tabs.account-area .accordion-title-container .third-party-tracking-button {
      grid-column: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .package-reference-container {
      grid-row: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container:after {
      grid-column: 2;
      grid-row: 1; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .third-party-tracking-reference {
      padding-left: 0; } }
  @media print, screen and (max-width: 39.99875em) {
    .responsive-tabs.account-area .accordion-title-container .third-party-tracking-button {
      grid-row: 3; } }
  .responsive-tabs.account-area .accordion-title {
    padding: 20px; }
    @media print, screen and (min-width: 40em) {
      .responsive-tabs.account-area .accordion-title {
        padding: 8px 20px; } }
  .responsive-tabs.account-area .accordion-content[aria-hidden="false"] {
    padding: 10px 5px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs.account-area .accordion-content[aria-hidden="false"] {
        padding: 10px 20px; } }
  @media screen and (min-width: 81.25em) {
    .responsive-tabs.search-results .tabs-title a {
      padding: 18px 35px; } }
  .responsive-tabs.search-results .tabs-panel {
    padding: 45px 0; }
  .responsive-tabs.search-results .accordion-content[aria-hidden="false"] {
    padding: 20px 5px; }
  .responsive-tabs .tabs.vertical {
    position: relative;
    border: 0; }
    .responsive-tabs .tabs.vertical:after {
      content: '';
      width: 1px;
      height: 100%;
      position: absolute;
      top: 0;
      right: 0;
      margin: auto;
      background-color: #eeeeee; }
    .responsive-tabs .tabs.vertical .tabs-title {
      border-radius: 0;
      border-width: 0 1px 0 0;
      border-style: solid;
      border-color: #eeeeee;
      -webkit-transition: border-width 0.8s, border-color 0.8s;
      transition: border-width 0.8s, border-color 0.8s; }
      .responsive-tabs .tabs.vertical .tabs-title.is-active {
        background-color: #64a6d4;
        border-color: #01416f;
        border-width: 0 3px 0 0;
        -webkit-transition: border-width 0.6s, border-color 0.6s;
        transition: border-width 0.6s, border-color 0.6s; }
        .responsive-tabs .tabs.vertical .tabs-title.is-active a {
          color: #01416f; }
          .responsive-tabs .tabs.vertical .tabs-title.is-active a:after {
            content: ''; }
      .responsive-tabs .tabs.vertical .tabs-title:not(.is-active):hover {
        border-color: #67156a;
        border-width: 0 3px 0 0;
        -webkit-transition: border-width 0.2s, border-color 0.6s;
        transition: border-width 0.2s, border-color 0.6s; }
      .responsive-tabs .tabs.vertical .tabs-title a {
        padding: 20px 10px 20px 15px;
        text-align: left;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
        .responsive-tabs .tabs.vertical .tabs-title a:after {
          content: ''; }
        .responsive-tabs .tabs.vertical .tabs-title a .found-count {
          margin-left: auto; }
    .responsive-tabs .tabs.vertical + .tabs-content {
      -webkit-transition: none;
      transition: none; }
      @media print, screen and (min-width: 40em) {
        .responsive-tabs .tabs.vertical + .tabs-content .tabs-panel {
          padding: 10px 15px 10px 30px; } }
  .responsive-tabs .tabs-title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    .responsive-tabs .tabs-title a {
      padding: 18px 80px;
      text-align: center; }
      @media screen and (min-width: 81.25em) {
        .responsive-tabs .tabs-title a {
          width: 100%; } }
    .responsive-tabs .tabs-title .found-count {
      margin-left: 5px; }
      .responsive-tabs .tabs-title .found-count:before {
        content: '('; }
      .responsive-tabs .tabs-title .found-count:after {
        content: ')'; }
      .responsive-tabs .tabs-title .found-count:before, .responsive-tabs .tabs-title .found-count:after {
        display: inline-block; }
  .responsive-tabs .tabs-panel table, .responsive-tabs .accordion-content table {
    border: 0; }
    .responsive-tabs .tabs-panel table tr td, .responsive-tabs .accordion-content table tr td {
      border: 0; }
  .responsive-tabs .tabs-panel {
    padding: 20px 25px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs .tabs-panel {
        padding: 40px 50px; } }
  .responsive-tabs .accordion-item.is-active .accordion-content {
    padding: 20px 25px; }
    @media screen and (min-width: 81.25em) {
      .responsive-tabs .accordion-item.is-active .accordion-content {
        padding: 40px 50px; } }
  .responsive-tabs .tabs-content {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .responsive-tabs .accordion-item:last-child .accordion-content[aria-hidden=true] {
    border-bottom: 0 !important; }
  .responsive-tabs .tabs-content table:not([class*=preset]) tr:not(:last-child),
  .responsive-tabs .accordion-content table:not([class*=preset]) tr:not(:last-child) {
    border-bottom: 1px solid #dadada; }
  .responsive-tabs .tabs-content table:not([class*=preset]) td,
  .responsive-tabs .accordion-content table:not([class*=preset]) td {
    font-size: 0.875rem; }
  .responsive-tabs .tabs-content ul,
  .responsive-tabs .accordion-content ul {
    list-style: none; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1, #tabbed-notes-container .accordion-content .tabbed-specification-container h1, #tabbed-notes-container .accordion-content .tabbed-notes-container h1 {
  margin: 25px 0 20px;
  font-size: 2.1875rem;
  font-weight: 600;
  font-style: normal;
  color: #01416f;
  line-height: 1.6;
  background-color: transparent; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h1:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h1:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h1:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h1:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h1:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h1:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h1:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h1:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h1:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2, #tabbed-notes-container .accordion-content .tabbed-specification-container h2, #tabbed-notes-container .accordion-content .tabbed-notes-container h2 {
  margin: 25px 0 20px;
  font-size: 2rem;
  font-weight: 600;
  font-style: normal;
  color: #01416f;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h2:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h2:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h2:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h2:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h2:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h2:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h2:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3, #tabbed-notes-container .accordion-content .tabbed-specification-container h3, #tabbed-notes-container .accordion-content .tabbed-notes-container h3 {
  margin: 25px 0 10px;
  padding: 15px 0;
  font-size: 1.5625rem;
  font-weight: 600;
  font-style: normal;
  color: #67156a;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h3:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h3:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h3:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h3:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h3:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h3:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h3:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4, #tabbed-notes-container .accordion-content .tabbed-specification-container h4, #tabbed-notes-container .accordion-content .tabbed-notes-container h4 {
  margin: 25px 0 10px;
  padding: 0 0 10px;
  font-size: 1.375rem;
  font-weight: 400;
  font-style: normal;
  color: #01416f;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h4:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h4:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h4:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h4:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h4:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h4:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h4:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h4:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h4:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5, #tabbed-notes-container .accordion-content .tabbed-specification-container h5, #tabbed-notes-container .accordion-content .tabbed-notes-container h5 {
  margin: 15px 0 10px;
  font-size: 1.125rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h5:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h5:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h5:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h5:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h5:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h5:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h5:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h5:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h5:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6, #tabbed-notes-container .accordion-content .tabbed-specification-container h6, #tabbed-notes-container .accordion-content .tabbed-notes-container h6 {
  margin: 15px 0;
  font-size: 0.9375rem;
  font-weight: 400;
  font-style: normal;
  color: #000000;
  line-height: 1.6; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h6:first-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6:first-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6:first-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6:first-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h6:first-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h6:first-child {
    margin-top: 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry h6:only-child, #tabbed-notes-container .tabs-panel .tabbed-specification-container h6:only-child, #tabbed-notes-container .tabs-panel .tabbed-notes-container h6:only-child, #tabbed-notes-container .accordion-content .tabbed-cms-entry h6:only-child, #tabbed-notes-container .accordion-content .tabbed-specification-container h6:only-child, #tabbed-notes-container .accordion-content .tabbed-notes-container h6:only-child {
    margin: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry p, #tabbed-notes-container .tabs-panel .tabbed-specification-container p, #tabbed-notes-container .tabs-panel .tabbed-notes-container p, #tabbed-notes-container .accordion-content .tabbed-cms-entry p, #tabbed-notes-container .accordion-content .tabbed-specification-container p, #tabbed-notes-container .accordion-content .tabbed-notes-container p {
  margin: var(--indent-margin, 0);
  font-size: 0.9375rem;
  color: #000000; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p[style*="float:left"] > img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p[style*="float:left"] > img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float:left"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float: left"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-specification-container p[style*="float:left"] > img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float:left"], #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float: left"], #tabbed-notes-container .accordion-content .tabbed-notes-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-cms-entry p[style*="float:right"] > img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-specification-container p[style*="float:right"] > img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float:right"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p img[style*="float: right"], #tabbed-notes-container .tabs-panel .tabbed-notes-container p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-cms-entry p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-specification-container p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-specification-container p[style*="float:right"] > img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float:right"], #tabbed-notes-container .accordion-content .tabbed-notes-container p img[style*="float: right"], #tabbed-notes-container .accordion-content .tabbed-notes-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p img, #tabbed-notes-container .tabs-panel .tabbed-specification-container p img, #tabbed-notes-container .tabs-panel .tabbed-notes-container p img, #tabbed-notes-container .accordion-content .tabbed-cms-entry p img, #tabbed-notes-container .accordion-content .tabbed-specification-container p img, #tabbed-notes-container .accordion-content .tabbed-notes-container p img {
    margin: .2em 0; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry p + p, #tabbed-notes-container .tabs-panel .tabbed-specification-container p + p, #tabbed-notes-container .tabs-panel .tabbed-notes-container p + p, #tabbed-notes-container .accordion-content .tabbed-cms-entry p + p, #tabbed-notes-container .accordion-content .tabbed-specification-container p + p, #tabbed-notes-container .accordion-content .tabbed-notes-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ol {
  text-align: left; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ul {
  margin: 10px;
  padding: 0;
  list-style: none;
  line-height: 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul ul, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul ul, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul ul, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul ul, #tabbed-notes-container .accordion-content .tabbed-specification-container ul ul, #tabbed-notes-container .accordion-content .tabbed-notes-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul li, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul li, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul li, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul li, #tabbed-notes-container .accordion-content .tabbed-specification-container ul li, #tabbed-notes-container .accordion-content .tabbed-notes-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    #tabbed-notes-container .tabs-panel .tabbed-cms-entry ul li:before, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul li:before, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul li:before, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul li:before, #tabbed-notes-container .accordion-content .tabbed-specification-container ul li:before, #tabbed-notes-container .accordion-content .tabbed-notes-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #01416f;
      border-radius: 5px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol {
  margin: 10px;
  padding: 0 25px; }
  #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol {
      list-style-type: lower-roman; }
      #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol ol {
        list-style-type: lower-alpha; }
        #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol ol ol ol ol, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-specification-container ol ol ol ol ol, #tabbed-notes-container .accordion-content .tabbed-notes-container ol ol ol ol ol {
          list-style-type: lower-roman; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry li, #tabbed-notes-container .tabs-panel .tabbed-specification-container li, #tabbed-notes-container .tabs-panel .tabbed-notes-container li, #tabbed-notes-container .accordion-content .tabbed-cms-entry li, #tabbed-notes-container .accordion-content .tabbed-specification-container li, #tabbed-notes-container .accordion-content .tabbed-notes-container li {
  color: #000000;
  font-size: 0.9375rem; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h1, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h1, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h1, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h1, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h1, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h1, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h1, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h1, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h1 {
  margin-top: 20px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h2, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h2, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h2, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h2, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h2, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h2, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h2, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h2, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h2 {
  margin-top: 20px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h3, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h3, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h3, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h3, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h3, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h3, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h3, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h3, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h3 {
  margin-top: 10px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h4, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h4, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h4, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h4, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h4, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h4, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h4, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h4, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h4 {
  margin-top: 10px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h5, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h5, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h5, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h5, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h5, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h5, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h5, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h5, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h5 {
  margin-top: 10px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry ul + h6, #tabbed-notes-container .tabs-panel .tabbed-cms-entry ol + h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container ul + h6, #tabbed-notes-container .tabs-panel .tabbed-specification-container ol + h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container ul + h6, #tabbed-notes-container .tabs-panel .tabbed-notes-container ol + h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry ul + h6, #tabbed-notes-container .accordion-content .tabbed-cms-entry ol + h6, #tabbed-notes-container .accordion-content .tabbed-specification-container ul + h6, #tabbed-notes-container .accordion-content .tabbed-specification-container ol + h6, #tabbed-notes-container .accordion-content .tabbed-notes-container ul + h6, #tabbed-notes-container .accordion-content .tabbed-notes-container ol + h6 {
  margin-top: 15px; }

#tabbed-notes-container .tabs-panel .tabbed-cms-entry dl, #tabbed-notes-container .tabs-panel .tabbed-specification-container dl, #tabbed-notes-container .tabs-panel .tabbed-notes-container dl, #tabbed-notes-container .accordion-content .tabbed-cms-entry dl, #tabbed-notes-container .accordion-content .tabbed-specification-container dl, #tabbed-notes-container .accordion-content .tabbed-notes-container dl {
  text-align: left; }

#tabbed-notes-container .tabs-panel p:not(:empty) + table, #tabbed-notes-container .tabs-panel p:not(:empty) + .comparison-table-container, #tabbed-notes-container .accordion-content p:not(:empty) + table, #tabbed-notes-container .accordion-content p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

#tabbed-notes-container .tabs-panel table, #tabbed-notes-container .accordion-content table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead {
    background-color: transparent; }
    #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead tr, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    #tabbed-notes-container .tabs-panel table:not([class*=preset]) thead th, #tabbed-notes-container .accordion-content table:not([class*=preset]) thead th {
      font-weight: 700; }
  #tabbed-notes-container .tabs-panel table.responsive-table, #tabbed-notes-container .accordion-content table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      #tabbed-notes-container .tabs-panel table.responsive-table, #tabbed-notes-container .accordion-content table.responsive-table {
        display: table; } }
    #tabbed-notes-container .tabs-panel table.responsive-table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        #tabbed-notes-container .tabs-panel table.responsive-table:not([class*=preset]) thead, #tabbed-notes-container .accordion-content table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    #tabbed-notes-container .tabs-panel table.responsive-table tbody:not(.comparison-summary), #tabbed-notes-container .accordion-content table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        #tabbed-notes-container .tabs-panel table.responsive-table tbody:not(.comparison-summary), #tabbed-notes-container .accordion-content table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  #tabbed-notes-container .tabs-panel table th, #tabbed-notes-container .accordion-content table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    #tabbed-notes-container .tabs-panel table td, #tabbed-notes-container .accordion-content table td {
      padding: 10px; } }
  #tabbed-notes-container .tabs-panel table thead[class*="preset"] + tbody:before, #tabbed-notes-container .accordion-content table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      #tabbed-notes-container .tabs-panel table thead[class*="preset"] + tbody:before, #tabbed-notes-container .accordion-content table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  #tabbed-notes-container .tabs-panel table tbody, #tabbed-notes-container .accordion-content table tbody {
    background-color: transparent; }
    #tabbed-notes-container .tabs-panel table tbody th, #tabbed-notes-container .accordion-content table tbody th {
      background-color: transparent; }
    #tabbed-notes-container .tabs-panel table tbody tr:not(:last-child) th, #tabbed-notes-container .accordion-content table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      #tabbed-notes-container .tabs-panel table tbody tr, #tabbed-notes-container .accordion-content table tbody tr {
        display: table-row; } }
  #tabbed-notes-container .tabs-panel table .col-label, #tabbed-notes-container .accordion-content table .col-label {
    color: #484848; }
  @media print, screen and (max-width: 81.24875em) {
    #tabbed-notes-container .tabs-panel table.responsive-table tbody tr, #tabbed-notes-container .accordion-content table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    #tabbed-notes-container .tabs-panel table.responsive-table tbody tr:not(:last-child), #tabbed-notes-container .accordion-content table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  #tabbed-notes-container .tabs-panel table.no-wrap, #tabbed-notes-container .accordion-content table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  #tabbed-notes-container .tabs-panel table.comparison-table tbody td:first-child, #tabbed-notes-container .accordion-content table.comparison-table tbody td:first-child {
    color: #484848;
    font-weight: 700; }

#tabbed-notes-container .tabbed-specification-container table tbody td:first-child {
  color: var(--neutral-colour-lightness-0);
  font-size: 0.9375rem;
  font-weight: 700; }

.tabs-panel .components-intro-container, .accordion-content .components-intro-container {
  margin: 0 0 30px;
  padding: 0;
  text-align: left; }

.tabs-panel:has(.components-intro-container) p:not(:empty) + table, .tabs-panel:has(.components-intro-container) p:not(:empty) + .comparison-table-container, .accordion-content:has(.components-intro-container) p:not(:empty) + table, .accordion-content:has(.components-intro-container) p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.tabs-panel:has(.components-intro-container) table, .accordion-content:has(.components-intro-container) table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead {
    background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead tr, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .tabs-panel:has(.components-intro-container) table:not([class*=preset]) thead th, .accordion-content:has(.components-intro-container) table:not([class*=preset]) thead th {
      font-weight: 700; }
  .tabs-panel:has(.components-intro-container) table.responsive-table, .accordion-content:has(.components-intro-container) table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      .tabs-panel:has(.components-intro-container) table.responsive-table, .accordion-content:has(.components-intro-container) table.responsive-table {
        display: table; } }
    .tabs-panel:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        .tabs-panel:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead, .accordion-content:has(.components-intro-container) table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary), .accordion-content:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .tabs-panel:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary), .accordion-content:has(.components-intro-container) table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .tabs-panel:has(.components-intro-container) table th, .accordion-content:has(.components-intro-container) table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .tabs-panel:has(.components-intro-container) table td, .accordion-content:has(.components-intro-container) table td {
      padding: 10px; } }
  .tabs-panel:has(.components-intro-container) table thead[class*="preset"] + tbody:before, .accordion-content:has(.components-intro-container) table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      .tabs-panel:has(.components-intro-container) table thead[class*="preset"] + tbody:before, .accordion-content:has(.components-intro-container) table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .tabs-panel:has(.components-intro-container) table tbody, .accordion-content:has(.components-intro-container) table tbody {
    background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table tbody th, .accordion-content:has(.components-intro-container) table tbody th {
      background-color: transparent; }
    .tabs-panel:has(.components-intro-container) table tbody tr:not(:last-child) th, .accordion-content:has(.components-intro-container) table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .tabs-panel:has(.components-intro-container) table tbody tr, .accordion-content:has(.components-intro-container) table tbody tr {
        display: table-row; } }
  .tabs-panel:has(.components-intro-container) table .col-label, .accordion-content:has(.components-intro-container) table .col-label {
    color: #484848; }
  @media print, screen and (max-width: 81.24875em) {
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody tr, .accordion-content:has(.components-intro-container) table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    .tabs-panel:has(.components-intro-container) table.responsive-table tbody tr:not(:last-child), .accordion-content:has(.components-intro-container) table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .tabs-panel:has(.components-intro-container) table.no-wrap, .accordion-content:has(.components-intro-container) table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .tabs-panel:has(.components-intro-container) table.comparison-table tbody td:first-child, .accordion-content:has(.components-intro-container) table.comparison-table tbody td:first-child {
    color: #484848;
    font-weight: 700; }

.tabs-panel:has(.components-intro-container) .description-col, .tabs-panel:has(.components-intro-container) .reference-col, .accordion-content:has(.components-intro-container) .description-col, .accordion-content:has(.components-intro-container) .reference-col {
  text-align: left; }

.tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 80px;
  padding: 0;
  border-bottom: 1px solid #dadada !important; }
  .tabs.vertical {
    width: 20%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-bottom: 0 !important; }
    @media screen and (min-width: 81.25em) {
      .tabs.vertical {
        max-width: 300px; } }
  .tabs .tabs-title {
    position: relative;
    border-style: solid;
    border-color: transparent;
    border-width: 1px 1px 0 1px;
    border-radius: 0 0 0 0; }
    .tabs .tabs-title.is-active {
      border-color: #dadada; }
      .tabs .tabs-title.is-active:after {
        content: '';
        width: 100%;
        height: 1px;
        display: block;
        position: absolute;
        bottom: -1px;
        left: 0;
        background-color: #ffffff; }
      .tabs .tabs-title.is-active a:after {
        content: ""; }
    .tabs .tabs-title a:after {
      content: "";
      margin: 0 10px;
      font-size: 20px;
      font-family: "Font Awesome Solid"; }
    .tabs .tabs-title a {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-weight: 700;
      text-decoration: none;
      text-transform: none; }
      .tabs .tabs-title a:hover {
        color: var(--secondary-colour-lightness-0); }
      .tabs .tabs-title a:active {
        color: var(--primary-colour-lightness-0); }

.accordion {
  margin: 0;
  padding: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .accordion {
      padding: 0; } }
  .accordion.panel-state-indicator-first .accordion-title:after {
    margin-right: 10px;
    margin-left: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .accordion.panel-state-indicator-first .accordion-title .title {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .accordion.radio-indicators .accordion-item.is-active .accordion-title:after {
    content: "";
    font-family: "Font Awesome Solid"; }
  .accordion.radio-indicators .accordion-item .accordion-title:after {
    content: "";
    font-family: "Font Awesome Regular"; }
  .accordion.suppress-title-single-child .accordion-item:only-child .accordion-title {
    display: none; }
  .accordion.suppress-title-single-child .accordion-item:only-child .accordion-content {
    border-width: 1px; }
  .accordion.accordion-title-inverted-colours .accordion-title {
    background-color: #00adef;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title:after {
      color: #ffffff;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title a.accordion-title-content {
      color: #ffffff;
      -webkit-transition: color 0.8s, border-color 0.8s, background-color 0.8s;
      transition: color 0.8s, border-color 0.8s, background-color 0.8s; }
    .accordion.accordion-title-inverted-colours .accordion-title:hover {
      background-color: #00adef;
      -webkit-transition: background-color 0.6s, color 0.6s, border-color 0.6s;
      transition: background-color 0.6s, color 0.6s, border-color 0.6s; }
      .accordion.accordion-title-inverted-colours .accordion-title:hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .accordion.accordion-title-inverted-colours .accordion-title:hover a.accordion-title-content {
        color: #ffffff; }
        .accordion.accordion-title-inverted-colours .accordion-title:hover a.accordion-title-content:after {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
    .accordion.accordion-title-inverted-colours .accordion-title:active {
      background-color: #2f6589; }
      .accordion.accordion-title-inverted-colours .accordion-title:active:after {
        color: #ffffff; }
      .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content {
        color: #ffffff; }
        .accordion.accordion-title-inverted-colours .accordion-title:active a.accordion-title-content:after {
          color: #ffffff; }
  .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title {
    background-color: #2f6589; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title:after {
      color: #ffffff; }
    .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child {
      color: #ffffff; }
      .accordion.accordion-title-inverted-colours .accordion-item.is-active .accordion-title a:first-child:after {
        color: #ffffff; }
  .accordion .accordion-title-container {
    cursor: pointer; }
  .accordion .accordion-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-weight: 700;
    text-decoration: none;
    text-transform: none;
    border-bottom: 0; }
    .accordion .accordion-title.disabled {
      background-color: var(--neutral-colour-lightness-8);
      color: #6d6d6d;
      cursor: no-drop;
      pointer-events: none; }
      .accordion .accordion-title.disabled .title-icon {
        opacity: .4; }
    .accordion .accordion-title:after {
      content: "";
      margin-left: auto;
      font-size: 20px;
      font-family: "Font Awesome Solid";
      color: #959595; }
    .accordion .accordion-title .title-icon {
      width: 175px;
      height: 30px;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      background-repeat: no-repeat;
      background-position: center; }
    .accordion .accordion-title .found-count {
      margin-right: 10px;
      -webkit-box-ordinal-group: 0;
          -ms-flex-order: -1;
              order: -1; }
  .accordion a.accordion-title:hover {
    color: #01416f; }
  .accordion .is-active .accordion-title {
    border-bottom: 0;
    background-color: var(--primary-colour-lightness-10); }
    .accordion .is-active .accordion-title:after {
      content: "";
      color: var(--primary-colour-lightness-0); }
  .accordion .accordion-item {
    margin-bottom: 10px; }
  .accordion .accordion-content {
    border-style: solid;
    border-color: #dadada;
    border-width: 0 1px 1px 1px; }

.accordion-content {
  height: 0;
  display: block !important;
  overflow: hidden; }
  .accordion-content[aria-hidden="false"] {
    height: auto;
    padding: 20px 25px; }
    @media screen and (min-width: 81.25em) {
      .accordion-content[aria-hidden="false"] {
        padding: 40px 50px; } }

.accordion-title-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.attachments-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 0;
  list-style: none; }
  @media print, screen and (min-width: 40em) {
    .attachments-container ul li {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 50%;
              flex: 1 0 50%; } }
  @media screen and (min-width: 81.25em) {
    .attachments-container ul li {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 33%;
              flex: 1 0 33%; } }

.attachments-container .attachment {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 5px;
  color: #000000;
  font-weight: 600;
  font-size: 0.9375rem;
  -webkit-transition: color 0.8s;
  transition: color 0.8s; }
  .attachments-container .attachment:hover {
    color: #67156a;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .attachments-container .attachment:active {
    color: #959595;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
    .attachments-container .attachment:active:before {
      color: #959595;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .attachments-container .attachment:before {
    content: "";
    font-family: "Font Awesome Regular";
    color: rgba(18, 129, 191, 0.8);
    margin: 0 15px 0 0;
    font-size: 26px; }

.attachments-container .brochure:before {
  content: "";
  font-family: "Font Awesome Regular";
  color: rgba(1, 65, 111, 0.6); }

.attachments-container .user-guide:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(1, 65, 111, 0.6); }

.attachments-container .parts-diagram:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(1, 65, 111, 0.6); }

.attachments-container .word:before, .attachments-container [href$='.doc']:before, .attachments-container [href$='.docx']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #2b579a; }

.attachments-container .powerpoint:before, .attachments-container [href$='.ppt']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(103, 21, 106, 0.8); }

.attachments-container .excel:before, .attachments-container [href$='.xls']:before, .attachments-container [href$='.xlsx']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #01416f; }

.attachments-container .pdf:before, .attachments-container [href$='.pdf']:before {
  content: "";
  font-family: "Font Awesome Regular";
  color: #ff0101; }

.attachments-container .csv:before, .attachments-container [href$='.csv']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: rgba(1, 65, 111, 0.9); }

.attachments-container .image-attachment:before, .attachments-container [href$='.jpg']:before, .attachments-container [href$='.png']:before, .attachments-container [href$='.gif']:before, .attachments-container [href$='.webm']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #959595; }

.attachments-container .video-attachment:before, .attachments-container [href$='.mov']:before, .attachments-container [href$='.mp4']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #484848; }

.attachments-container .zip:before, .attachments-container [href$='.zip']:before {
  content: "";
  font-family: "Font Awesome Solid";
  color: #67156a; }

/*
----- Sticky ------ 
Sticky functionality that is build ontop of https://get.foundation/sites/docs/sticky.html.

[IMPORTANT] - This CSS is not for the basket summmary or the header please view header.scss and basket.scss for that.
*/
.sticky {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .sticky.is-stuck {
    position: fixed; }
  .sticky.is-anchored {
    position: absolute; }
  .sticky.is-stuck:not(.no-animate) {
    -webkit-transition: margin-top 0.6s;
    transition: margin-top 0.6s; }
  .sticky.is-anchored:not(.no-animate) {
    -webkit-transition: margin-top 0.8s;
    transition: margin-top 0.8s; }
  .sticky.element-not-in-viewport {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    margin-top: unset !important; }

[data-axis-sticky-container] {
  width: 100%;
  position: relative; }
  [data-axis-sticky-container] .callbackContainer {
    position: initial; }

[data-axis-sticky] {
  width: 100%; }

[data-sticky-container] {
  width: 100%;
  position: relative; }

.sticky-side-buttons-container {
  width: 100%;
  position: fixed;
  top: auto;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2; }
  @media print, screen and (min-width: 40em) {
    .sticky-side-buttons-container {
      max-width: 95%;
      margin: 0 auto;
      background-color: transparent;
      -webkit-box-shadow: none;
              box-shadow: none; } }
  @media screen and (min-width: 81.25em) {
    .sticky-side-buttons-container {
      max-width: 80%; } }
  @media screen and (min-width: 97.25em) {
    .sticky-side-buttons-container {
      max-height: 0;
      width: 128px;
      position: absolute;
      top: 0;
      left: unset;
      margin: 0; } }
  .sticky-side-buttons-container .sticky {
    width: 100%; }
    @media screen and (max-width: 97.25em) {
      .sticky-side-buttons-container .sticky {
        position: absolute !important;
        top: auto !important;
        bottom: 0 !important;
        margin-top: 0 !important; } }
    @media screen and (min-width: 120em) {
      .sticky-side-buttons-container .sticky.is-stuck {
        padding-top: 20px; } }

.sticky-side-buttons-container .sticky-side-buttons {
  visibility: visible; }

.sticky-side-buttons {
  width: 100%;
  visibility: hidden;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  @media print, screen and (min-width: 40em) {
    .sticky-side-buttons {
      -webkit-box-shadow: none;
              box-shadow: none; } }
  .sticky-side-buttons ul {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin: 0;
    padding: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .sticky-side-buttons ul {
        gap: 10px; } }
    @media screen and (min-width: 97.25em) {
      .sticky-side-buttons ul {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .sticky-side-buttons li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; }
    .sticky-side-buttons li button, .sticky-side-buttons li a {
      border-radius: 0; }
    @media print, screen and (min-width: 40em) {
      .sticky-side-buttons li:first-child button, .sticky-side-buttons li:first-child a {
        border-radius: 0 0 0; }
      .sticky-side-buttons li:last-child button, .sticky-side-buttons li:last-child a {
        border-radius: 0 0 0 0; }
      .sticky-side-buttons li:only-child button, .sticky-side-buttons li:only-child a {
        border-radius: 0 0 0 0; } }
    @media screen and (min-width: 97.25em) {
      .sticky-side-buttons li:first-child button, .sticky-side-buttons li:first-child a {
        border-radius: 0 0 0; }
      .sticky-side-buttons li:last-child button, .sticky-side-buttons li:last-child a {
        border-radius: 0 0 0 0; }
      .sticky-side-buttons li:only-child button, .sticky-side-buttons li:only-child a {
        border-radius: 0 0 0 0; } }
  .sticky-side-buttons .sticky-side-button {
    height: 100%; }
    @media screen and (min-width: 97.25em) {
      .sticky-side-buttons .sticky-side-button {
        width: 128px;
        height: 128px; }
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          padding: 10px; } }
    .sticky-side-buttons .sticky-side-button:hover a, .sticky-side-buttons .sticky-side-button:hover button {
      background-color: #67156a;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:hover a, .sticky-side-buttons .sticky-side-button:hover button {
          background-color: #01416f; } }
    .sticky-side-buttons .sticky-side-button:hover span[class*="-description"] {
      color: #ffffff;
      text-decoration: underline;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:hover span[class*="-description"] {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:hover span[class*="-icon"]:before {
      color: #ffffff;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:hover span[class*="-icon"]:before {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:active a, .sticky-side-buttons .sticky-side-button:active button {
      background-color: #ffffff; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:active a, .sticky-side-buttons .sticky-side-button:active button {
          background-color: #67156a; } }
    .sticky-side-buttons .sticky-side-button:active span[class*="-description"] {
      color: #484848;
      text-decoration: underline; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:active span[class*="-description"] {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button:active span[class*="-icon"]:before {
      color: #484848; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button:active span[class*="-icon"]:before {
          color: #ffffff; } }
    .sticky-side-buttons .sticky-side-button span[class*="-description"] {
      display: block;
      margin: 0;
      color: #ffffff;
      font-size: 0.875rem;
      font-weight: 700;
      line-height: 17px;
      text-align: center; }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button span[class*="-description"] {
          color: #484848;
          margin: 0 auto; } }
    .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
      height: 25px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }

@media screen and (max-width: 81.24875em) and (orientation: landscape) {
  .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
    display: none; } }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button span[class*="-icon"] {
          height: auto; } }
      .sticky-side-buttons .sticky-side-button span[class*="-icon"]:before {
        margin: auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        font-family: "fontello";
        font-weight: 400;
        color: #ffffff;
        line-height: 1;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
        @media screen and (min-width: 97.25em) {
          .sticky-side-buttons .sticky-side-button span[class*="-icon"]:before {
            color: #01416f; } }
    .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
      width: 100%;
      height: 100%;
      padding: 10px 15px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      gap: 10px;
      background-color: #01416f;
      border: 2px solid #ffffff;
      opacity: 1;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      @media print, screen and (min-width: 40em) {
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          border: 1px solid #eeeeee; } }
      @media screen and (min-width: 97.25em) {
        .sticky-side-buttons .sticky-side-button a, .sticky-side-buttons .sticky-side-button button {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          background-color: #ffffff;
          padding: 4px 14px;
          -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
                  box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); } }
      .sticky-side-buttons .sticky-side-button a.disabled, .sticky-side-buttons .sticky-side-button a[disabled], .sticky-side-buttons .sticky-side-button button.disabled, .sticky-side-buttons .sticky-side-button button[disabled] {
        background-color: #eeeeee;
        cursor: no-drop;
        border-color: #6d6d6d; }
        .sticky-side-buttons .sticky-side-button a.disabled span[class*="-description"], .sticky-side-buttons .sticky-side-button a[disabled] span[class*="-description"], .sticky-side-buttons .sticky-side-button button.disabled span[class*="-description"], .sticky-side-buttons .sticky-side-button button[disabled] span[class*="-description"] {
          color: #6d6d6d; }
        .sticky-side-buttons .sticky-side-button a.disabled span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button a[disabled] span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button button.disabled span[class*="-icon"]:before, .sticky-side-buttons .sticky-side-button button[disabled] span[class*="-icon"]:before {
          color: #6d6d6d; }

/*
----- List Sorting Options  -----
- Holds the styles for the following: 
  - Product list(s)
  - Account area sorting ( historical transactions, call system, orders )
- The following components will be found here: 
  - List item count
  - Sort by 
  - Filters toggle ( If opening a popup )
  - View switcher ( Grid or Table )
  - Pagination 
  - Items per page.
*/
.AXISResultsContainer .control .label, .list-sort-container .control .label {
  width: 160px;
  margin-right: 13px;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--primary-colour-lightness-0); }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer .control .label, .list-sort-container .control .label {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.AXISResultsContainer, .list-sort-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 20px;
  position: relative;
  margin: 0 0 10px;
  padding: 5px 0 20px; }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer, .list-sort-container {
      gap: 10px 15px;
      margin: 0;
      padding: 0 0 20px; } }
  @media screen and (min-width: 100em) {
    .AXISResultsContainer, .list-sort-container {
      min-height: 40px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .AXISResultsContainer > div, .list-sort-container > div {
    height: auto;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .AXISResultsContainer .sort-option, .list-sort-container .sort-option {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .sort-option, .list-sort-container .sort-option {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
  .AXISResultsContainer .download-option, .list-sort-container .download-option {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .AXISResultsContainer .download-option:before, .list-sort-container .download-option:before {
      content: "";
      margin-right: 10px;
      font-family: "Font Awesome Solid";
      color: var(--primary-colour-lightness-3);
      font-size: 20px; }
    .AXISResultsContainer .download-option a, .list-sort-container .download-option a {
      position: relative;
      padding: 0 5px;
      color: #000000;
      font-size: 0.875rem; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .download-option a, .list-sort-container .download-option a {
          padding: 0; } }
      .AXISResultsContainer .download-option a:hover, .list-sort-container .download-option a:hover {
        color: var(--secondary-colour-lightness-0); }
      .AXISResultsContainer .download-option a:not(:only-child):not(:first-child):before, .list-sort-container .download-option a:not(:only-child):not(:first-child):before {
        content: '';
        width: 2px;
        height: 60%;
        position: absolute;
        top: 0;
        bottom: 0;
        left: -6px;
        display: inline-block;
        margin: auto;
        background-color: #aeaeae; }
    .AXISResultsContainer .download-option .buttons-container, .list-sort-container .download-option .buttons-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      gap: 12px; }
  .AXISResultsContainer .AXISResultDisplayContainer, .AXISResultsContainer .item-count-container, .list-sort-container .AXISResultDisplayContainer, .list-sort-container .item-count-container {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISResultDisplayContainer, .AXISResultsContainer .item-count-container, .list-sort-container .AXISResultDisplayContainer, .list-sort-container .item-count-container {
        height: 100%;
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 0; } }
    .AXISResultsContainer .AXISResultDisplayContainer .AXISResultDisplay, .AXISResultsContainer .AXISResultDisplayContainer .item-count, .AXISResultsContainer .item-count-container .AXISResultDisplay, .AXISResultsContainer .item-count-container .item-count, .list-sort-container .AXISResultDisplayContainer .AXISResultDisplay, .list-sort-container .AXISResultDisplayContainer .item-count, .list-sort-container .item-count-container .AXISResultDisplay, .list-sort-container .item-count-container .item-count {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 0.875rem;
      font-weight: 700;
      color: var(--primary-colour-lightness-0);
      background-color: transparent; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISResultDisplayContainer .AXISResultDisplay, .AXISResultsContainer .AXISResultDisplayContainer .item-count, .AXISResultsContainer .item-count-container .AXISResultDisplay, .AXISResultsContainer .item-count-container .item-count, .list-sort-container .AXISResultDisplayContainer .AXISResultDisplay, .list-sort-container .AXISResultDisplayContainer .item-count, .list-sort-container .item-count-container .AXISResultDisplay, .list-sort-container .item-count-container .item-count {
          height: 100%; } }
  .AXISResultsContainer .filter-toggle-container, .list-sort-container .filter-toggle-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .filter-toggle-container, .list-sort-container .filter-toggle-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .filter-toggle-container .filter-toggle, .list-sort-container .filter-toggle-container .filter-toggle {
        padding: 0; } }
    .AXISResultsContainer .filter-toggle-container .filter-toggle:before, .list-sort-container .filter-toggle-container .filter-toggle:before {
      color: var(--primary-colour-lightness-3);
      margin-right: 15px; }
    .AXISResultsContainer .filter-toggle-container .active-filter-count, .list-sort-container .filter-toggle-container .active-filter-count {
      top: -6px;
      left: 10px; }
  .AXISResultsContainer .call-search-container, .list-sort-container .call-search-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .call-search-container, .list-sort-container .call-search-container {
        width: auto; } }
    .AXISResultsContainer .call-search-container .control.search, .list-sort-container .call-search-container .control.search {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .call-search-container input, .list-sort-container .call-search-container input {
        min-width: 340px;
        height: 40px !important; }
        .AXISResultsContainer .call-search-container input + button, .list-sort-container .call-search-container input + button {
          height: 40px; } }
    .AXISResultsContainer .call-search-container .label, .list-sort-container .call-search-container .label {
      margin-right: 13px;
      font-size: 0.875rem;
      font-weight: 700;
      color: var(--primary-colour-lightness-0); }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer .branch-filter, .list-sort-container .branch-filter {
      max-width: 490px; } }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer .branch-filter select, .AXISResultsContainer .branch-filter .control-select-dropdown, .list-sort-container .branch-filter select, .list-sort-container .branch-filter .control-select-dropdown {
      width: 300px; } }
  .AXISResultsContainer .branch-filter .tooltip-container, .list-sort-container .branch-filter .tooltip-container {
    -ms-flex-item-align: center;
        align-self: center;
    margin-left: 5px; }
  .AXISResultsContainer .AXISSortForm, .AXISResultsContainer .list-sort-by-container, .list-sort-container .AXISSortForm, .list-sort-container .list-sort-by-container {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    color: #000000; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISSortForm, .AXISResultsContainer .list-sort-by-container, .list-sort-container .AXISSortForm, .list-sort-container .list-sort-by-container {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    .AXISResultsContainer .AXISSortForm label, .AXISResultsContainer .list-sort-by-container label, .list-sort-container .AXISSortForm label, .list-sort-container .list-sort-by-container label {
      font-size: 0.9375rem; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISSortForm label, .AXISResultsContainer .list-sort-by-container label, .list-sort-container .AXISSortForm label, .list-sort-container .list-sort-by-container label {
          width: auto; } }
    .AXISResultsContainer .AXISSortForm .control.select select, .AXISResultsContainer .list-sort-by-container .control.select select, .list-sort-container .AXISSortForm .control.select select, .list-sort-container .list-sort-by-container .control.select select {
      width: 100%; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISSortForm .control.select select, .AXISResultsContainer .list-sort-by-container .control.select select, .list-sort-container .AXISSortForm .control.select select, .list-sort-container .list-sort-by-container .control.select select {
          width: 215px;
          height: 40px; } }
    .AXISResultsContainer .AXISSortForm .control.select .control-select-container, .AXISResultsContainer .list-sort-by-container .control.select .control-select-container, .list-sort-container .AXISSortForm .control.select .control-select-container, .list-sort-container .list-sort-by-container .control.select .control-select-container {
      width: 215px; }
    .AXISResultsContainer .AXISSortForm .control.select .control-select-dropdown, .AXISResultsContainer .list-sort-by-container .control.select .control-select-dropdown, .list-sort-container .AXISSortForm .control.select .control-select-dropdown, .list-sort-container .list-sort-by-container .control.select .control-select-dropdown {
      height: 40px; }
  .AXISResultsContainer .AXISViewContainer, .AXISResultsContainer .list-view-container, .list-sort-container .AXISViewContainer, .list-sort-container .list-view-container {
    width: 25%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISViewContainer, .AXISResultsContainer .list-view-container, .list-sort-container .AXISViewContainer, .list-sort-container .list-view-container {
        width: 10%;
        margin: 0; } }
    .AXISResultsContainer .AXISViewContainer ul, .AXISResultsContainer .list-view-container ul, .list-sort-container .AXISViewContainer ul, .list-sort-container .list-view-container ul {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 0 10px;
      margin: 0;
      padding: 0;
      list-style: none; }
      @media screen and (min-width: 81.25em) {
        .AXISResultsContainer .AXISViewContainer ul, .AXISResultsContainer .list-view-container ul, .list-sort-container .AXISViewContainer ul, .list-sort-container .list-view-container ul {
          gap: 0 5px; } }
      .AXISResultsContainer .AXISViewContainer ul li, .AXISResultsContainer .list-view-container ul li, .list-sort-container .AXISViewContainer ul li, .list-sort-container .list-view-container ul li {
        width: 50%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        text-align: center; }
        @media screen and (min-width: 81.25em) {
          .AXISResultsContainer .AXISViewContainer ul li, .AXISResultsContainer .list-view-container ul li, .list-sort-container .AXISViewContainer ul li, .list-sort-container .list-view-container ul li {
            border: 0; } }
      .AXISResultsContainer .AXISViewContainer ul a, .AXISResultsContainer .AXISViewContainer ul .view-control, .AXISResultsContainer .list-view-container ul a, .AXISResultsContainer .list-view-container ul .view-control, .list-sort-container .AXISViewContainer ul a, .list-sort-container .AXISViewContainer ul .view-control, .list-sort-container .list-view-container ul a, .list-sort-container .list-view-container ul .view-control {
        width: 100%;
        height: 100%;
        display: block;
        padding: 12px 8px;
        position: relative;
        background-color: var(--neutral-colour-lightness-10);
        border-radius: 0;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        @media screen and (min-width: 81.25em) {
          .AXISResultsContainer .AXISViewContainer ul a, .AXISResultsContainer .AXISViewContainer ul .view-control, .AXISResultsContainer .list-view-container ul a, .AXISResultsContainer .list-view-container ul .view-control, .list-sort-container .AXISViewContainer ul a, .list-sort-container .AXISViewContainer ul .view-control, .list-sort-container .list-view-container ul a, .list-sort-container .list-view-container ul .view-control {
            padding: 12px; } }
        .AXISResultsContainer .AXISViewContainer ul a:hover, .AXISResultsContainer .AXISViewContainer ul .view-control:hover, .AXISResultsContainer .list-view-container ul a:hover, .AXISResultsContainer .list-view-container ul .view-control:hover, .list-sort-container .AXISViewContainer ul a:hover, .list-sort-container .AXISViewContainer ul .view-control:hover, .list-sort-container .list-view-container ul a:hover, .list-sort-container .list-view-container ul .view-control:hover {
          background-color: var(--primary-colour-lightness-0);
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .AXISResultsContainer .AXISViewContainer ul a:hover .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control:hover .icon:before, .AXISResultsContainer .list-view-container ul a:hover .icon:before, .AXISResultsContainer .list-view-container ul .view-control:hover .icon:before, .list-sort-container .AXISViewContainer ul a:hover .icon:before, .list-sort-container .AXISViewContainer ul .view-control:hover .icon:before, .list-sort-container .list-view-container ul a:hover .icon:before, .list-sort-container .list-view-container ul .view-control:hover .icon:before {
            color: var(--white-colour); }
        .AXISResultsContainer .AXISViewContainer ul a:active, .AXISResultsContainer .AXISViewContainer ul .view-control:active, .AXISResultsContainer .list-view-container ul a:active, .AXISResultsContainer .list-view-container ul .view-control:active, .list-sort-container .AXISViewContainer ul a:active, .list-sort-container .AXISViewContainer ul .view-control:active, .list-sort-container .list-view-container ul a:active, .list-sort-container .list-view-container ul .view-control:active {
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISViewContainer ul a:active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control:active .icon:before, .AXISResultsContainer .list-view-container ul a:active .icon:before, .AXISResultsContainer .list-view-container ul .view-control:active .icon:before, .list-sort-container .AXISViewContainer ul a:active .icon:before, .list-sort-container .AXISViewContainer ul .view-control:active .icon:before, .list-sort-container .list-view-container ul a:active .icon:before, .list-sort-container .list-view-container ul .view-control:active .icon:before {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.active, .AXISResultsContainer .AXISViewContainer ul .view-control.active, .AXISResultsContainer .list-view-container ul a.active, .AXISResultsContainer .list-view-container ul .view-control.active, .list-sort-container .AXISViewContainer ul a.active, .list-sort-container .AXISViewContainer ul .view-control.active, .list-sort-container .list-view-container ul a.active, .list-sort-container .list-view-container ul .view-control.active {
          background-color: var(--primary-colour-lightness-10);
          cursor: not-allowed; }
          .AXISResultsContainer .AXISViewContainer ul a.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.active .icon:before, .AXISResultsContainer .list-view-container ul a.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.active .icon:before, .list-sort-container .AXISViewContainer ul a.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.active .icon:before, .list-sort-container .list-view-container ul a.active .icon:before, .list-sort-container .list-view-container ul .view-control.active .icon:before {
            color: var(--primary-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.disabled, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.disabled, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.disabled, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.disabled, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.disabled, .AXISResultsContainer .list-view-container ul a.AXISViewList.disabled, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.disabled, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.disabled, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.disabled, .list-sort-container .AXISViewContainer ul a.AXISViewList.disabled, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.disabled, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.disabled, .list-sort-container .list-view-container ul a.AXISViewGrid.disabled, .list-sort-container .list-view-container ul a.AXISViewList.disabled, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.disabled, .list-sort-container .list-view-container ul .view-control.AXISViewList.disabled {
          cursor: not-allowed;
          background-color: var(--primary-colour-lightness-10); }
          .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.disabled .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList.disabled .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.disabled .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.disabled .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.disabled .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList.disabled .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.disabled .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.disabled .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid.disabled .icon:before, .list-sort-container .list-view-container ul a.AXISViewList.disabled .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.disabled .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList.disabled .icon:before {
            color: var(--primary-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.active, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.active, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.active, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.active, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.active, .AXISResultsContainer .list-view-container ul a.AXISViewList.active, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.active, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.active, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.active, .list-sort-container .AXISViewContainer ul a.AXISViewList.active, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.active, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.active, .list-sort-container .list-view-container ul a.AXISViewGrid.active, .list-sort-container .list-view-container ul a.AXISViewList.active, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.active, .list-sort-container .list-view-container ul .view-control.AXISViewList.active {
          cursor: pointer;
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid.active .icon:before, .AXISResultsContainer .AXISViewContainer ul a.AXISViewList.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid.active .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList.active .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid.active .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid.active .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList.active .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid.active .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid.active .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList.active .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid.active .icon:before, .list-sort-container .list-view-container ul a.AXISViewList.active .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid.active .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList.active .icon:before {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISViewContainer ul a .icon, .AXISResultsContainer .AXISViewContainer ul .view-control .icon, .AXISResultsContainer .list-view-container ul a .icon, .AXISResultsContainer .list-view-container ul .view-control .icon, .list-sort-container .AXISViewContainer ul a .icon, .list-sort-container .AXISViewContainer ul .view-control .icon, .list-sort-container .list-view-container ul a .icon, .list-sort-container .list-view-container ul .view-control .icon {
          width: 100%;
          height: 100%;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center; }
          .AXISResultsContainer .AXISViewContainer ul a .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control .icon:before, .AXISResultsContainer .list-view-container ul a .icon:before, .AXISResultsContainer .list-view-container ul .view-control .icon:before, .list-sort-container .AXISViewContainer ul a .icon:before, .list-sort-container .AXISViewContainer ul .view-control .icon:before, .list-sort-container .list-view-container ul a .icon:before, .list-sort-container .list-view-container ul .view-control .icon:before {
            width: 16px;
            height: 16px;
            margin: auto;
            font-size: 16px;
            font-family: "Font Awesome Solid";
            color: var(--neutral-colour-lightness-0);
            line-height: 1;
            -webkit-transition: color 0.8s;
            transition: color 0.8s; }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewGrid .icon:before, .AXISResultsContainer .AXISViewContainer ul a.grid .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewGrid .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.grid .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewGrid .icon:before, .AXISResultsContainer .list-view-container ul a.grid .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewGrid .icon:before, .AXISResultsContainer .list-view-container ul .view-control.grid .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewGrid .icon:before, .list-sort-container .AXISViewContainer ul a.grid .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewGrid .icon:before, .list-sort-container .AXISViewContainer ul .view-control.grid .icon:before, .list-sort-container .list-view-container ul a.AXISViewGrid .icon:before, .list-sort-container .list-view-container ul a.grid .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewGrid .icon:before, .list-sort-container .list-view-container ul .view-control.grid .icon:before {
          content: ""; }
        .AXISResultsContainer .AXISViewContainer ul a.AXISViewList .icon:before, .AXISResultsContainer .AXISViewContainer ul a.list .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.AXISViewList .icon:before, .AXISResultsContainer .AXISViewContainer ul .view-control.list .icon:before, .AXISResultsContainer .list-view-container ul a.AXISViewList .icon:before, .AXISResultsContainer .list-view-container ul a.list .icon:before, .AXISResultsContainer .list-view-container ul .view-control.AXISViewList .icon:before, .AXISResultsContainer .list-view-container ul .view-control.list .icon:before, .list-sort-container .AXISViewContainer ul a.AXISViewList .icon:before, .list-sort-container .AXISViewContainer ul a.list .icon:before, .list-sort-container .AXISViewContainer ul .view-control.AXISViewList .icon:before, .list-sort-container .AXISViewContainer ul .view-control.list .icon:before, .list-sort-container .list-view-container ul a.AXISViewList .icon:before, .list-sort-container .list-view-container ul a.list .icon:before, .list-sort-container .list-view-container ul .view-control.AXISViewList .icon:before, .list-sort-container .list-view-container ul .view-control.list .icon:before {
          content: ""; }
  .AXISResultsContainer .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer {
    width: 50%; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-left: auto; } }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .AXISPerPageContainer + .AXISPerPageContainer, .list-sort-container .AXISPerPageContainer + .AXISPerPageContainer {
        margin-left: 0; } }
    .AXISResultsContainer .AXISPerPageContainer ul, .list-sort-container .AXISPerPageContainer ul {
      width: 100%;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      margin: 0;
      padding: 0;
      list-style: none; }
      .AXISResultsContainer .AXISPerPageContainer ul li, .list-sort-container .AXISPerPageContainer ul li {
        height: 100%;
        display: block;
        background-color: var(--neutral-colour-lightness-8);
        border-radius: 0;
        -webkit-transition: background-color 0.8s;
        transition: background-color 0.8s; }
        .AXISResultsContainer .AXISPerPageContainer ul li:nth-child(2), .list-sort-container .AXISPerPageContainer ul li:nth-child(2) {
          margin: 0 5px; }
        .AXISResultsContainer .AXISPerPageContainer ul li:hover, .list-sort-container .AXISPerPageContainer ul li:hover {
          background-color: var(--primary-colour-lightness-0);
          -webkit-transition: background-color 0.6s;
          transition: background-color 0.6s; }
          .AXISResultsContainer .AXISPerPageContainer ul li:hover a, .list-sort-container .AXISPerPageContainer ul li:hover a {
            color: var(--white-colour);
            -webkit-transition: color 0.6s;
            transition: color 0.6s; }
        .AXISResultsContainer .AXISPerPageContainer ul li:active, .list-sort-container .AXISPerPageContainer ul li:active {
          background-color: var(--neutral-colour-lightness-8); }
          .AXISResultsContainer .AXISPerPageContainer ul li:active a, .list-sort-container .AXISPerPageContainer ul li:active a {
            color: var(--neutral-colour-lightness-0); }
        .AXISResultsContainer .AXISPerPageContainer ul li.active, .list-sort-container .AXISPerPageContainer ul li.active {
          background-color: var(--primary-colour-lightness-10); }
          .AXISResultsContainer .AXISPerPageContainer ul li.active a, .list-sort-container .AXISPerPageContainer ul li.active a {
            color: var(--primary-colour-lightness-0);
            cursor: not-allowed; }
      .AXISResultsContainer .AXISPerPageContainer ul a, .list-sort-container .AXISPerPageContainer ul a {
        width: 100%;
        max-height: 40px;
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 10.26px 16px;
        font-size: 0.9375rem;
        font-weight: 400;
        color: var(--neutral-colour-lightness-0);
        border-radius: 0;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .AXISResultsContainer div:first-child.items-per-list-container, .list-sort-container div:first-child.items-per-list-container {
      margin-left: auto; } }
  .AXISResultsContainer .items-per-list-container, .list-sort-container .items-per-list-container {
    width: 50%;
    gap: 0 10px; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .items-per-list-container, .list-sort-container .items-per-list-container {
        max-width: 17%;
        width: 100%;
        gap: 0 5px;
        margin-left: auto; } }
    .AXISResultsContainer .items-per-list-container a, .list-sort-container .items-per-list-container a {
      max-height: 40px;
      height: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      padding: 10.26px 8px;
      background-color: var(--neutral-colour-lightness-10);
      color: var(--neutral-colour-lightness-0);
      font-size: 0.9375rem;
      font-weight: 400;
      border-radius: 0;
      -webkit-transition: background-color 0.8s, color 0.8s;
      transition: background-color 0.8s, color 0.8s; }
      .AXISResultsContainer .items-per-list-container a:hover, .list-sort-container .items-per-list-container a:hover {
        color: var(--white-colour);
        background-color: var(--primary-colour-lightness-0);
        -webkit-transition: background-color 0.6s, color 0.6s;
        transition: background-color 0.6s, color 0.6s; }
      .AXISResultsContainer .items-per-list-container a:active, .list-sort-container .items-per-list-container a:active {
        background-color: var(--neutral-colour-lightness-8);
        color: var(--neutral-colour-lightness-0); }
      .AXISResultsContainer .items-per-list-container a.active, .list-sort-container .items-per-list-container a.active {
        background-color: var(--primary-colour-lightness-10);
        color: var(--primary-colour-lightness-0);
        cursor: not-allowed; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .items-per-list-container + .pagination-container, .AXISResultsContainer .items-per-list-container + .AXISPageNumbering, .list-sort-container .items-per-list-container + .pagination-container, .list-sort-container .items-per-list-container + .AXISPageNumbering {
        margin-left: 0; } }
  .AXISResultsContainer .sort-by-days-container, .list-sort-container .sort-by-days-container {
    width: 50%;
    display: block;
    margin: 10px 0;
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; }
    @media screen and (min-width: 81.25em) {
      .AXISResultsContainer .sort-by-days-container, .list-sort-container .sort-by-days-container {
        width: 23%; } }
    .AXISResultsContainer .sort-by-days-container label, .list-sort-container .sort-by-days-container label {
      margin-right: 20px; }
    .AXISResultsContainer .sort-by-days-container .control.select, .list-sort-container .sort-by-days-container .control.select {
      width: 100%; }

.AXISPageNumbering, .pagination-container {
  width: 100%;
  height: 50px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 10px; }
  @media screen and (min-width: 81.25em) {
    .AXISPageNumbering, .pagination-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      height: 100%;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      gap: 0 5px;
      margin-left: auto; } }
  .AXISPageNumbering a, .pagination-container a {
    max-height: 40px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10.26px 10px;
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--neutral-colour-lightness-0);
    background-color: var(--neutral-colour-lightness-10);
    border-radius: 0;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    .AXISPageNumbering a:hover, .pagination-container a:hover {
      background-color: var(--primary-colour-lightness-0);
      color: var(--white-colour);
      opacity: 1;
      -webkit-transition: background-color 0.6s, color 0.6s;
      transition: background-color 0.6s, color 0.6s; }
    .AXISPageNumbering a:active, .pagination-container a:active {
      background-color: var(--neutral-colour-lightness-8);
      color: var(--neutral-colour-lightness-0); }
    .AXISPageNumbering a.selected, .AXISPageNumbering a.active, .pagination-container a.selected, .pagination-container a.active {
      background-color: var(--primary-colour-lightness-10);
      color: var(--primary-colour-lightness-0); }
      .AXISPageNumbering a.selected:hover, .AXISPageNumbering a.active:hover, .pagination-container a.selected:hover, .pagination-container a.active:hover {
        cursor: not-allowed;
        text-decoration: none; }
  .AXISPageNumbering .AXISPageNumberJoiner, .AXISPageNumbering .pagination-option-joiner, .pagination-container .AXISPageNumberJoiner, .pagination-container .pagination-option-joiner {
    font-size: 0.9375rem; }

.paginationLabel, .pagination-label {
  margin-right: 13px;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--primary-colour-lightness-0); }

/**

---- Manage Calls ---- 

- Formally know as the call portal before it got embedded in express, manage calls is account functionality that displays calls in a list in express.
- Styles included here: 
  - List for call list + events list.
  - Enquiry summary.
  - Call rating fonts.
  - Sticky buttons icons.
**/
.enquiry-header-section {
  padding: 20px;
  background-color: #f3f3f3; }
  @media screen and (min-width: 81.25em) {
    .enquiry-header-section {
      height: 100%;
      border-radius: 0; } }
  .enquiry-header-section h2 {
    margin: 0;
    font-weight: 700;
    font-size: 0.875rem;
    color: #01416f;
    text-transform: none; }
  .enquiry-header-section ul {
    margin: 0;
    padding: 0;
    list-style: none; }
    .enquiry-header-section ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
      @media screen and (min-width: 81.25em) {
        .enquiry-header-section ul li {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      @media screen and (min-width: 81.25em) {
        .enquiry-header-section ul li:not(:last-child) {
          margin-bottom: 5px; } }
    .enquiry-header-section ul .label {
      font-weight: 700;
      font-size: 0.875rem;
      color: #484848; }
      @media screen and (min-width: 81.25em) {
        .enquiry-header-section ul .label {
          width: 110px;
          display: inline-block; } }
    .enquiry-header-section ul .value {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      font-size: 0.875rem; }
  @media screen and (min-width: 81.25em) {
    .enquiry-header-section .enquiry-header-heading {
      margin-bottom: 10px; } }
  .enquiry-header-section .control.checkbox:not(.small) input + span {
    background-color: #ffffff;
    border-color: #aeaeae; }
  .enquiry-header-section .control.radio:not(.checkbox) span.radio {
    border-color: #aeaeae; }

.call-rating-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 10px;
  margin: 0 0 10px; }
  @media screen and (min-width: 81.25em) {
    .call-rating-container ul {
      gap: 5px;
      margin: 0; } }

.call-rating-container.page-view {
  width: 100px;
  height: 100px;
  margin: auto; }

.call-rating-container.list-view {
  width: 22.5px;
  height: 22.5px; }
  @media screen and (min-width: 81.25em) {
    .call-rating-container.list-view {
      margin: auto; } }

.call-rating-container .rating-label {
  display: block;
  margin-bottom: 10px;
  font-size: 0.875rem;
  font-weight: 600;
  color: #484848; }

.call-rating-container .rating-information {
  display: block;
  font-size: 0.8125rem;
  font-style: italic;
  line-height: 1; }

.call-rating-container .call-rating-value {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background-repeat: no-repeat; }
  .call-rating-container .call-rating-value input {
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
    visibility: hidden; }
  .call-rating-container .call-rating-value input[type=radio]:checked + span.radio {
    opacity: 1;
    cursor: not-allowed;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .call-rating-container .call-rating-value.rating-icon-0 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-cannot-rate.svg");
    opacity: .1; }
  .call-rating-container .call-rating-value.rating-icon-0.unrated .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-unrated.svg");
    opacity: .5; }
  .call-rating-container .call-rating-value.rating-icon-1 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-very-bad.svg"); }
  .call-rating-container .call-rating-value.rating-icon-2 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-bad.svg"); }
  .call-rating-container .call-rating-value.rating-icon-3 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-average.svg"); }
  .call-rating-container .call-rating-value.rating-icon-4 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-good.svg"); }
  .call-rating-container .call-rating-value.rating-icon-5 .icon {
    background-image: url("/template/content/development/images/icons//calls/call-rating-very-good.svg"); }
  .call-rating-container .call-rating-value .icon {
    width: 100%;
    height: 100%; }
  .call-rating-container .call-rating-value .radio {
    width: 25px;
    height: 25px;
    display: block;
    opacity: .2;
    cursor: pointer;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .call-rating-container .call-rating-value .radio:hover {
      opacity: 1;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
    .call-rating-container .call-rating-value .radio:active {
      opacity: .7; }

.call-urgency-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (min-width: 81.25em) {
    .call-urgency-icon {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  .call-urgency-icon.low {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-low.svg); }
  .call-urgency-icon.medium {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-medium.svg); }
  .call-urgency-icon.high {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-high.svg); }
  .call-urgency-icon.critical {
    --urgency-image-url: url(/template/content/development/images/icons//calls/cp-urgency-critical.svg); }
  .call-urgency-icon:before {
    content: '';
    width: 22.5px;
    height: 22.5px;
    background-image: var(--urgency-image-url);
    display: block; }

.sticky-side-buttons .sticky-side-button .button-icon:before {
  font-size: 26px; }

@media screen and (min-width: 120em) {
  .sticky-side-buttons .sticky-side-button .button-icon:before {
    font-size: 32px; } }

.sticky-side-buttons .sticky-side-button .button-icon.call-back-to-list:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-request-archive:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-add-information:before {
  content: "";
  font-family: "fontello"; }

.sticky-side-buttons .sticky-side-button .button-icon.call-create:before {
  content: "";
  font-family: "fontello"; }

table.call-table, .responsive-reveal-table {
  table-layout: fixed; }
  @media screen and (min-width: 81.25em) {
    table.call-table, .responsive-reveal-table {
      margin: 10px 0; } }
  table.call-table td, .responsive-reveal-table td {
    padding-top: 10px;
    padding-bottom: 10px;
    vertical-align: top; }
  @media screen and (min-width: 81.25em) {
    table.call-table.enquiry-table, .responsive-reveal-table.enquiry-table {
      margin: 20px 0; } }
  table.call-table .notification-col, .responsive-reveal-table .notification-col {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      table.call-table .notification-col, .responsive-reveal-table .notification-col {
        width: 12px; } }
    table.call-table .notification-col .notification-content, .responsive-reveal-table .notification-col .notification-content {
      margin-right: 20px;
      padding: 10px; }
  table.call-table td.unread-col, .responsive-reveal-table td.unread-col {
    vertical-align: middle; }
  table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
    width: 90px; }
    @media print, screen and (max-width: 81.24875em) {
      table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
        padding-right: 10px; }
        table.call-table td.call-number-col a, table.call-table th.call-number-col a, table.call-table .call-number-col a, .responsive-reveal-table td.call-number-col a, .responsive-reveal-table th.call-number-col a, .responsive-reveal-table .call-number-col a {
          color: #484848;
          font-size: 1.25rem;
          font-weight: 700; } }
    @media screen and (min-width: 81.25em) {
      table.call-table td.call-number-col, table.call-table th.call-number-col, table.call-table .call-number-col, .responsive-reveal-table td.call-number-col, .responsive-reveal-table th.call-number-col, .responsive-reveal-table .call-number-col {
        width: 8%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.customer-name-col, table.call-table th.customer-name-col, .responsive-reveal-table td.customer-name-col, .responsive-reveal-table th.customer-name-col {
      width: 12%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table:has(.rating-col) td.subject-col, table.call-table:has(.rating-col) th.subject-col, table.call-table:has(.rating-col) .subject-col, .responsive-reveal-table:has(.rating-col) td.subject-col, .responsive-reveal-table:has(.rating-col) th.subject-col, .responsive-reveal-table:has(.rating-col) .subject-col {
      width: 15%; } }
  table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
    width: 55%; }
    @media print, screen and (min-width: 40em) {
      table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
        width: 70%; } }
    @media print, screen and (max-width: 81.24875em) {
      table.call-table td.subject-col a, table.call-table th.subject-col a, table.call-table .subject-col a, .responsive-reveal-table td.subject-col a, .responsive-reveal-table th.subject-col a, .responsive-reveal-table .subject-col a {
        display: block;
        font-size: 1rem;
        font-weight: 700;
        color: #484848;
        line-height: 1; } }
    @media screen and (min-width: 81.25em) {
      table.call-table td.subject-col, table.call-table th.subject-col, table.call-table .subject-col, .responsive-reveal-table td.subject-col, .responsive-reveal-table th.subject-col, .responsive-reveal-table .subject-col {
        width: 23.7%;
        text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.service-contract-col, table.call-table th.service-contract-col, .responsive-reveal-table td.service-contract-col, .responsive-reveal-table th.service-contract-col {
      width: 11.5%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.call-contact-col, table.call-table th.call-contact-col, .responsive-reveal-table td.call-contact-col, .responsive-reveal-table th.call-contact-col {
      width: 10%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.user-contact-col, table.call-table th.user-contact-col, .responsive-reveal-table td.user-contact-col, .responsive-reveal-table th.user-contact-col {
      width: 10%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.created-col, table.call-table th.created-col, .responsive-reveal-table td.created-col, .responsive-reveal-table th.created-col {
      width: 7.7%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.last-updated, table.call-table th.last-updated, .responsive-reveal-table td.last-updated, .responsive-reveal-table th.last-updated {
      width: 7.7%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.rating-col, table.call-table th.rating-col, .responsive-reveal-table td.rating-col, .responsive-reveal-table th.rating-col {
      width: 6%; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.urgency-col, table.call-table th.urgency-col, .responsive-reveal-table td.urgency-col, .responsive-reveal-table th.urgency-col {
      width: 7%; } }
  table.call-table td.type-col, table.call-table th.type-col, .responsive-reveal-table td.type-col, .responsive-reveal-table th.type-col {
    text-align: left; }
    @media screen and (min-width: 81.25em) {
      table.call-table td.type-col, table.call-table th.type-col, .responsive-reveal-table td.type-col, .responsive-reveal-table th.type-col {
        width: 7%;
        text-align: center; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.source-col, table.call-table th.source-col, .responsive-reveal-table td.source-col, .responsive-reveal-table th.source-col {
      width: 7%; } }
  table.call-table td.data-time-col p, table.call-table th.date-time-col p, .responsive-reveal-table td.data-time-col p, .responsive-reveal-table th.date-time-col p {
    margin: 0;
    padding: 0; }
  @media screen and (min-width: 81.25em) {
    table.call-table td.data-time-col, table.call-table th.date-time-col, .responsive-reveal-table td.data-time-col, .responsive-reveal-table th.date-time-col {
      width: 16%;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.notes-col, table.call-table th.notes-col, .responsive-reveal-table td.notes-col, .responsive-reveal-table th.notes-col {
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.timestamp-col, table.call-table th.timestamp-col, .responsive-reveal-table td.timestamp-col, .responsive-reveal-table th.timestamp-col {
      padding-right: 20px;
      padding-left: 20px;
      text-align: left; } }
  @media screen and (min-width: 81.25em) {
    table.call-table td.changes-col, table.call-table th.changes-col, .responsive-reveal-table td.changes-col, .responsive-reveal-table th.changes-col {
      padding-right: 20px;
      padding-left: 20px;
      text-align: left; } }
  table.call-table td.pending-changes-info-col, .responsive-reveal-table td.pending-changes-info-col {
    padding: 10px 0;
    font-style: italic; }
    @media screen and (min-width: 81.25em) {
      table.call-table td.pending-changes-info-col, .responsive-reveal-table td.pending-changes-info-col {
        padding: 10px 20px; } }
  table.call-table .ellipsis-text:hover, .responsive-reveal-table .ellipsis-text:hover {
    left: -5px; }
  table.call-table .call-notes-container, .responsive-reveal-table .call-notes-container {
    overflow-wrap: anywhere; }
  table.call-table tr.call-closed td:not(.rating-col):not(.unread-col), .responsive-reveal-table tr.call-closed td:not(.rating-col):not(.unread-col) {
    opacity: .5; }
    table.call-table tr.call-closed td:not(.rating-col):not(.unread-col):hover, .responsive-reveal-table tr.call-closed td:not(.rating-col):not(.unread-col):hover {
      opacity: 1; }

.enquiry-filters label {
  width: 100%; }
  .enquiry-filters label span.checkbox, .enquiry-filters label span.radio {
    margin-right: auto;
    margin-left: auto; }

.enquiry-filters .label {
  width: 80%;
  display: inline-block; }

.call-type-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
  margin: 5px 0;
  print-color-adjust: exact;
  -webkit-print-color-adjust: exact; }
  @media screen and (min-width: 81.25em) {
    .call-type-icon {
      margin: 0 auto; } }
  .call-type-icon:before {
    font-family: "fontello";
    font-size: 14px;
    color: #00adef; }
  .call-type-icon.demo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 30px; }
    .call-type-icon.demo:before {
      font-size: 26px; }
  .call-type-icon.attachment:before {
    content: ""; }
  .call-type-icon.call-privacy:before {
    content: ""; }
  .call-type-icon.call-type:before {
    content: ""; }
  .call-type-icon.classification:before {
    content: ""; }
  .call-type-icon.completed:before {
    content: ""; }
  .call-type-icon.contact:before {
    content: ""; }
  .call-type-icon.contract:before {
    content: ""; }
  .call-type-icon.contract-type:before {
    content: ""; }
  .call-type-icon.created:before {
    content: ""; }
  .call-type-icon.deferred:before {
    content: ""; }
  .call-type-icon.escalation:before {
    content: ""; }
  .call-type-icon.impact:before {
    content: ""; }
  .call-type-icon.inbound-phone-call:before {
    content: ""; }
  .call-type-icon.information:before {
    content: ""; }
  .call-type-icon.link:before {
    content: ""; }
  .call-type-icon.outbound-phone-call:before {
    content: ""; }
  .call-type-icon.priority:before {
    content: ""; }
  .call-type-icon.responsiblity:before {
    content: ""; }
  .call-type-icon.shortcut-sent:before {
    content: ""; }
  .call-type-icon.sla-inclusion:before {
    content: ""; }
  .call-type-icon.status:before {
    content: ""; }
  .call-type-icon.undeferred:before {
    content: ""; }
  .call-type-icon.urgency:before {
    content: ""; }
  .call-type-icon.workflow:before {
    content: ""; }

.call-source-icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block; }
  @media screen and (min-width: 81.25em) {
    .call-source-icon {
      margin: 0 auto; } }
  .call-source-icon:before {
    font-family: "Font Awesome Solid";
    font-size: 14px;
    color: #00adef; }
  .call-source-icon.demo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 30px; }
    .call-source-icon.demo:before {
      font-size: 26px; }
  .call-source-icon.user:before {
    content: ""; }
  .call-source-icon.portal:before {
    content: ""; }
  .call-source-icon.email:before {
    content: ""; }

.table-heading {
  margin: 10px 0; }

/*
----- Back to top ------ 
This is the button that appear at the bottom of the page that takes you back to the top of the viewport.
*/
.back-top-container {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  bottom: 70px;
  z-index: 1500; }
  @media screen and (min-width: 81.25em) {
    .back-top-container {
      width: 50px;
      height: 60px;
      right: 30px;
      bottom: 90px; } }

.back-top-button {
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  .back-top-button:before {
    content: "";
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-radius: 10px;
    border: 2px solid #01416f;
    font-size: 17px;
    font-family: "Font Awesome Solid";
    line-height: 1;
    text-align: center;
    background: #64a6d4;
    color: #01416f;
    -webkit-transition: all 0.8s;
    transition: all 0.8s; }
    @media screen and (min-width: 81.25em) {
      .back-top-button:before {
        font-size: 22px; } }
  .back-top-button:hover, .back-top-button:hover.active {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
    .back-top-button:hover:before, .back-top-button:hover.active:before {
      background: #01416f;
      color: #ffffff;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      border-color: #01416f;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
  .back-top-button:active:before, .back-top-button:active:active:before {
    background: #67156a;
    color: #ffffff;
    border-color: #67156a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .back-top-button.active {
    opacity: .7; }

/*
----- Sections ----- 
Axis toggler is build on top of Foundation's Toggler https://get.foundation/sites/docs/toggler.html and is similar to https://get.foundation/sites/docs/accordion.html but sometimes it is not possible convenient to build the section(s) in <ul> or in desktop you require the layout to be completely different to mobile.
*/
.axis-section {
  margin: 0; }
  .axis-section.active .axis-section-header:after {
    content: ""; }
  .axis-section.active .axis-section-content {
    max-height: 80vh;
    margin: 20px 0 0;
    overflow-y: auto;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }
  .axis-section.active .axis-section-buttons {
    display: block; }
  .axis-section.reveal-enabled:not(.active) {
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content; }
    .axis-section.reveal-enabled:not(.active) .axis-section-header {
      margin-bottom: 0;
      padding-bottom: 0;
      -webkit-transition: margin-bottom 0.6s, padding-bottom 0.6s;
      transition: margin-bottom 0.6s, padding-bottom 0.6s; }
  .axis-section.disabled {
    background-color: var(--neutral-colour-lightness-7);
    opacity: .6;
    cursor: not-allowed; }
    .axis-section.disabled .axis-section-header {
      cursor: not-allowed; }
      .axis-section.disabled .axis-section-header:after {
        color: #6d6d6d; }

.axis-section-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  cursor: pointer; }
  .axis-section-header:after {
    content: "";
    margin-left: auto;
    font-family: "Font Awesome Solid";
    font-size: 18px;
    color: #01416f;
    line-height: 14px; }

.axis-section-content {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 81.25em) {
    .axis-section-content {
      margin: 0; } }
  .axis-section-content p {
    margin: 0;
    font-size: 0.875rem; }
  .axis-section-content .cms-content-container {
    margin-bottom: 20px; }

.axis-section-buttons {
  display: none; }

/*

----- Ellipsis ----- 
When the content is too longer to fix within a table cell ( for example ) allow the user to show overflowing text by hovering.

IMPORTANT: This only works with single lines of text, multi-line you will need to look into --webkit-line-clamp.
*/
.ellipsis-text-container {
  position: relative; }

.ellipsis-text {
  display: block;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden; }
  @media screen and (min-width: 81.25em) {
    .ellipsis-text {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .ellipsis-text.ellipsis-active {
    -webkit-mask-image: -webkit-gradient(linear, left top, right top, color-stop(50%, black), to(transparent));
    -webkit-mask-image: linear-gradient(to right, black 50%, transparent 100%);
            mask-image: -webkit-gradient(linear, left top, right top, color-stop(50%, black), to(transparent));
            mask-image: linear-gradient(to right, black 50%, transparent 100%); }
    @media screen and (min-width: 81.25em) {
      .ellipsis-text.ellipsis-active {
        max-width: 100%; }
        .ellipsis-text.ellipsis-active:hover {
          max-width: none;
          height: 100%;
          position: absolute;
          top: 0;
          left: 0;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          padding-right: 10px;
          padding-left: 10px;
          background-color: #ffffff;
          text-overflow: inherit;
          overflow: visible;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          z-index: 1;
          -webkit-mask-image: none;
                  mask-image: none;
          opacity: 1; } }

/*
----- Blur ------ 
The effect that gets applied the header, main & footer when a modal or menu is open, essentially blur's out the content in the background when something is overlaying the page's main content.
*/
.blur {
  --defuse-animation: defuseBlur .3s forwards;
  -webkit-filter: blur(10px);
          filter: blur(10px);
  -webkit-animation: blur 0.6s;
          animation: blur 0.6s; }
  .blur.defuse {
    -webkit-filter: blur(0);
            filter: blur(0);
    -webkit-animation: defuseBlur 0.3s;
            animation: defuseBlur 0.3s; }

@-webkit-keyframes defuseBlur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px); }
  20% {
    -webkit-filter: blur(8px);
            filter: blur(8px); }
  40% {
    -webkit-filter: blur(6px);
            filter: blur(6px); }
  60% {
    -webkit-filter: blur(4px);
            filter: blur(4px); }
  80% {
    -webkit-filter: blur(2px);
            filter: blur(2px); }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px); } }

@keyframes defuseBlur {
  0% {
    -webkit-filter: blur(10px);
            filter: blur(10px); }
  20% {
    -webkit-filter: blur(8px);
            filter: blur(8px); }
  40% {
    -webkit-filter: blur(6px);
            filter: blur(6px); }
  60% {
    -webkit-filter: blur(4px);
            filter: blur(4px); }
  80% {
    -webkit-filter: blur(2px);
            filter: blur(2px); }
  100% {
    -webkit-filter: blur(0px);
            filter: blur(0px); } }

#pageOverlay, .blur-overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  background-color: transparent;
  opacity: 0.1; }

/*

---- Static ---- 
Dedicated specifically towards the landing page for the static landing page for express.

*/
.modules-test-page-header {
  margin: 0 0 10px;
  padding: 30px;
  background-color: #eeeeee;
  border: 1px solid #484848; }

.row-background.grid-container .modules-control-panel.module-controls {
  top: 36px; }

@media screen and (min-width: 81.25em) {
  .grid-container .modules-control-panel.module-controls {
    top: 0; } }

.modules-control-panel {
  position: absolute;
  left: 0;
  display: block; }
  .modules-control-panel.row-controls {
    top: 0; }
  .modules-control-panel.module-controls {
    top: 50px; }

.modules-control-buttons {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 10px;
  padding: 10px;
  background-color: #eeeeee;
  opacity: 0.5;
  z-index: 2;
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s; }
  .modules-control-buttons:hover {
    opacity: 1;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .modules-control-buttons .modules-control-button {
    background-color: #ffffff;
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    .modules-control-buttons .modules-control-button[aria-expanded=true] {
      background-color: #01416f;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
      .modules-control-buttons .modules-control-button[aria-expanded=true]:before {
        color: #ffffff;
        border-color: #ffffff;
        -webkit-transition: color 0.6s, border-color 0.6s;
        transition: color 0.6s, border-color 0.6s; }
    .modules-control-buttons .modules-control-button:before {
      display: block;
      padding: 5px 10px;
      color: #01416f;
      font-family: "Font Awesome Solid";
      font-size: 16px;
      border: 1px solid #01416f; }
    .modules-control-buttons .modules-control-button.module-info:before {
      content: '\f129'; }

.modules-info-container {
  max-width: 100%;
  width: 320px;
  position: relative;
  z-index: 1000; }
  @media print, screen and (min-width: 40em) {
    .modules-info-container {
      width: 500px; } }
  .modules-info-container .modules-info-heading-container {
    margin: 0 0 10px;
    padding: 0 0 10px;
    border-bottom: 2px solid #eeeeee; }
  .modules-info-container .general-information-panel {
    background-color: #eeeeee; }
  .modules-info-container .content {
    margin: 20px 0 0;
    padding: 20px;
    background-color: #ffffff;
    border: 2px solid #01416f; }
    .modules-info-container .content ul {
      list-style: none; }
      .modules-info-container .content ul li {
        font-size: 0.9375rem; }
    .modules-info-container .content > ul > li {
      margin: 5px 0;
      padding: 5px;
      border: 2px solid #eeeeee; }
    .modules-info-container .content ul {
      margin: 0;
      padding: 0; }
      .modules-info-container .content ul ul ul {
        margin-left: 10px; }
    .modules-info-container .content h4, .modules-info-container .content h5, .modules-info-container .content h6 {
      padding: 0;
      font-size: 0.9375rem;
      font-weight: 600; }
    .modules-info-container .content h4, .modules-info-container .content h5 {
      margin: 10px 0; }
    .modules-info-container .content h4, .modules-info-container .content h5 {
      color: #484848; }
    .modules-info-container .content h6 {
      margin: 5px 0;
      color: #01416f; }
    .modules-info-container .content strong {
      color: #01416f;
      padding-right: 10px; }
      .modules-info-container .content strong:after {
        content: ":";
        display: inline-block; }

/*

---- Stockist ---- 
Specifically for the stockish component: 
- Sorting area
- Search results 
- Interactive map

*/
.interactive-map-sorting-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 25px; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-sorting-options {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; } }
  .interactive-map-sorting-options .sorting-option {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .interactive-map-sorting-options .sorting-option {
        width: auto; } }
    .interactive-map-sorting-options .sorting-option .label {
      width: 100%;
      margin-right: 20px;
      font-size: 0.875rem;
      font-weight: 700;
      color: var(--primary-colour-lightness-0); }
      @media screen and (min-width: 81.25em) {
        .interactive-map-sorting-options .sorting-option .label {
          width: auto; } }
  .interactive-map-sorting-options .control.search {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
  .interactive-map-sorting-options .address-search-container input::-webkit-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::-moz-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input:-ms-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::-ms-input-placeholder {
    font-size: 0.875rem; }
  .interactive-map-sorting-options .address-search-container input::placeholder {
    font-size: 0.875rem; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-sorting-options .address-search-container input {
      width: 290px !important; } }
  @media screen and (min-width: 81.25em) {
    .interactive-map-sorting-options .product-filter-container {
      margin-left: auto; } }
  .interactive-map-sorting-options .product-filter-container .label:before {
    content: "";
    margin-right: 10px;
    font-family: "Font Awesome Solid";
    font-size: 18px;
    color: #1281bf; }
  .interactive-map-sorting-options .separator {
    margin: 7px 0 2px;
    font-size: 1rem;
    text-transform: uppercase;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .interactive-map-sorting-options .separator {
        margin: 0 25px; } }

.stockist-container {
  max-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  @media screen and (min-width: 81.25em) {
    .stockist-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .stockist-container.active {
    max-height: none;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    margin-bottom: 20px; }
    @media screen and (min-width: 81.25em) {
      .stockist-container.active {
        max-height: 80vh;
        min-height: 50vh;
        -webkit-transition: max-height 0.6s;
        transition: max-height 0.6s; } }

.interactive-map-search-results-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px 20px 15px;
  background-color: #f3f3f3; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-search-results-container {
      max-width: 420px;
      width: 100%;
      padding: 30px 40px; } }
  .interactive-map-search-results-container ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  .interactive-map-search-results-container li {
    padding: 10px 0 15px;
    border-bottom: 1px solid #aeaeae; }
  .interactive-map-search-results-container .header-container {
    margin-bottom: 20px; }
    .interactive-map-search-results-container .header-container h2 {
      font-size: 1.34375rem; }
  .interactive-map-search-results-container .result-button-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-search-results-container .results-container {
      padding-right: 10px;
      overflow-y: auto; } }
  .interactive-map-search-results-container .results-container .description {
    font-size: 0.875rem;
    font-weight: 700;
    color: #484848; }
  .interactive-map-search-results-container .results-container .address {
    font-size: 0.875rem; }
    .interactive-map-search-results-container .results-container .address + .telephone {
      margin-bottom: 10px; }
    .interactive-map-search-results-container .results-container .address + .result-button-container {
      margin-top: 10px; }
  .interactive-map-search-results-container .results-container .telephone {
    font-size: 0.875rem; }
    .interactive-map-search-results-container .results-container .telephone a {
      padding-left: 5px; }

.website-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  margin: var(--common-button-small-margin, 0 40px 0 0);
  padding: var(--common-button-padding, 5px 30px);
  color: #01416f;
  background-color: #bbe8f7;
  border-width: 2px;
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s; }
  @media print, screen and (min-width: 40em) {
    .website-button {
      margin: var(--common-button-medium-margin, 0); } }
  @media screen and (min-width: 81.25em) {
    .website-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .website-button:hover, .website-button.hover {
      color: #ffffff;
      background-color: #01416f;
      border-color: #1281bf;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .website-button:hover .graduated-colour-edge .step, .website-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .website-button:active, .website-button.active {
    color: #ffffff;
    background-color: #67156a;
    border-color: #67156a;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
  .website-button:disabled, .website-button.disabled, .website-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
  .website-button:disabled:hover, .website-button.disabled:hover {
    border-color: #6d6d6d; }
  .website-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .website-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.interactive-map-location-button {
  margin-left: auto;
  padding: 0 5px; }
  .interactive-map-location-button:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 22px;
    color: #2f6589;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .interactive-map-location-button:hover:before {
    color: #67156a;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .interactive-map-location-button:active:before {
    color: #01416f; }

.interactive-map-container {
  min-height: 60vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  @media screen and (min-width: 81.25em) {
    .interactive-map-container {
      min-height: 200px;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; } }

.interactive-map {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border: 1px solid #dadada;
  -webkit-transition: -webkit-box-shadow 0.8s;
  transition: -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s;
  transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
  .interactive-map:hover {
    -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
            box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
    -webkit-transition: -webkit-box-shadow 0.6s;
    transition: -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s;
    transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }

.organisation-container {
  font-weight: 700;
  font-size: 0.875rem;
  color: #484848; }

.interactive-map-no-results {
  width: 100%; }

.info-window-address-title {
  display: block;
  font-size: 0.875rem;
  font-weight: 600; }

.info-window-content-container .info-window-address, .info-window-content-container .telephone {
  font-size: 0.8125rem; }
  .info-window-content-container .info-window-address a, .info-window-content-container .telephone a {
    padding-left: 5px;
    font-size: 0.875rem; }

.info-window-content-container .info-window-button-container {
  margin-top: 10px; }

/*
----- Tree Menu -----

*/
.tree-menu input[type=checkbox] {
  visibility: hidden; }

.tree-menu ul {
  padding: 0;
  list-style: none; }
  .tree-menu ul li {
    position: relative; }
  .tree-menu ul li > .node-content-container {
    max-height: 0;
    padding: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.8s;
    transition: max-height 0.8s; }
  .tree-menu ul label {
    width: 100%;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer; }
    .tree-menu ul label:before {
      content: "";
      width: 25px;
      height: 25px;
      position: relative;
      float: left;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #ffffff;
      border: 2px solid #ffffff;
      color: #01416f;
      font-family: "Font Awesome Solid";
      font-size: 12px;
      border-radius: 25px;
      z-index: 1; }
    .tree-menu ul label .label {
      margin-left: 20px;
      font-size: 1.25rem;
      font-weight: 700;
      color: #01416f; }
  .tree-menu ul label.active:before {
    content: ""; }
  .tree-menu ul label.active ~ .node-content-container {
    height: 100%;
    -webkit-transition: max-height 0.6s, height 0.6s;
    transition: max-height 0.6s, height 0.6s; }

.tree-menu > ul {
  margin: 0;
  padding: 0; }
  .tree-menu > ul > li > label {
    padding: 10px 0 10px 6.66px;
    border-bottom: 2px solid #ffffff; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul > li > label {
        padding: 10px 0 10px 20px; } }
    .tree-menu > ul > li > label .label {
      font-size: 1.25rem;
      color: #ffffff; }
  .tree-menu > ul > li:not(.tree-menu-parent) .node-content-container .tree-additional-information-container {
    padding-right: 10px;
    padding-left: 15px;
    border-bottom: 20px solid #ffffff; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul > li:not(.tree-menu-parent) .node-content-container .tree-additional-information-container {
        padding-left: 30px; } }
  .tree-menu > ul > li > .node-content-container > ul:not(:last-child) {
    border-bottom: 2px solid #ffffff; }
  .tree-menu > ul > li > .node-content-container > ul:last-child {
    border-bottom: 20px solid #ffffff; }
  .tree-menu > ul > li > .node-content-container > ul > li {
    padding: 0 5px; }
    .tree-menu > ul > li > .node-content-container > ul > li:not(:last-child) {
      border-bottom: 2px solid #ffffff; }
    .tree-menu > ul > li > .node-content-container > ul > li label .label {
      font-size: 1.125rem; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul > li > .node-content-container > ul > li {
        padding: 10px 0 10px 70px; } }
    .tree-menu > ul > li > .node-content-container > ul > li.active:after {
      top: 22.5px;
      left: 16.5px; }
      @media screen and (min-width: 81.25em) {
        .tree-menu > ul > li > .node-content-container > ul > li.active:after {
          top: 32.5px;
          left: 81.5px; } }
    .tree-menu > ul > li > .node-content-container > ul > li > .node-content-container .tree-additional-information-container:before {
      left: 11.5px; }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:not(:last-child):before {
      height: 30px; }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:before {
      height: 17px; }
      @media screen and (min-width: 81.25em) {
        .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul:last-child > li:before {
          height: 18px; } }
    .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li {
      padding: 0 0 0 25px; }
      @media screen and (min-width: 81.25em) {
        .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li {
          padding: 0 0 0 45px; } }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:before {
        content: "";
        width: 2px;
        height: 100%;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 11.5px;
        display: block;
        background-color: #ffffff; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:after {
        top: 22.5px;
        left: 36.5px; }
        @media screen and (min-width: 81.25em) {
          .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li:after {
            top: 32.5px;
            left: 56.5px; } }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li.active:not(:last-child):before {
        height: 100%; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li label .label {
        font-style: italic;
        font-size: 1rem; }
      .tree-menu > ul > li > .node-content-container > ul > li .node-content-container > ul > li > .tree-additional-information-container:before {
        left: -33.5px; }
  .tree-menu > ul > li > .node-content-container > ul .tree-menu-parent.active:after {
    content: "";
    width: 2px;
    height: 18px;
    position: absolute;
    display: block;
    background-color: #ffffff; }
  .tree-menu > ul ul .tree-menu-parent > .node-content-container > .tree-additional-information-container:before {
    content: '';
    width: 2px;
    height: calc(100% + 25px);
    position: absolute;
    top: -25px;
    background-color: #ffffff; }
  .tree-menu > ul ul .tree-additional-information-container {
    position: relative;
    padding-right: 10px;
    padding-left: 25px; }
    @media screen and (min-width: 81.25em) {
      .tree-menu > ul ul .tree-additional-information-container {
        padding-right: 0;
        padding-left: 45px; } }
  .tree-menu > ul ul ul li label:after {
    content: '';
    width: 32.5px;
    height: 2px;
    position: absolute;
    top: 15.5px;
    left: 12.5px;
    display: block;
    background-color: #ffffff; }

.tree-menu.assets {
  margin-bottom: 50px; }
  .tree-menu.assets > ul {
    background-color: #64a6d4; }
    .tree-menu.assets > ul > li > label {
      background-color: #00adef; }

.tree-menu .attachments-container ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.tree-menu .attachments-container .attachment {
  padding: 0; }
  .tree-menu .attachments-container .attachment:before {
    width: 30px;
    margin: 0;
    font-size: 20px; }

.tree-menu .alert-node > label:before {
  background-color: #b20c0c;
  color: #ffffff; }

.tree-menu .alert-node .node-content-container > .alert-container .tree-additional-information-background {
  border-color: #b20c0c; }

.tree-menu .alert-node .node-content-container > .alert-container .alert-value .value, .tree-menu .alert-node .node-content-container > .alert-container .alert-value .label {
  color: #b20c0c;
  font-size: 1rem;
  font-weight: 700; }

.tree-menu .alert-node .node-content-container > .alert-container .alert-value .value {
  position: relative; }
  .tree-menu .alert-node .node-content-container > .alert-container .alert-value .value:before {
    content: "";
    width: 30px;
    display: inline-block;
    font-family: "Font Awesome Solid";
    color: #b20c0c;
    font-size: 20px; }

.tree-additional-information-container {
  max-width: 700px;
  padding: 10px 0; }
  .tree-additional-information-container .additional-information {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .tree-additional-information-container .additional-information:not(:first-of-type):not(:last-of-type) {
      margin: 10px 0; }
    .tree-additional-information-container .additional-information:first-of-type {
      margin-bottom: 10px; }
    .tree-additional-information-container .additional-information:last-of-type {
      margin-top: 10px; }
    @media screen and (min-width: 81.25em) {
      .tree-additional-information-container .additional-information {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .tree-additional-information-container .additional-information span {
      font-size: 0.875rem; }
  .tree-additional-information-container .label {
    max-width: 225px;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.tree-additional-information-background {
  padding: 10px;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3); }
  @media screen and (min-width: 81.25em) {
    .tree-additional-information-background {
      padding: 30px 22px; } }

.tree-menu-header {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 15px 0 20px; }
  @media screen and (min-width: 81.25em) {
    .tree-menu-header {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media screen and (min-width: 81.25em) {
    .tree-menu-header .tree-menu-controls {
      margin-right: 0;
      margin-left: auto; } }
  .tree-menu-header .tree-menu-information {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .tree-menu-header .tree-menu-information {
        padding: 0; } }
  .tree-menu-header .tree-information {
    position: relative;
    font-size: 0.8125rem;
    font-weight: 700;
    color: #01416f; }
    .tree-menu-header .tree-information.alert {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      cursor: pointer; }
      .tree-menu-header .tree-information.alert:before {
        content: '';
        width: 10px;
        height: 10px;
        display: inline-block;
        margin: 0 10px 0 5px;
        background-color: #b20c0c;
        border-radius: 25px; }

.tree-menu-expand-toggle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: .8125rem;
  font-weight: 700;
  color: #01416f; }
  .tree-menu-expand-toggle:after {
    content: "";
    width: 18px;
    height: 18px;
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-left: 10px;
    border-radius: 25px;
    border: 2px solid #01416f;
    background-color: #ffffff;
    color: #01416f;
    font-family: "Font Awesome Solid";
    font-size: 8px; }
  .tree-menu-expand-toggle.active:after {
    content: ""; }

/*
----- Reviews ----- 
- Handles interfacing with third-party review api's like feefo.
*/
.rating-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }
  .rating-container .review-stars {
    margin: 0 10px 0; }
    .rating-container .review-stars li:not(:last-child) {
      margin-right: 5px; }
  .rating-container .star-full, .rating-container [class*=rating-icon] {
    position: relative;
    padding-left: 0; }
    .rating-container .star-full:before, .rating-container [class*=rating-icon]:before {
      content: "";
      font-family: "Font Awesome Solid";
      color: #e5b701; }

@media screen and (min-width: 81.25em) {
  .product-reviews-container {
    padding: 0 15px; } }

.product-reviews-container ul {
  padding: 0;
  list-style: none; }
  .product-reviews-container ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 15px 0;
    border-bottom: 1px solid #dadada; }

.product-reviews-container .review-details-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.product-reviews-container .display-name-container {
  color: #484848;
  font-weight: 600;
  font-size: 0.875rem; }
  .product-reviews-container .display-name-container + .last-updated-container:before {
    content: '-';
    margin: 0 5px;
    line-height: 1.5; }

.product-reviews-container .display-location-container {
  width: 100%;
  display: block;
  font-size: 0.875rem; }

.product-reviews-container .last-updated-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #959595;
  font-size: 0.875rem; }

.product-reviews-container .list-count-container {
  color: #959595; }
  .product-reviews-container .list-count-container .current-showing-count {
    color: #484848; }

.product-reviews-container .reviews-container {
  margin-bottom: 10px; }

.product-reviews-container .reviews-pager-container + .reviews-product-footer {
  border-top: 1px solid #dadada; }

.product-reviews-container .reviews-product-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 10px; }
  @media screen and (min-width: 81.25em) {
    .product-reviews-container .reviews-product-footer {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .product-reviews-container .reviews-product-footer .service-provider-logo {
    display: block;
    margin: 20px 0;
    background-repeat: no-repeat;
    background-size: contain; }
  .product-reviews-container .reviews-product-footer .feefo-logo {
    width: 100px;
    height: 25px;
    background-image: url("/template/content/development/images/icons/feefo-logo.png"); }
  @media screen and (min-width: 81.25em) {
    .product-reviews-container .reviews-product-footer .reviews-product-review-all-container {
      margin-left: auto; } }

.review-social-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .review-social-container .helpful-votes-container + .reveal-social-icons-container {
    margin-left: 10px; }

.helpful-votes-container {
  font-size: 0.875rem;
  color: #959595; }
  .helpful-votes-container .helpful-votes-display:before {
    content: "";
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid";
    font-size: 11px; }

/*
----- Page Section Colours -----
The purpose of this is is to add background-colours to specific sections on specific pages across express using the body id, so a potential config could look like this:

header-usp-bar: (
    background-colour: $colour3-1,
    pages: ("homepage")
)

The top level map key is the class of the element that you want to effect then inside of that is the configuration i.e background colour + which pages to apply this to which is a list of body id's.
*/
/*

---- Star Ratings ---- 
Handles star ratings for products, this supports persentage based rating, here is an overview of what this would look like https://codepen.io/filcp/pen/QvZVOg .

*/
.star-ratings-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }
  .star-ratings-container [class*=rating-icon-]:before {
    content: "";
    font-family: "Font Awesome Solid";
    font-size: 17px; }
  .star-ratings-container .background-stars {
    position: relative; }
    .star-ratings-container .background-stars [class*=rating-icon-]:before {
      color: #dadada; }
  .star-ratings-container .foreground-stars {
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden; }
    .star-ratings-container .foreground-stars [class*=rating-icon-]:before {
      color: #e5b701; }
  .star-ratings-container .rating-summary-display {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    color: #01416f;
    font-size: 0.9375rem; }

.rating-breakdown-list-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
  .rating-breakdown-list-container .breakdown-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0; }
  .rating-breakdown-list-container .breakdown-stars-container {
    width: 80px; }
    .rating-breakdown-list-container .breakdown-stars-container [class*=rating-icon-]:before {
      color: #e5b701;
      font-size: 13px; }
  .rating-breakdown-list-container .breakdown-percentage-bar-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }

.breakdown-percentage-bar-container {
  margin: 0 10px; }
  .breakdown-percentage-bar-container .percentage-bar {
    width: 100%;
    height: 10px;
    display: block; }
  .breakdown-percentage-bar-container .background-bar {
    position: relative; }
    .breakdown-percentage-bar-container .background-bar .percentage-bar {
      background-color: #dadada; }
  .breakdown-percentage-bar-container .foreground-bar {
    position: absolute;
    top: 0;
    left: 0; }
    .breakdown-percentage-bar-container .foreground-bar .percentage-bar {
      background-color: #e5b701; }

.breakdown-count-container {
  width: 30px; }

.tooltip-content-container .breakdown-button-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 20px 0 0; }
  .tooltip-content-container .breakdown-button-container a {
    color: #ffffff; }
    .tooltip-content-container .breakdown-button-container a:hover {
      color: #67156a; }
    .tooltip-content-container .breakdown-button-container a:active {
      color: #01416f; }

/*
----- Barcode Scanner ------ 

*/
.barcode-scanner-toggle-button {
  --component-specifc-step-height: 15px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  position: relative;
  margin: var(--common-button-small-margin, 0);
  padding: var(--common-button-padding, 10px 15px);
  color: #000000;
  background-color: #ffffff;
  border-width: 2px;
  font-size: 0.8125rem;
  font-weight: 600;
  text-align: center;
  border-style: solid;
  cursor: pointer;
  border-color: #dadada;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 !important;
  overflow: hidden;
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  /*
        --- Icon configuration ---
        - $icposition => Before or after text
        - margin => icon margin
        - colour => icon colour states ( default, hover & active )
        - size => icon size.
        - content => the font icon itself, normally stored in $site-icons
        - font-family => the font family that the icon belongs to font awesome or fontello.
        */ }
  @media screen and (min-width: 81.25em) {
    .barcode-scanner-toggle-button {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      margin: var(--common-button-large-margin, 0); } }
  @media (hover: hover) {
    .barcode-scanner-toggle-button:hover, .barcode-scanner-toggle-button.hover {
      color: #ffffff;
      background-color: #67156a;
      border-color: #67156a;
      text-decoration: none;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .barcode-scanner-toggle-button:hover:after, .barcode-scanner-toggle-button.hover:after {
        color: #ffffff;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
      .barcode-scanner-toggle-button:hover .graduated-colour-edge .step, .barcode-scanner-toggle-button.hover .graduated-colour-edge .step {
        background-color: #ffffff;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; } }
  .barcode-scanner-toggle-button:active, .barcode-scanner-toggle-button.active {
    color: #ffffff;
    background-color: #01416f;
    border-color: #01416f;
    -webkit-transition: all 0.6s;
    transition: all 0.6s; }
    .barcode-scanner-toggle-button:active:after, .barcode-scanner-toggle-button.active:after {
      color: #ffffff; }
  .barcode-scanner-toggle-button:disabled, .barcode-scanner-toggle-button.disabled, .barcode-scanner-toggle-button[disabled] {
    color: #6d6d6d;
    background-color: #ffffff;
    border-color: #6d6d6d;
    cursor: not-allowed; }
    .barcode-scanner-toggle-button:disabled:after, .barcode-scanner-toggle-button.disabled:after, .barcode-scanner-toggle-button[disabled]:after {
      color: #6d6d6d; }
  .barcode-scanner-toggle-button:disabled:hover, .barcode-scanner-toggle-button.disabled:hover {
    border-color: #6d6d6d; }
  .barcode-scanner-toggle-button:focus-visible {
    outline: none;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); }
  .barcode-scanner-toggle-button:after {
    content: "";
    margin: 0 0 0 15px;
    font-family: "fontello";
    font-size: 20px;
    font-weight: 400;
    color: #01416f;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .barcode-scanner-toggle-button .graduated-colour-edge .step {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }

.barcode-scanner-toggle-button-container {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .barcode-scanner-toggle-button-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.barcode-scanner {
  position: relative; }
  .barcode-scanner video {
    max-width: 100%; }
  .barcode-scanner canvas {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }
  .barcode-scanner.is-inactive {
    display: none; }

.scanner-camera-selector-container {
  max-width: 490px;
  margin: 0 auto 30px; }
  @media screen and (min-width: 81.25em) {
    .scanner-camera-selector-container {
      margin: 0 auto 20px; } }
  .scanner-camera-selector-container .label {
    width: 100%;
    margin: 0 0 10px 0;
    color: #01416f;
    font-weight: 600; }
    @media print, screen and (min-width: 40em) {
      .scanner-camera-selector-container .label {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 20px 0 0; } }
  .scanner-camera-selector-container .control.select .control-select-container {
    width: calc(100% - 41px); }
    @media screen and (min-width: 81.25em) {
      .scanner-camera-selector-container .control.select .control-select-container {
        width: 330px; } }
  .scanner-camera-selector-container .tooltip-container {
    margin-left: 15px; }

.barcode-scanner-response-container {
  margin: 0; }

/*
----- Page Background Image -----
The purpose of this is is to add background image(s) to specific page types using the body id, possible configuration:

homepage: (
    background-image => [ REQUIRED ] The url of the image.
    repeat-background => [ OPTIONAL ] This defaults to no-repeat.
    background-scale => [ OPTIONAL ] This defaults to cover.
    background-attachments => [ OPTIONAL ]
    background-position => [ OPTIONAL ]
)

*/
/*
----- Tags -----
Used to display a catagorisation of groups / keywords, this ia primarily used in the cms system currently for diplsay news, blogs & event's articles.
*/
.tagging-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .tagging-container.align-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .tagging-container.listing .tagging-heading {
    margin: 0;
    font-size: 0.9375rem; }
  .tagging-container .tags-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 10px; }
    @media screen and (min-width: 81.25em) {
      .tagging-container .tags-container {
        gap: 5px 10px; } }
  .tagging-container .tagging-header-container {
    margin: 5px 0 10px; }
  .tagging-container .tagging-heading {
    margin: 0;
    font-size: 1.25rem;
    color: #01416f; }
  .tagging-container .tag-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    padding: 8px 18px;
    border: 1px solid #aeaeae;
    border-radius: 0;
    color: #01416f;
    font-size: 0.875rem;
    cursor: pointer;
    -webkit-transition: color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, box-shadow 0.8s;
    transition: color 0.8s, border-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
    .tagging-container .tag-item:hover {
      color: #67156a;
      border-color: transparent;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
      -webkit-transition: color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, box-shadow 0.6s;
      transition: color 0.6s, border-color 0.6s, box-shadow 0.6s, -webkit-box-shadow 0.6s; }
    .tagging-container .tag-item:active {
      color: #484848; }
    .tagging-container .tag-item:first-child {
      margin-left: 0; }
    .tagging-container .tag-item:last-child {
      margin-right: 0; }
    .tagging-container .tag-item.remove-button:after {
      content: "";
      margin-left: 10px;
      font-family: "Font Awesome Solid";
      font-size: 14px;
      color: #01416f;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
    .tagging-container .tag-item.remove-button:hover:after {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
    .tagging-container .tag-item.remove-button:active:after {
      color: #484848; }

/*
----- Axis Toggler -----
Build ontop of Foundations toggler https://get.foundation/sites/docs/toggler.html, we needed to add in some additional functionality to allow for re-toggling if the user clicks outside of the content area.
*/
.toggle-content-container.active .toggle-background {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  display: block;
  z-index: -1; }

/*
----- Page Background Colours -----
Similar to axis-section-colours a custom config is provide which gets looped through assigning the background-color property to the relievent pages.

NOTICE: Had to set the !important flag on the background-color property due to foundation enforing that the body background colour must be set.
*/
/*
----- Multi Field Lookup -----

Provides an area to place options ( i.e a form in a horizontal layout ) which then gets filled in to update multiple points on the page.

*/
.multi-field-lookup.quick-order .multi-field-options-container {
  background-color: #00adef;
  padding: 15px;
  border-radius: 0; }
  @media print, screen and (min-width: 40em) {
    .multi-field-lookup.quick-order .multi-field-options-container {
      padding: 50px 8%; } }
  @media screen and (min-width: 81.25em) {
    .multi-field-lookup.quick-order .multi-field-options-container {
      padding: 50px 110px; } }

@media screen and (min-width: 81.25em) {
  .multi-field-lookup.quick-order .lookup-search-container {
    max-width: 500px; } }

@media screen and (min-width: 81.25em) {
  .multi-field-lookup.quick-order .add-to-basket-container {
    max-width: 200px;
    width: 100%; } }

.multi-field-lookup.quick-order .barcode-scanner-trigger-container {
  width: 100%; }
  @media print, screen and (min-width: 40em) {
    .multi-field-lookup.quick-order .barcode-scanner-trigger-container {
      width: 33%; } }
  @media screen and (min-width: 81.25em) {
    .multi-field-lookup.quick-order .barcode-scanner-trigger-container {
      max-width: 190px;
      width: auto; } }

@media screen and (min-width: 81.25em) {
  .multi-field-lookup.quick-order .lookup-quantity-selector-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; } }

.multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number {
  border-radius: 0; }

.multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number-decrement, .multi-field-lookup.quick-order .lookup-quantity-selector-container .input-number-increment {
  background: #ffffff; }

.input-number-decrement, .input-number-increment {
  border-color: #c8c8c8; }

.multi-field-lookup.quick-order .control.search .input-prefix-icon {
  padding-right: 10px;
  padding-left: 10px; }
  .multi-field-lookup.quick-order .control.search .input-prefix-icon:before {
    content: "+";
    font-size: 22px;
    font-family: "Font Awesome Solid"; }

.input-prefix-icon:before {
  color: #01416f; }

.multi-field-lookup .multi-field-options-container {
  margin: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .multi-field-lookup .multi-field-options-container {
      margin: 20px 0 10px; } }
  .multi-field-lookup .multi-field-options-container form {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 15px; }
    @media print, screen and (min-width: 40em) {
      .multi-field-lookup .multi-field-options-container form {
        gap: 25px; } }
    @media screen and (min-width: 81.25em) {
      .multi-field-lookup .multi-field-options-container form {
        gap: 20px; } }
    .multi-field-lookup .multi-field-options-container form .lookup-option.lookup-search-container {
      width: 100%; }

.multi-field-lookup .lookup-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media print, screen and (max-width: 81.24875em) {
    .multi-field-lookup .lookup-option.add-to-basket-container {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .multi-field-lookup .lookup-option button {
    height: 45px; }
  .multi-field-lookup .lookup-option .control {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .multi-field-lookup .lookup-option .control .control-select-dropdown {
      width: 100%; }
    .multi-field-lookup .lookup-option .control .form-error {
      width: 100%;
      padding-left: 0; }
    @media screen and (min-width: 81.25em) {
      .multi-field-lookup .lookup-option .control .control-select-container {
        min-width: unset; } }
  .multi-field-lookup .lookup-option .quantity-selector-container {
    width: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }

.multi-field-lookup .multi-field-response-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
 */
:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1; }

.animate__animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animate__animated.animate__infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animate__animated.animate__repeat-1 {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: var(--animate-repeat);
  animation-iteration-count: var(--animate-repeat); }

.animate__animated.animate__repeat-2 {
  -webkit-animation-iteration-count: calc(1 * 2);
  animation-iteration-count: calc(1 * 2);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
  animation-iteration-count: calc(var(--animate-repeat) * 2); }

.animate__animated.animate__repeat-3 {
  -webkit-animation-iteration-count: calc(1 * 3);
  animation-iteration-count: calc(1 * 3);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
  animation-iteration-count: calc(var(--animate-repeat) * 3); }

.animate__animated.animate__delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-delay: var(--animate-delay);
  animation-delay: var(--animate-delay); }

.animate__animated.animate__delay-2s {
  -webkit-animation-delay: calc(1s * 2);
  animation-delay: calc(1s * 2);
  -webkit-animation-delay: calc(var(--animate-delay) * 2);
  animation-delay: calc(var(--animate-delay) * 2); }

.animate__animated.animate__delay-3s {
  -webkit-animation-delay: calc(1s * 3);
  animation-delay: calc(1s * 3);
  -webkit-animation-delay: calc(var(--animate-delay) * 3);
  animation-delay: calc(var(--animate-delay) * 3); }

.animate__animated.animate__delay-4s {
  -webkit-animation-delay: calc(1s * 4);
  animation-delay: calc(1s * 4);
  -webkit-animation-delay: calc(var(--animate-delay) * 4);
  animation-delay: calc(var(--animate-delay) * 4); }

.animate__animated.animate__delay-5s {
  -webkit-animation-delay: calc(1s * 5);
  animation-delay: calc(1s * 5);
  -webkit-animation-delay: calc(var(--animate-delay) * 5);
  animation-delay: calc(var(--animate-delay) * 5); }

.animate__animated.animate__faster {
  -webkit-animation-duration: calc(1s / 2);
  animation-duration: calc(1s / 2);
  -webkit-animation-duration: calc(var(--animate-duration) / 2);
  animation-duration: calc(var(--animate-duration) / 2); }

.animate__animated.animate__fast {
  -webkit-animation-duration: calc(1s * 0.8);
  animation-duration: calc(1s * 0.8);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
  animation-duration: calc(var(--animate-duration) * 0.8); }

.animate__animated.animate__slow {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2); }

.animate__animated.animate__slower {
  -webkit-animation-duration: calc(1s * 3);
  animation-duration: calc(1s * 3);
  -webkit-animation-duration: calc(var(--animate-duration) * 3);
  animation-duration: calc(var(--animate-duration) * 3); }

@media print, (prefers-reduced-motion: reduce) {
  .animate__animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important; }
  .animate__animated[class*='Out'] {
    opacity: 0; } }

/* Attention seekers  */
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05); }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02); } }

@keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05); }
  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02); } }

.animate__bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

@keyframes flash {
  from,
  50%,
  to {
    opacity: 1; }
  25%,
  75% {
    opacity: 0; } }

.animate__flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

@keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }

.animate__shakeX {
  -webkit-animation-name: shakeX;
  animation-name: shakeX; }

@-webkit-keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); } }

@keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); } }

.animate__shakeY {
  -webkit-animation-name: shakeY;
  animation-name: shakeY; }

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.animate__headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }

.animate__swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);
    transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.39063deg) skewY(0.39063deg);
    transform: skewX(0.39063deg) skewY(0.39063deg); }
  88.8% {
    -webkit-transform: skewX(-0.19531deg) skewY(-0.19531deg);
    transform: skewX(-0.19531deg) skewY(-0.19531deg); } }

.animate__jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  28% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.animate__heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: calc(1s * 1.3);
  animation-duration: calc(1s * 1.3);
  -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
  animation-duration: calc(var(--animate-duration) * 1.3);
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out; }

/* Back entrances */
@-webkit-keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInDown {
  -webkit-animation-name: backInDown;
  animation-name: backInDown; }

@-webkit-keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInLeft {
  -webkit-animation-name: backInLeft;
  animation-name: backInLeft; }

@-webkit-keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInRight {
  -webkit-animation-name: backInRight;
  animation-name: backInRight; }

@-webkit-keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7; }
  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.animate__backInUp {
  -webkit-animation-name: backInUp;
  animation-name: backInUp; }

/* Back exits */
@-webkit-keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutDown {
  -webkit-animation-name: backOutDown;
  animation-name: backOutDown; }

@-webkit-keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutLeft {
  -webkit-animation-name: backOutLeft;
  animation-name: backOutLeft; }

@-webkit-keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutRight {
  -webkit-animation-name: backOutRight;
  animation-name: backOutRight; }

@-webkit-keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7; } }

@keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; }
  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7; }
  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7; } }

.animate__backOutUp {
  -webkit-animation-name: backOutUp;
  animation-name: backOutUp; }

/* Bouncing entrances  */
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }

.animate__bounceIn {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

/* Bouncing exits  */
@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }

.animate__bounceOut {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3); } }

@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3); } }

.animate__bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2); } }

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2); } }

.animate__bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2); } }

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2); } }

.animate__bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3); } }

@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985); }
  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3); } }

.animate__bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

/* Fading entrances  */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

.animate__fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInTopLeft {
  -webkit-animation-name: fadeInTopLeft;
  animation-name: fadeInTopLeft; }

@-webkit-keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInTopRight {
  -webkit-animation-name: fadeInTopRight;
  animation-name: fadeInTopRight; }

@-webkit-keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInBottomLeft {
  -webkit-animation-name: fadeInBottomLeft;
  animation-name: fadeInBottomLeft; }

@-webkit-keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__fadeInBottomRight {
  -webkit-animation-name: fadeInBottomRight;
  animation-name: fadeInBottomRight; }

/* Fading exits */
@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }

.animate__fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.animate__fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }

.animate__fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.animate__fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }

.animate__fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.animate__fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }

.animate__fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.animate__fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }

.animate__fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); } }

@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0); } }

.animate__fadeOutTopLeft {
  -webkit-animation-name: fadeOutTopLeft;
  animation-name: fadeOutTopLeft; }

@-webkit-keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); } }

@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0); } }

.animate__fadeOutTopRight {
  -webkit-animation-name: fadeOutTopRight;
  animation-name: fadeOutTopRight; }

@-webkit-keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); } }

@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0); } }

.animate__fadeOutBottomRight {
  -webkit-animation-name: fadeOutBottomRight;
  animation-name: fadeOutBottomRight; }

@-webkit-keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); } }

@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0); } }

.animate__fadeOutBottomLeft {
  -webkit-animation-name: fadeOutBottomLeft;
  animation-name: fadeOutBottomLeft; }

/* Flippers */
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.animate__animated.animate__flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.animate__flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }

.animate__flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }

.animate__flipOutX {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }

.animate__flipOutY {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

/* Lightspeed */
@-webkit-keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__lightSpeedInRight {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__lightSpeedInLeft {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOutRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOutRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }

.animate__lightSpeedOutRight {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes lightSpeedOutLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOutLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0; } }

.animate__lightSpeedOutLeft {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/* Rotating entrances */
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; } }

.animate__rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

/* Rotating exits */
@-webkit-keyframes rotateOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

@keyframes rotateOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }

.animate__rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }

.animate__rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateOutDownRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutDownRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.animate__rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }

.animate__rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom; }

@-webkit-keyframes rotateOutUpRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  from {
    opacity: 1; }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }

.animate__rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom; }

/* Specials */
@-webkit-keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

@keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }

.animate__hinge {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
  -webkit-animation-name: hinge;
  animation-name: hinge;
  -webkit-transform-origin: top left;
  transform-origin: top left; }

@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom; }
  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg); }
  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1); } }

.animate__jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }

.animate__rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

/* Zooming entrances */
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }

.animate__zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

/* Zooming exits */
@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }

.animate__zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0); } }

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0); } }

.animate__zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
  -webkit-transform-origin: left center;
  transform-origin: left center; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0); } }

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0); } }

.animate__zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
  -webkit-transform-origin: right center;
  transform-origin: right center; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }

.animate__zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

/* Sliding entrances */
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

.animate__slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

/* Sliding exits */
@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }

.animate__slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }

.animate__slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }

.animate__slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }

.animate__slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

/*

----- Axis Element Print ----- 
Allows you to select an element to be printed inside of the DOM.

This deals with general formatting of text when in print view and which element should be excluded as it doesn't make sense for them to be there.

*/
@media print {
  .pe-no-print {
    display: none !important; }
  .pe-preserve-ancestor {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !important; }
  [data-axis-sticky], [data-sticky-content-container] {
    display: none; }
  .enquiry-filters {
    display: none; }
  .call-type-icon, .call-source-icon {
    -webkit-filter: grayscale(1);
            filter: grayscale(1); }
  .enquiry-header-section h2 {
    color: #000000 !important; }
  .axis-section-header:after {
    color: #000000 !important; }
  table .col-label {
    color: #000000 !important;
    display: inline-block !important; }
  table tr {
    margin: 0 !important;
    padding-top: 5px !important;
    padding-bottom: 5px !important;
    border-bottom: 2px solid #aeaeae !important; }
  table td {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  .page-buttons-container, .account-buttons-container {
    display: none; }
  h1, h2, h3, h4, h5, h6 {
    color: #000000 !important; }
  .cms-content-container {
    max-height: none !important;
    overflow-y: visible !important; }
  .modal-container .content, .modal-container .content-container {
    overflow-y: visible !important;
    overflow: visible !important; }
  .modal-container {
    position: absolute !important;
    overflow: visible !important; }
    .modal-container.active {
      overflow-y: unset !important; } }

/*
----- Documentation ------ 
Specifically handles the styling for AXIS Documentation, there will be similarities between this code and cms containers.

This deals with the following page types:
-- Products
---- Books
------ Chapters
-------- Articles
-------- Functions
---------- Article
*/
.documentation-controls-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px; }
  @media screen and (min-width: 81.25em) {
    .documentation-controls-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      gap: 0; } }
  .documentation-controls-container .documentation-search-container {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding: 10px;
    background-color: #dadada;
    border-radius: 0; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-search-container {
        padding: 5px; } }
    .documentation-controls-container .documentation-search-container form {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      gap: 5px; }
      @media screen and (min-width: 81.25em) {
        .documentation-controls-container .documentation-search-container form {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .documentation-controls-container .documentation-search-container form .label {
        width: 100%;
        padding: 0 0 10px;
        color: #484848;
        font-size: 0.875rem;
        font-weight: 700; }
        @media screen and (min-width: 81.25em) {
          .documentation-controls-container .documentation-search-container form .label {
            width: -webkit-fit-content;
            width: -moz-fit-content;
            width: fit-content;
            padding: 0 20px 0 10px; } }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-search-container .search-zone {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content; } }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-search-container .search-zone .control-select-container {
        max-width: 400px;
        min-width: 205px;
        width: 100%; } }
    .documentation-controls-container .documentation-search-container .search-zone .selected-description {
      color: #000000; }
    .documentation-controls-container .documentation-search-container .documentation-search {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (min-width: 81.25em) {
        .documentation-controls-container .documentation-search-container .documentation-search {
          min-width: 420px; } }
      .documentation-controls-container .documentation-search-container .documentation-search .form-error {
        padding-left: 10px;
        text-align: left; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-webkit-input-placeholder {
        color: #484848;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-moz-placeholder {
        color: #484848;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input:-ms-input-placeholder {
        color: #484848;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::-ms-input-placeholder {
        color: #484848;
        font-size: 0.875rem; }
      .documentation-controls-container .documentation-search-container .documentation-search input::placeholder {
        color: #484848;
        font-size: 0.875rem; }
  @media screen and (min-width: 81.25em) {
    .documentation-controls-container .documentation-access-level-container {
      max-width: 575px;
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }
  .documentation-controls-container .documentation-access-level-container form label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-access-level-container form label {
        max-width: 575px;
        width: 100%;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
  .documentation-controls-container .documentation-access-level-container form .label {
    padding: 0 0 10px;
    font-size: 0.875rem;
    font-weight: 700; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-access-level-container form .label {
        padding: 0 10px 0 0; } }
  .documentation-controls-container .documentation-access-level-container form .control-select-container {
    width: 100%; }
    @media screen and (min-width: 81.25em) {
      .documentation-controls-container .documentation-access-level-container form .control-select-container {
        max-width: 420px; } }

.documentation-list-item-container.department-colour-palette .documentation-content-header-container h2, .documentation-list-item-container.site-style .documentation-content-header-container h2 {
  color: var(--primary-colour-lightness-0, #01416f); }

.documentation-list-content-container + .documentation-list-content-container {
  margin-top: 20px; }

.documentation-list-content-container ul {
  margin: 0;
  padding: 0;
  list-style: none; }
  .documentation-list-content-container ul.stripes > li:nth-child(odd) {
    background-color: #f3f3f3; }
  .documentation-list-content-container ul.stripes > li:nth-child(even) {
    background-color: #ffffff; }
  .documentation-list-content-container ul.stripes > li ul li.is-submenu-item:nth-child(even) {
    background-color: #f3f3f3; }
  .documentation-list-content-container ul.stripes > li ul li.is-submenu-item:nth-child(odd) {
    background-color: #ffffff; }
  .documentation-list-content-container ul li {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    gap: 0 5px;
    padding: 7px 5px; }
    @media print, screen and (min-width: 40em) {
      .documentation-list-content-container ul li .context-menu-container {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        padding: 5px 0; } }
    .documentation-list-content-container ul li .tooltip-container {
      -ms-flex-item-align: end;
          align-self: flex-end; }
  .documentation-list-content-container ul a {
    color: #484848;
    font-weight: 500;
    font-size: 1.0625rem;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    .documentation-list-content-container ul a:hover {
      color: var(--primary-colour-lightness-0, #67156a);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }

.documentation-list-content-container .index {
  display: inline-block;
  margin: 0 10px 0 0;
  text-align: left; }

.documentation-article-intro-container, .documentation-intro-container {
  --component-specifc-step-height: 56px;
  position: relative;
  overflow: hidden; }
  .documentation-article-intro-container.layout-1, .documentation-intro-container.layout-1 {
    margin: 35px 0 45px; }
    @media screen and (min-width: 81.25em) {
      .documentation-article-intro-container.layout-1, .documentation-intro-container.layout-1 {
        margin: 45px 0 55px; } }
    .documentation-article-intro-container.layout-1 h2, .documentation-intro-container.layout-1 h2 {
      margin: 0 0 30px;
      padding: 0 0 20px;
      color: var(--primary-colour-lightness-0, #01416f);
      text-align: center;
      font-size: 0.9375rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 2px;
      position: relative; }
      .documentation-article-intro-container.layout-1 h2:before, .documentation-intro-container.layout-1 h2:before {
        content: '';
        width: 50px;
        height: 1px;
        position: absolute;
        right: 0;
        bottom: 0;
        left: 0;
        display: block;
        margin: auto;
        border-width: 0 0 1px 0;
        border-style: solid;
        border-color: #959595; }
        @media print {
          .documentation-article-intro-container.layout-1 h2:before, .documentation-intro-container.layout-1 h2:before {
            border-bottom: 2px solid #959595;
            background-color: transparent; } }
    .documentation-article-intro-container.layout-1 h1, .documentation-intro-container.layout-1 h1 {
      margin: 0;
      color: #484848;
      font-size: 2.25rem;
      font-weight: 600;
      text-align: center; }
  .documentation-article-intro-container.layout-2, .documentation-intro-container.layout-2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    margin: 20px 0 30px;
    padding: 25px 20px;
    background-color: var(--primary-colour-lightness-9); }
    @media screen and (min-width: 81.25em) {
      .documentation-article-intro-container.layout-2, .documentation-intro-container.layout-2 {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 80px;
        margin: 30px 0 40px;
        padding: 20px; } }
    .documentation-article-intro-container.layout-2 h1, .documentation-article-intro-container.layout-2 h2, .documentation-intro-container.layout-2 h1, .documentation-intro-container.layout-2 h2 {
      text-align: left; }
    .documentation-article-intro-container.layout-2 h1, .documentation-intro-container.layout-2 h1 {
      margin: 0;
      color: #484848;
      font-size: 1.875rem;
      font-weight: 600; }
    .documentation-article-intro-container.layout-2 h2, .documentation-intro-container.layout-2 h2 {
      margin: 0 0 5px;
      color: var(--primary-colour-lightness-0, #01416f);
      font-size: 0.9375rem;
      text-transform: uppercase;
      letter-spacing: 3px; }
    .documentation-article-intro-container.layout-2 .content-container, .documentation-intro-container.layout-2 .content-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }
      @media screen and (min-width: 81.25em) {
        .documentation-article-intro-container.layout-2 .content-container, .documentation-intro-container.layout-2 .content-container {
          margin: 0 0 0 20px; } }
    .documentation-article-intro-container.layout-2 .banner-container .image, .documentation-intro-container.layout-2 .banner-container .image {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content;
      border: 2px solid #ffffff; }
      @media screen and (min-width: 81.25em) {
        .documentation-article-intro-container.layout-2 .banner-container .image img, .documentation-intro-container.layout-2 .banner-container .image img {
          width: 245px; } }

.documentation-additional-links ul {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 5px 25px;
  margin: 0;
  padding: 0;
  list-style: none; }
  .documentation-additional-links ul li {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none; }

.documentation-additional-links .attachment {
  padding: 0;
  color: #000000;
  font-size: 0.8125rem;
  font-weight: 600; }
  .documentation-additional-links .attachment:before {
    margin-right: 10px;
    font-size: 0.8125rem;
    color: #1281bf;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .documentation-additional-links .attachment:hover {
    color: #67156a; }
    .documentation-additional-links .attachment:hover:before {
      color: #67156a;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .documentation-additional-links .attachment:active {
    color: #01416f; }
    .documentation-additional-links .attachment:active:before {
      color: #01416f; }
  .documentation-additional-links .attachment.printer-link:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .documentation-additional-links .attachment.documentation-public-link:before {
    content: "";
    font-family: "Font Awesome Solid"; }
  .documentation-additional-links .attachment.documentation-statistics:before {
    content: "";
    font-family: "Font Awesome Solid"; }

.documentation-chapter-header-container h1, .documentation-acticle-header-container h1, .documentation-content-container h1, .documentation-content-header-container h1 {
  margin: 25px 0 20px;
  padding: 0 0 15px;
  color: #01416f;
  font-size: 1.625rem;
  font-weight: 600;
  position: relative; }
  .documentation-chapter-header-container h1:before, .documentation-acticle-header-container h1:before, .documentation-content-container h1:before, .documentation-content-header-container h1:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h1:before, .documentation-acticle-header-container h1:before, .documentation-content-container h1:before, .documentation-content-header-container h1:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }
  .documentation-chapter-header-container h1 + .documentation-additional-links, .documentation-acticle-header-container h1 + .documentation-additional-links, .documentation-content-container h1 + .documentation-additional-links, .documentation-content-header-container h1 + .documentation-additional-links {
    padding: 0;
    border: 0; }

.documentation-chapter-header-container h2, .documentation-acticle-header-container h2, .documentation-content-container h2, .documentation-content-header-container h2 {
  margin: 25px 0 20px;
  padding: 0 0 15px;
  color: #01416f;
  font-size: 1.625rem;
  font-weight: 600;
  position: relative; }
  .documentation-chapter-header-container h2:before, .documentation-acticle-header-container h2:before, .documentation-content-container h2:before, .documentation-content-header-container h2:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h2:before, .documentation-acticle-header-container h2:before, .documentation-content-container h2:before, .documentation-content-header-container h2:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.documentation-chapter-header-container h3, .documentation-acticle-header-container h3, .documentation-content-container h3, .documentation-content-header-container h3 {
  margin: 25px 0 10px;
  padding: 10px 0;
  color: #01416f;
  font-size: 1.125rem;
  font-weight: 700;
  position: relative; }
  @media screen and (min-width: 81.25em) {
    .documentation-chapter-header-container h3, .documentation-acticle-header-container h3, .documentation-content-container h3, .documentation-content-header-container h3 {
      padding: 10px 0; } }
  .documentation-chapter-header-container h3:before, .documentation-acticle-header-container h3:before, .documentation-content-container h3:before, .documentation-content-header-container h3:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      .documentation-chapter-header-container h3:before, .documentation-acticle-header-container h3:before, .documentation-content-container h3:before, .documentation-content-header-container h3:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.documentation-chapter-header-container h4, .documentation-acticle-header-container h4, .documentation-content-container h4, .documentation-content-header-container h4 {
  margin: 25px 0 10px;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600; }

.documentation-chapter-header-container h5, .documentation-acticle-header-container h5, .documentation-content-container h5, .documentation-content-header-container h5 {
  margin: 15px 0 10px;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600; }

.documentation-chapter-header-container h6, .documentation-acticle-header-container h6, .documentation-content-container h6, .documentation-content-header-container h6 {
  margin: 15px 0;
  padding: 0;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 600;
  font-style: italic; }

.documentation-article-container, .documentation-list-item-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 35px; }
  .documentation-article-container.indented, .documentation-list-item-container.indented {
    margin-left: 25px; }
  .documentation-article-container.indented-rule, .documentation-list-item-container.indented-rule {
    position: relative;
    margin-bottom: 50px;
    padding-left: 15px; }
    .documentation-article-container.indented-rule:before, .documentation-list-item-container.indented-rule:before {
      content: '';
      width: 1px;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      background: #aeaeae; }

.documentation-chapter-header-container, .documentation-header-container {
  margin-bottom: 35px; }
  .documentation-chapter-header-container .documentation-additional-links, .documentation-header-container .documentation-additional-links {
    padding-top: 25px;
    border-top: 1px solid #959595; }

.documentation-chapter-footer-container, .documentation-footer-container {
  padding-bottom: 25px;
  margin-bottom: 50px;
  border-bottom: 1px solid #959595; }

.documentation-acticle-header-container, .documentation-content-header-container {
  position: relative; }

.documentation-content-container a[href^="tel:"], .documentation-content-container a[href^="mailto:"] {
  font-weight: 700; }
  .documentation-content-container a[href^="tel:"]:hover, .documentation-content-container a[href^="mailto:"]:hover {
    text-decoration: none; }
  .documentation-content-container a[href^="tel:"].show-contact-icon:before, .documentation-content-container a[href^="mailto:"].show-contact-icon:before {
    display: inline-block;
    margin-right: 5px;
    font-family: "Font Awesome Solid"; }

.documentation-content-container a[href^="mailto:"].show-contact-icon:before {
  content: ""; }

.documentation-content-container a[href^="tel:"].show-contact-icon:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

.documentation-content-container p a:not([class*="-button"]) {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0 5px;
  font-weight: 700; }

.documentation-content-container p a:has([style*="float"]) {
  display: inline; }

.documentation-content-container p {
  margin: var(--indent-margin, 0);
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6;
  color: #000000; }
  .documentation-content-container p img[style*="float:left"], .documentation-content-container p img[style*="float: left"], .documentation-content-container p[style*="float:left"] > img {
    margin: .2em .2em .2em 0; }
  .documentation-content-container p img[style*="float:right"], .documentation-content-container p img[style*="float: right"], .documentation-content-container p[style*="float:right"] > img {
    margin: .2em 0 .2em .2em; }
  .documentation-content-container p img {
    margin: .2em 0; }
  .documentation-content-container p + p {
    margin-top: 0;
    margin-bottom: 0; }

.documentation-content-container p:not(:empty) + table, .documentation-content-container p:not(:empty) + .comparison-table-container {
  margin: 15px 0; }

.documentation-content-container table {
  --thead-border-colour: $thead-border-colour;
  max-width: 100%;
  margin-bottom: 0; }
  .documentation-content-container table:not([class*=preset]) thead {
    background-color: transparent; }
    .documentation-content-container table:not([class*=preset]) thead tr {
      border-bottom: 1px solid var(--thead-border-colour); }
    .documentation-content-container table:not([class*=preset]) thead th {
      font-weight: 700; }
  .documentation-content-container table.responsive-table {
    display: block; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container table.responsive-table {
        display: table; } }
    .documentation-content-container table.responsive-table:not([class*=preset]) thead {
      display: none; }
      @media screen and (min-width: 81.25em) {
        .documentation-content-container table.responsive-table:not([class*=preset]) thead {
          display: table-row-group; } }
    .documentation-content-container table.responsive-table tbody:not(.comparison-summary) {
      display: block; }
      @media screen and (min-width: 81.25em) {
        .documentation-content-container table.responsive-table tbody:not(.comparison-summary) {
          display: table-row-group; } }
  .documentation-content-container table th {
    padding: 10px 10px 10px; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container table td {
      padding: 10px; } }
  .documentation-content-container table thead[class*="preset"] + tbody:before {
    content: '';
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container table thead[class*="preset"] + tbody:before {
        margin: 10px; } }
  .documentation-content-container table tbody {
    background-color: transparent; }
    .documentation-content-container table tbody th {
      background-color: transparent; }
    .documentation-content-container table tbody tr:not(:last-child) th {
      border-bottom: 1px solid transparent; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container table tbody tr {
        display: table-row; } }
  .documentation-content-container table .col-label {
    color: #484848; }
  @media print, screen and (max-width: 81.24875em) {
    .documentation-content-container table.responsive-table tbody tr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media print, screen and (max-width: 81.24875em) {
    .documentation-content-container table.responsive-table tbody tr:not(:last-child) {
      margin-bottom: 10px;
      padding-bottom: 10px;
      border-bottom: 1px solid #eeeeee; } }
  .documentation-content-container table.no-wrap {
    display: block;
    white-space: nowrap;
    overflow-x: auto; }
  .documentation-content-container table.comparison-table tbody td:first-child {
    color: #484848;
    font-weight: 700; }

.documentation-content-container blockquote {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 15px;
  margin: 0 auto 40px;
  padding: 50px 30px;
  border: 1px solid transparent;
  -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
  text-align: center;
  font-family: "Khula", "Khula Fallback", "Arial";
  font-size: 0.9375rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container blockquote {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      gap: 25px; } }
  .documentation-content-container blockquote:hover {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-color: #eeeeee;
    -webkit-transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: border-color 0.6s, -webkit-box-shadow 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s;
    transition: box-shadow 0.6s, border-color 0.6s, -webkit-box-shadow 0.6s; }
    .documentation-content-container blockquote:hover:before {
      color: #dadada;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .documentation-content-container blockquote:has(img) {
    text-align: left; }
  .documentation-content-container blockquote:last-of-type {
    margin-bottom: 40px; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container blockquote {
      padding: 50px 60px; } }
  .documentation-content-container blockquote + blockquote {
    margin-top: 15px; }
  .documentation-content-container blockquote:before, .documentation-content-container blockquote:after {
    content: "";
    position: absolute;
    display: inline-block;
    padding: 10px;
    font-size: 40px;
    color: #eeeeee;
    font-family: "Font Awesome Solid";
    line-height: .8;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
  .documentation-content-container blockquote:before {
    top: 0;
    left: 0; }
  .documentation-content-container blockquote:after {
    right: 0;
    bottom: 0;
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }
  .documentation-content-container blockquote img {
    float: left; }
    @media screen and (min-width: 81.25em) {
      .documentation-content-container blockquote img {
        text-align: left; } }

.documentation-content-container iframe[src*="https://www.youtube.com/"] {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  border-radius: 0; }

.documentation-content-container code {
  max-height: 500px;
  position: relative;
  padding: 10px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px;
  background-color: #f3f3f3;
  border: 1px solid #959595;
  font-size: 0.9375rem;
  line-height: 40px;
  text-align: left;
  white-space: pre-wrap;
  overflow-y: auto;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .documentation-content-container code {
      padding: 10px 35px; } }
  .documentation-content-container code:hover {
    border-color: #484848;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .documentation-content-container code .code-copy-button-container {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: calc(100% - 15px);
    white-space: normal; }
  .documentation-content-container code .code-copy-button {
    position: absolute;
    top: 0;
    padding: 8px;
    display: block;
    background-color: #959595;
    -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
    transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
    .documentation-content-container code .code-copy-button:before {
      content: "";
      font-family: "Font Awesome Regular";
      font-size: 14px;
      color: #ffffff;
      -webkit-transition: color 0.8s, font-size 0.8s;
      transition: color 0.8s, font-size 0.8s; }
    .documentation-content-container code .code-copy-button:hover {
      background-color: #01416f;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .documentation-content-container code .code-copy-button.active, .documentation-content-container code .code-copy-button:active {
      background-color: #01416f; }
      .documentation-content-container code .code-copy-button.active:before, .documentation-content-container code .code-copy-button:active:before {
        font-family: "Font Awesome Solid"; }
    .documentation-content-container code .code-copy-button.active {
      padding: 12px;
      opacity: .4;
      -webkit-transition: padding 0.6s, opacity 0.6s;
      transition: padding 0.6s, opacity 0.6s; }
      .documentation-content-container code .code-copy-button.active:before {
        font-size: 16px;
        -webkit-transition: font-size 0.6s;
        transition: font-size 0.6s; }

.documentation-content-container ul, .documentation-content-container ol {
  text-align: left; }

.documentation-content-container ul {
  margin: 10px;
  padding: 0;
  line-height: 1.6;
  list-style: none;
  line-height: 25px; }
  .documentation-content-container ul ul {
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 25px; }
  .documentation-content-container ul li {
    position: relative;
    padding: 0 0 0 15px; }
    .documentation-content-container ul li:before {
      content: '';
      width: 5px;
      height: 5px;
      position: absolute;
      top: 10px;
      left: 0;
      margin: auto;
      display: block;
      background-color: #01416f;
      border-radius: 5px; }

.documentation-content-container ol {
  margin: 10px;
  padding: 0 25px;
  line-height: 1.6; }
  .documentation-content-container ol ol {
    margin: 0;
    padding-top: 0;
    padding-bottom: 0;
    list-style-type: lower-alpha; }
    .documentation-content-container ol ol ol {
      list-style-type: lower-roman; }
      .documentation-content-container ol ol ol ol {
        list-style-type: lower-alpha; }
        .documentation-content-container ol ol ol ol ol {
          list-style-type: lower-roman; }

.documentation-content-container li {
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.6; }

.documentation-content-container ul + h1, .documentation-content-container ol + h1 {
  margin-top: 20px; }

.documentation-content-container ul + h2, .documentation-content-container ol + h2 {
  margin-top: 20px; }

.documentation-content-container ul + h3, .documentation-content-container ol + h3 {
  margin-top: 10px; }

.documentation-content-container ul + h4, .documentation-content-container ol + h4 {
  margin-top: 10px; }

.documentation-content-container ul + h5, .documentation-content-container ol + h5 {
  margin-top: 10px; }

.documentation-content-container ul + h6, .documentation-content-container ol + h6 {
  margin-top: 15px; }

.documentation-content-container dl {
  text-align: left; }

.documentation-content-container figure {
  max-width: 100%;
  margin: 10px auto; }
  .documentation-content-container figure.image {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    display: grid;
    margin: 10px auto; }
  .documentation-content-container figure.image-style-align-right {
    float: right;
    margin-left: 10px; }
  .documentation-content-container figure.image-style-align-left {
    float: left;
    margin-right: 10px; }
  .documentation-content-container figure.image-style-block-align-left {
    margin-right: auto;
    margin-left: 0; }
  .documentation-content-container figure.image-style-block-align-right {
    margin-right: 0;
    margin-left: auto; }
  .documentation-content-container figure[class*="image-style-block"] {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .documentation-content-container figure img {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
  .documentation-content-container figure figcaption {
    width: 100%;
    padding: 5px;
    background-color: var(--neutral-colour-lightness-10);
    color: #000000;
    font-size: 0.8125rem;
    font-weight: 600;
    text-align: center; }

@media screen and (min-width: 81.25em) {
  .documentation-content-container {
    max-width: 850px;
    width: 100%; } }

.documentation-restricted-access-container h1, .documentation-restricted-access-container h2, .documentation-restricted-access-container h3, .documentation-restricted-access-container h4, .documentation-restricted-access-container h5, .documentation-restricted-access-container h6, .documentation-restricted-access-container p, .documentation-restricted-access-container li, .documentation-restricted-access-container.documentation-internal-use-only, .documentation-restricted-access-container a, .documentation-restricted-access-container table thead th, .documentation-restricted-access-container table tbody td, .documentation-internal-use-only h1, .documentation-internal-use-only h2, .documentation-internal-use-only h3, .documentation-internal-use-only h4, .documentation-internal-use-only h5, .documentation-internal-use-only h6, .documentation-internal-use-only p, .documentation-internal-use-only li, .documentation-internal-use-only.documentation-internal-use-only, .documentation-internal-use-only a, .documentation-internal-use-only table thead th, .documentation-internal-use-only table tbody td {
  color: var(--accent-colour-1-lightness-0); }

.documentation-not-published {
  font-style: italic; }

ul.functions-list:has(> li.has-submenu-toggle) > li:not(.has-submenu-toggle) {
  padding-left: 45px; }

ul.functions-list:has(> li.has-submenu-toggle) ul.menu:has(> li.has-submenu-toggle) > li:not(.has-submenu-toggle) {
  padding-left: 45px; }

.menu.functions-list {
  --menu-function-list-hover-colour: var(--primary-colour-lightness-0);
  width: 100%; }
  .menu.functions-list > li > ul.submenu {
    padding: 5px;
    background-color: transparent; }
    @media screen and (min-width: 81.25em) {
      .menu.functions-list > li > ul.submenu {
        padding: 5px 0 5px 10px; } }
  .menu.functions-list > li:has(ul.submenu.is-active) {
    border-bottom: 5px solid #ffffff; }
  .menu.functions-list li:has(ul.submenu.is-active) {
    background-color: #f3f3f3; }
    .menu.functions-list li:has(ul.submenu.is-active) > a {
      font-weight: 600;
      color: var(--menu-function-list-hover-colour, #67156a);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .menu.functions-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    border-bottom: 0; }
    @media screen and (min-width: 81.25em) {
      .menu.functions-list li {
        padding-right: 0; } }
    .menu.functions-list li:hover {
      background-color: transparent; }
      .menu.functions-list li:hover > a, .menu.functions-list li:hover > button:after {
        color: var(--menu-function-list-hover-colour, #67156a); }
    .menu.functions-list li > a {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin-right: 0;
      padding: 5px 5px 5px 0;
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
      .menu.functions-list li > a + button {
        height: auto;
        position: relative;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; }
        .menu.functions-list li > a + button:after {
          color: #484848;
          font-size: 12px;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .menu.functions-list li > a + button[aria-expanded="true"]:after {
          color: var(--menu-function-list-hover-colour, #67156a);
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
    .menu.functions-list li > ul {
      width: 100%;
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3;
      border-top: 0;
      background-color: transparent; }
      @media print, screen and (max-width: 81.24875em) {
        .menu.functions-list li > ul li {
          padding: 0; } }
      .menu.functions-list li > ul li a {
        font-weight: 400;
        color: #484848; }
        @media screen and (min-width: 81.25em) {
          .menu.functions-list li > ul li a {
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center; } }
      .menu.functions-list li > ul .index {
        font-style: italic; }
    .menu.functions-list li .nested.is-accordion-submenu {
      margin-left: 0; }
      @media screen and (min-width: 81.25em) {
        .menu.functions-list li .nested.is-accordion-submenu {
          margin-left: 40px; } }
    .menu.functions-list li .link-description {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; }

.documentation-results-found-list ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.documentation-results-found-list ul li {
  padding: 10px 5px; }

.documentation-results-found-list ul .results-items-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 81.25em) {
    .documentation-results-found-list ul .results-items-container ul {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }
  .documentation-results-found-list ul .results-items-container ul li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0;
    padding: 0; }
    .documentation-results-found-list ul .results-items-container ul li:not(:last-child):after {
      content: "";
      margin: 0 7px;
      color: #484848;
      font-family: "Font Awesome Solid";
      font-size: 10px; }
    .documentation-results-found-list ul .results-items-container ul li a {
      font-weight: 600; }

.documentation-results-found-list ul .results-snippet-container {
  font-size: 0.875rem; }
  .documentation-results-found-list ul .results-snippet-container p {
    margin: 5px 0 10px;
    padding: 0; }

.documentation-back-button-container .documentation-back-button {
  margin: 0; }

.statistics-content-container {
  background-color: #f3f3f3; }
  .statistics-content-container ul {
    padding: 10px 20px; }
    .statistics-content-container ul li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      font-size: 0.9375rem;
      font-weight: 600; }
  .statistics-content-container .label {
    padding-right: 5px; }

.revision-count-container.seperator span {
  margin: 0 0 10px;
  padding: 0 0 5px;
  position: relative; }
  .revision-count-container.seperator span:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #000000; }
    @media print {
      .revision-count-container.seperator span:before {
        border-bottom: 2px solid #000000;
        background-color: transparent; } }

.revision-count-container span {
  width: 100%;
  display: block;
  font-size: 0.875rem;
  font-weight: 700; }

.revision-information-container {
  background-color: var(--neutral-colour-lightness-8); }
  .revision-information-container table.audit-trail-entry thead th {
    border-color: var(--white-colour); }

.technical-documentation-list-container:not(:last-child):after {
  content: '';
  display: block;
  margin: 40px 0;
  border-bottom: 1px solid var(--neutral-colour-lightness-8); }

.documentation-demo-link-container {
  margin: 10px 0;
  padding: 10px;
  background-color: var(--neutral-colour-lightness-10); }

.inspect-prompt {
  display: block;
  margin: 30px 0;
  font-weight: 600; }

.express-configuration {
  padding-top: 25px;
  padding-bottom: 25px;
  background-color: var(--neutral-colour-lightness-9); }
  @media screen and (min-width: 81.25em) {
    .express-configuration {
      padding-top: 100px;
      padding-bottom: 100px; } }
  .express-configuration .configuration-section {
    width: 100%;
    padding: 10px 20px;
    background-color: var(--white-colour);
    border: 2px solid var(--neutral-colour-lightness-8); }
    .express-configuration .configuration-section:not(:last-of-type) {
      margin-bottom: 20px; }
    .express-configuration .configuration-section .axis-section-header h2 {
      margin: 0; }

.configuration-introduction-container {
  margin-bottom: 20px; }
  .configuration-introduction-container .cms-content-container p {
    margin: 5px 0; }

.technical-list {
  margin: 0;
  padding: 0; }
  .technical-list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .technical-list li:not(:last-child) {
      margin-bottom: 20px;
      padding-bottom: 20px;
      border-bottom: 1px solid var(--neutral-colour-lightness-8); }
  .technical-list .header-container {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .technical-list .state {
    margin-left: auto;
    padding: 2px 10px;
    background-color: var(--state-background-colour);
    border: 1px solid var(--state-colour);
    font-size: 0.75rem;
    color: var(--state-colour);
    font-weight: 600; }
    .technical-list .state.active {
      --state-background-colour: var(--success-colour-lightness-9);
      --state-colour: var(--success-colour-lightness-0); }
    .technical-list .state.disabled {
      --state-background-colour: var(--warning-colour-lightness-9);
      --state-colour: var(--warning-colour-lightness-0); }
  .technical-list .key-value-pair {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px; }
    .technical-list .key-value-pair .name {
      font-weight: 600; }

.neutralised-items {
  margin: 10px 0 20px; }
  .neutralised-items .placeholder-value-display:not(:last-child) {
    margin-bottom: 10px; }

.placeholder-value-display {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .placeholder-value-display .name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 600;
    font-size: 0.875rem; }
    .placeholder-value-display .name::after {
      content: "=>";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      margin-left: auto;
      margin-right: 15px;
      padding-left: 15px;
      font-weight: 400;
      font-size: 15px;
      color: var(--neutral-colour-lightness-6); }
  .placeholder-value-display .value {
    font-weight: 600;
    font-size: 0.875rem;
    color: var(--primary-colour-lightness-0); }

/*
----- Context Menu ------ 
Essentially a toolbar / toolbox menu
*/
.context-menu-container {
  position: absolute;
  top: 0;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-radius: 0;
  z-index: 1995; }
  @media print, screen and (min-width: 40em) {
    .context-menu-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      opacity: 1; } }
  .context-menu-container.active, .context-menu-container.is-closing {
    background-color: #ffffff;
    z-index: 1996; }
  .context-menu-container ol, .context-menu-container ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none; }
    @media print, screen and (min-width: 40em) {
      .context-menu-container ol, .context-menu-container ul {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    .context-menu-container ol li, .context-menu-container ul li {
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 0; }
      @media print, screen and (min-width: 40em) {
        .context-menu-container ol li, .context-menu-container ul li {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row; } }
      .context-menu-container ol li.active ol, .context-menu-container ol li.active ul, .context-menu-container ul li.active ol, .context-menu-container ul li.active ul {
        max-height: 700px;
        border: 1px solid #aeaeae;
        -webkit-transition: max-height 0.6s, border-color 0.6s;
        transition: max-height 0.6s, border-color 0.6s; }
        @media print, screen and (min-width: 40em) {
          .context-menu-container ol li.active ol, .context-menu-container ol li.active ul, .context-menu-container ul li.active ol, .context-menu-container ul li.active ul {
            max-width: 1300px;
            max-height: none;
            -webkit-transition: max-width 0.6s;
            transition: max-width 0.6s; } }
      .context-menu-container ol li.active > button.menu-option-container, .context-menu-container ul li.active > button.menu-option-container {
        background-color: #67156a;
        border-color: #67156a;
        -webkit-transition: background-color 0.6s;
        transition: background-color 0.6s; }
        .context-menu-container ol li.active > button.menu-option-container .menu-option-icon:before, .context-menu-container ul li.active > button.menu-option-container .menu-option-icon:before {
          color: #ffffff;
          -webkit-transition: color 0.6s;
          transition: color 0.6s; }
      .context-menu-container ol li ol, .context-menu-container ol li ul, .context-menu-container ul li ol, .context-menu-container ul li ul {
        width: 100%;
        max-height: 0;
        position: absolute;
        top: 100%;
        background-color: #ffffff;
        overflow: hidden;
        z-index: 1;
        -webkit-transition: max-height 0.8s;
        transition: max-height 0.8s; }
        @media print, screen and (min-width: 40em) {
          .context-menu-container ol li ol, .context-menu-container ol li ul, .context-menu-container ul li ol, .context-menu-container ul li ul {
            max-width: 0;
            width: auto;
            max-height: none;
            height: 100%;
            top: 0;
            right: 100%;
            -webkit-transition: max-width 0.8s;
            transition: max-width 0.8s; } }
  @media print, screen and (min-width: 40em) {
    .context-menu-container .menu-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  .context-menu-container .state-menu-container .menu-option-container {
    opacity: .5;
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
    .context-menu-container .state-menu-container .menu-option-container:hover, .context-menu-container .state-menu-container .menu-option-container:active {
      opacity: 1;
      -webkit-transition: opacity 0.6s;
      transition: opacity 0.6s; }
  .context-menu-container .edit-menu-container .menu-option-container:hover {
    background-color: var(--neutral-colour-lightness-0);
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .context-menu-container .edit-menu-container .menu-option-container:hover .menu-option-icon:before {
      color: var(--white-colour);
      -webkit-transition: color 0.6s;
      transition: color 0.6s; }
  .context-menu-container .edit-menu-container .menu-option-container:active {
    background-color: var(--secondary-colour-lightness-0); }
  .context-menu-container .menu-option-container {
    --icon-colour: var(--neutral-colour-lightness-0);
    width: 45px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 10px;
    padding: 7.5px 10px;
    line-height: 1;
    border: 1px solid transparent; }
    @media print, screen and (min-width: 40em) {
      .context-menu-container .menu-option-container:active {
        width: auto;
        min-width: 45px; }
        .context-menu-container .menu-option-container:active .menu-option-label {
          display: block; } }
    .context-menu-container .menu-option-container .menu-option-label {
      display: none;
      font-weight: 600;
      font-size: 0.8125rem; }
    .context-menu-container .menu-option-container .menu-option-icon-container .menu-option-icon {
      position: relative;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex; }
      .context-menu-container .menu-option-container .menu-option-icon-container .menu-option-icon:before {
        color: var(--icon-colour);
        font-family: "Font Awesome Solid";
        font-size: 19px;
        -webkit-transition: -webkit-transform 0.6s;
        transition: -webkit-transform 0.6s;
        transition: transform 0.6s;
        transition: transform 0.6s, -webkit-transform 0.6s; }
    .context-menu-container .menu-option-container.access-level .menu-option-icon-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .context-menu-container .menu-option-container.access-level .menu-option-icon-container .menu-option-icon:before {
        content: ""; }
      .context-menu-container .menu-option-container.access-level .menu-option-icon-container .menu-option-icon-text {
        font-size: 11px; }
    .context-menu-container .menu-option-container.access-level.state-value-0 {
      --icon-colour: var(--neutral-colour-lightness-4);
      color: var(--neutral-colour-lightness-4); }
    .context-menu-container .menu-option-container.access-level.state-value-1 {
      --icon-colour: var(--neutral-colour-lightness-0);
      color: var(--neutral-colour-lightness-0); }
    .context-menu-container .menu-option-container.access-level.state-value-2 {
      --icon-colour: var(--black-colour);
      color: var(--black-colour); }
    .context-menu-container .menu-option-container.access-level.state-value-3, .context-menu-container .menu-option-container.access-level.state-value-4 {
      --icon-colour: var(--accent-colour-1-lightness-0);
      color: var(--accent-colour-1-lightness-0); }
    .context-menu-container .menu-option-container.published .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.published.state-value-true {
      --icon-colour: var(--success-colour-lightness-0);
      color: var(--success-colour-lightness-0); }
    .context-menu-container .menu-option-container.published.state-value-false {
      --icon-colour: var(--neutral-colour-lightness-4);
      color: var(--neutral-colour-lightness-4); }
    .context-menu-container .menu-option-container.edit-menu .menu-option-icon:before {
      content: "";
      color: #67156a; }
    .context-menu-container .menu-option-container.edit-text .menu-option-icon:before {
      content: "";
      font-size: 16px; }
    .context-menu-container .menu-option-container.edit-properties .menu-option-icon:before {
      content: "";
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.move-up .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.move-down .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.insert-before .menu-option-icon:before {
      content: "";
      font-size: 16px;
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.insert-after .menu-option-icon:before {
      content: "";
      font-size: 16px;
      font-family: "fontello"; }
    .context-menu-container .menu-option-container.promote .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.demote .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.delete .menu-option-icon:before {
      content: "";
      font-size: 17px; }
    .context-menu-container .menu-option-container.move-article .menu-option-icon:before {
      content: ""; }
    .context-menu-container .menu-option-container.audit-trail .menu-option-icon:before {
      content: ""; }

/*
----- Graduated Colour Edge ------ 
Edge effect where the is typically 3 tones of a specific colour in the corner of a element / component.
Possible class configuration options:
- Opacity enumeration ( High, Medium, Low )
- Position Top + Bottom L & R corners

For a demonstration go to /static/graduated-colour-edge-test.html
*/
.graduated-colour-edge {
  --graduated-step-height: var(--component-specifc-step-height, 60px);
  width: 600px;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .graduated-colour-edge.position-1 {
    top: 0;
    right: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-transform: rotate(-56deg);
            transform: rotate(-56deg); }
  .graduated-colour-edge.position-2 {
    top: 0;
    left: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-transform: rotate(56deg);
            transform: rotate(56deg); }
  .graduated-colour-edge.position-3 {
    right: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    bottom: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-transform: rotate(56deg);
            transform: rotate(56deg); }
  .graduated-colour-edge.position-4 {
    bottom: 0;
    left: calc(100% - (300px + (var(--graduated-step-height) * .56)));
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-transform: rotate(-56deg);
            transform: rotate(-56deg); }
  .graduated-colour-edge.opacity-1 .step {
    opacity: .9; }
    .graduated-colour-edge.opacity-1 .step + .step {
      opacity: .6; }
      .graduated-colour-edge.opacity-1 .step + .step + .step {
        opacity: .3; }
  .graduated-colour-edge.opacity-2 .step {
    opacity: .6; }
    .graduated-colour-edge.opacity-2 .step + .step {
      opacity: .3; }
      .graduated-colour-edge.opacity-2 .step + .step + .step {
        opacity: .1; }
  .graduated-colour-edge.opacity-3 .step {
    opacity: .3; }
    .graduated-colour-edge.opacity-3 .step + .step {
      opacity: .2; }
      .graduated-colour-edge.opacity-3 .step + .step + .step {
        opacity: .1; }
  .graduated-colour-edge .step {
    width: 600px;
    height: var(--graduated-step-height);
    display: block;
    background-color: var(--primary-colour-lightness-0); }

/*
----- Axis Rich Text Editors ----- 
Bespoke rules that get applied when intergrating with third-party editors.

General rules that get applied to .rich-text-editor-container which is the common container that gets used across all editors.
*/
.ck-body-wrapper {
  z-index: 2021; }
  .ck-body-wrapper.disabled {
    display: none; }

.ck-editor .ck-content ul {
  list-style-type: none; }

.rich-text-editor-container {
  --ck-color-base-border: #dadada;
  --ck-color-base-error: #b20c0c;
  --ck-image-style-spacing: 10px;
  position: relative;
  --ck-color-image-caption-text: #000000; }

[data-axis-rich-text-editor] {
  min-height: 100px; }
  [data-axis-rich-text-editor]:not(.rich-text-editor-container) {
    border: 1px solid #dadada; }
  [data-axis-rich-text-editor] > textarea {
    display: none; }

.ck-source-editing-area textarea {
  overflow: auto !important; }

.axis-editor-indent-level-1 {
  --indent-margin: 0 0 0 calc(1 * 25px); }
  .axis-editor-indent-level-1 + ul, .axis-editor-indent-level-1 + ol {
    margin-left: calc(1 * 25px); }

.axis-editor-indent-level-2 {
  --indent-margin: 0 0 0 calc(2 * 25px); }
  .axis-editor-indent-level-2 + ul, .axis-editor-indent-level-2 + ol {
    margin-left: calc(2 * 25px); }

.axis-editor-indent-level-3 {
  --indent-margin: 0 0 0 calc(3 * 25px); }
  .axis-editor-indent-level-3 + ul, .axis-editor-indent-level-3 + ol {
    margin-left: calc(3 * 25px); }

.axis-editor-indent-level-4 {
  --indent-margin: 0 0 0 calc(4 * 25px); }
  .axis-editor-indent-level-4 + ul, .axis-editor-indent-level-4 + ol {
    margin-left: calc(4 * 25px); }

.axis-editor-indent-level-5 {
  --indent-margin: 0 0 0 calc(5 * 25px); }
  .axis-editor-indent-level-5 + ul, .axis-editor-indent-level-5 + ol {
    margin-left: calc(5 * 25px); }

/*

----- Video Player ----

IMPORTANT: This is specifically for embedding Youtube videos / Banner series. /static/video-series.html

Handles:
- Thumbnail play icon.
- Duration formatting.
- Video indicator text ( click here to watch video )

*/
.video-player-container {
  cursor: pointer; }
  .video-player-container:hover .image:after {
    color: var(--white-colour);
    background-color: var(--accent-colour-1-lightness-3);
    border-color: var(--white-colour);
    -webkit-transition: color 0.6s, background-color 0.6s, border-color 0.6s;
    transition: color 0.6s, background-color 0.6s, border-color 0.6s; }
  .video-player-container .image {
    position: relative; }
    .video-player-container .image:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      padding-left: 2px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; }
  .video-player-container .duration-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5px;
    color: var(--neutral-colour-lightness-0); }
    .video-player-container .duration-container:before {
      content: "";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      font-family: "Font Awesome Solid";
      font-size: 16px; }
    .video-player-container .duration-container .label, .video-player-container .duration-container .value {
      font-size: 0.9375rem;
      font-weight: 700; }
  .video-player-container .video-player-indicator-text {
    font-size: 0.8125rem;
    font-weight: 700; }
  @media screen and (min-width: 81.25em) {
    .video-player-container .read-more {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1; } }

/*
  Multimedia Element
  
  Handles styling for video playback

*/
video {
  max-width: 100%; }

.video {
  position: relative; }
  @supports not (-apple-pay-button-style: inherit) {
    .video.is-ready-to-play:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      padding-left: 2px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; }
    .video.replay-video:after {
      content: "";
      width: 40px;
      height: 40px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 20px;
      color: var(--accent-colour-1-lightness-3);
      background-color: var(--white-colour);
      border: 0 solid var(--accent-colour-1-lightness-3);
      border-radius: 40px;
      -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
              box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.3);
      pointer-events: none;
      -webkit-transition: color 0.8s, background-color 0.8s, border-color 0.8s;
      transition: color 0.8s, background-color 0.8s, border-color 0.8s; } }

.source-unsupported > video {
  display: none; }

.source-unsupported > img {
  display: none; }

[data-fallback] {
  display: none; }

.fallback-element {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  display: none; }
  .fallback-element.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .fallback-element img {
    z-index: 1; }
  .fallback-element .fallback-text {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 52px 1fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 20px;
    background-color: rgba(246, 246, 246, 0.8);
    color: var(--neutral-colour-lightness-0);
    font-size: 1.25rem;
    font-weight: 600;
    z-index: 2; }
    .fallback-element .fallback-text:before {
      content: "";
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      font-size: 32px;
      font-family: "Font Awesome Solid";
      grid-column: 1;
      grid-row: 1 / span 2; }
    .fallback-element .fallback-text .error-details {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .fallback-element .fallback-text span, .fallback-element .fallback-text div {
      grid-column: 2; }

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

h1 {
  font-size: 2em;
  margin: 0.67em 0; }

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible; }

pre {
  font-family: monospace, monospace;
  font-size: 1em; }

a {
  background-color: transparent; }

abbr[title] {
  border-bottom: 0;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

b,
strong {
  font-weight: bolder; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  border-style: none; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

fieldset {
  padding: 0.35em 0.75em 0.625em; }

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0; }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

[data-whatintent="mouse"] *, [data-whatintent="mouse"] *:focus,
[data-whatintent="touch"] *,
[data-whatintent="touch"] *:focus,
[data-whatinput="mouse"] *,
[data-whatinput="mouse"] *:focus,
[data-whatinput="touch"] *,
[data-whatinput="touch"] *:focus {
  outline: none; }

[draggable=false] {
  -webkit-touch-callout: none;
  -webkit-user-select: none; }

.foundation-mq {
  font-family: "small=0em&medium=40em&large=81.25em&xlarge=100em&xxlarge=120em"; }

html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 100%; }

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  background: #ffffff;
  font-family: "Khula", "Khula Fallback", "Arial";
  font-weight: normal;
  line-height: 1.6;
  color: #000000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

select {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  border-radius: 0; }

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; }

.is-visible {
  display: block !important; }

.is-hidden {
  display: none !important; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.3375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  border: 1px solid #c8c8c8;
  border-radius: 0;
  background-color: #ffffff;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  font-family: "Khula", "Khula Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.6;
  color: #484848;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #6d6d6d;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }

textarea {
  max-width: 100%; }
  textarea[rows] {
    height: auto; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: var(--neutral-colour-lightness-8);
  cursor: not-allowed; }

[type='submit'],
[type='button'] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0; }

input[type=search] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

::-webkit-input-placeholder {
  color: #c8c8c8; }

::-moz-placeholder {
  color: #c8c8c8; }

:-ms-input-placeholder {
  color: #c8c8c8; }

::-ms-input-placeholder {
  color: #c8c8c8; }

::placeholder {
  color: #c8c8c8; }

[type='file'],
[type='checkbox'],
[type='radio'] {
  margin: 0 0 1rem; }

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  vertical-align: baseline;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

[type=file] {
  width: 100%; }

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #000000; }
  label.middle {
    margin: 0 0 1rem;
    line-height: 1.6;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.8125rem;
  font-style: italic;
  color: #000000; }

.input-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  margin-bottom: 1rem;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .input-group > :first-child, .input-group > :first-child.input-group-button > * {
    border-radius: 0 0 0 0; }
  .input-group > :last-child, .input-group > :last-child.input-group-button > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button, .input-group-button a,
.input-group-button input,
.input-group-button button,
.input-group-button label {
  margin: 0;
  white-space: nowrap; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #aeaeae;
  background: #dadada;
  color: #000000;
  text-align: center;
  white-space: nowrap;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
  min-width: 0; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button,
  .input-group-button label {
    -ms-flex-item-align: stretch;
        align-self: stretch;
    height: auto;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 0.875rem; }

fieldset {
  margin: 0;
  padding: 0;
  border: 0; }

legend {
  max-width: 100%;
  margin-bottom: 0.5rem; }

.fieldset {
  margin: 1.125rem 0;
  padding: 1.25rem;
  border: 1px solid #aeaeae; }
  .fieldset legend {
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

select {
  height: 2.3375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #c8c8c8;
  border-radius: 0;
  background-color: #ffffff;
  font-family: "Khula", "Khula Fallback", "Arial";
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.6;
  color: #484848;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="32" height="24" viewBox="0 0 32 24"><polygon points="0,0 32,0 16,24" style="fill: rgb%28149, 149, 149%29"></polygon></svg>');
  background-origin: content-box;
  background-position: right -1rem center;
  background-repeat: no-repeat;
  background-size: 9px 6px;
  padding-right: 1.5rem;
  -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: border-color 0.8s, -webkit-box-shadow 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s;
  transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:focus {
    outline: none;
    border: 1px solid #6d6d6d;
    background-color: #ffffff;
    -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
            box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
    -webkit-transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: border-color 0.8s, -webkit-box-shadow 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s;
    transition: box-shadow 0.8s, border-color 0.8s, -webkit-box-shadow 0.8s; }
  select:disabled {
    background-color: var(--neutral-colour-lightness-8);
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }
  select:not([multiple]) {
    padding-top: 0;
    padding-bottom: 0; }

.is-invalid-input:not(:focus) {
  border-color: #b20c0c;
  background-color: #f7e7e7; }
  .is-invalid-input:not(:focus)::-webkit-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::-moz-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::-ms-input-placeholder {
    color: #b20c0c; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #b20c0c; }

.is-invalid-label {
  color: #b20c0c; }

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #b20c0c; }
  .form-error.is-visible {
    display: block; }

.grid-container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto; }
  .grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }
  .grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto; }

.grid-x {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }

.cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  min-height: 0;
  min-width: 0;
  width: 100%; }
  .cell.auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0; }
  .cell.shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }

.grid-x > .auto {
  width: auto; }

.grid-x > .shrink {
  width: auto; }

.grid-x > .small-shrink, .grid-x > .small-full, .grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -ms-flex-preferred-size: auto;
      flex-basis: auto; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-shrink, .grid-x > .medium-full, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media screen and (min-width: 81.25em) {
  .grid-x > .large-shrink, .grid-x > .large-full, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

@media screen and (min-width: 100em) {
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-full, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; } }

.grid-x > .small-1, .grid-x > .small-2, .grid-x > .small-3, .grid-x > .small-4, .grid-x > .small-5, .grid-x > .small-6, .grid-x > .small-7, .grid-x > .small-8, .grid-x > .small-9, .grid-x > .small-10, .grid-x > .small-11, .grid-x > .small-12 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }

.grid-x > .small-1 {
  width: 8.33333%; }

.grid-x > .small-2 {
  width: 16.66667%; }

.grid-x > .small-3 {
  width: 25%; }

.grid-x > .small-4 {
  width: 33.33333%; }

.grid-x > .small-5 {
  width: 41.66667%; }

.grid-x > .small-6 {
  width: 50%; }

.grid-x > .small-7 {
  width: 58.33333%; }

.grid-x > .small-8 {
  width: 66.66667%; }

.grid-x > .small-9 {
  width: 75%; }

.grid-x > .small-10 {
  width: 83.33333%; }

.grid-x > .small-11 {
  width: 91.66667%; }

.grid-x > .small-12 {
  width: 100%; }

@media print, screen and (min-width: 40em) {
  .grid-x > .medium-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .medium-shrink, .grid-x > .medium-1, .grid-x > .medium-2, .grid-x > .medium-3, .grid-x > .medium-4, .grid-x > .medium-5, .grid-x > .medium-6, .grid-x > .medium-7, .grid-x > .medium-8, .grid-x > .medium-9, .grid-x > .medium-10, .grid-x > .medium-11, .grid-x > .medium-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .medium-shrink {
    width: auto; }
  .grid-x > .medium-1 {
    width: 8.33333%; }
  .grid-x > .medium-2 {
    width: 16.66667%; }
  .grid-x > .medium-3 {
    width: 25%; }
  .grid-x > .medium-4 {
    width: 33.33333%; }
  .grid-x > .medium-5 {
    width: 41.66667%; }
  .grid-x > .medium-6 {
    width: 50%; }
  .grid-x > .medium-7 {
    width: 58.33333%; }
  .grid-x > .medium-8 {
    width: 66.66667%; }
  .grid-x > .medium-9 {
    width: 75%; }
  .grid-x > .medium-10 {
    width: 83.33333%; }
  .grid-x > .medium-11 {
    width: 91.66667%; }
  .grid-x > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .grid-x > .large-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .large-shrink, .grid-x > .large-1, .grid-x > .large-2, .grid-x > .large-3, .grid-x > .large-4, .grid-x > .large-5, .grid-x > .large-6, .grid-x > .large-7, .grid-x > .large-8, .grid-x > .large-9, .grid-x > .large-10, .grid-x > .large-11, .grid-x > .large-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .large-shrink {
    width: auto; }
  .grid-x > .large-1 {
    width: 8.33333%; }
  .grid-x > .large-2 {
    width: 16.66667%; }
  .grid-x > .large-3 {
    width: 25%; }
  .grid-x > .large-4 {
    width: 33.33333%; }
  .grid-x > .large-5 {
    width: 41.66667%; }
  .grid-x > .large-6 {
    width: 50%; }
  .grid-x > .large-7 {
    width: 58.33333%; }
  .grid-x > .large-8 {
    width: 66.66667%; }
  .grid-x > .large-9 {
    width: 75%; }
  .grid-x > .large-10 {
    width: 83.33333%; }
  .grid-x > .large-11 {
    width: 91.66667%; }
  .grid-x > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .grid-x > .xlarge-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    width: auto; }
  .grid-x > .xlarge-shrink, .grid-x > .xlarge-1, .grid-x > .xlarge-2, .grid-x > .xlarge-3, .grid-x > .xlarge-4, .grid-x > .xlarge-5, .grid-x > .xlarge-6, .grid-x > .xlarge-7, .grid-x > .xlarge-8, .grid-x > .xlarge-9, .grid-x > .xlarge-10, .grid-x > .xlarge-11, .grid-x > .xlarge-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-x > .xlarge-shrink {
    width: auto; }
  .grid-x > .xlarge-1 {
    width: 8.33333%; }
  .grid-x > .xlarge-2 {
    width: 16.66667%; }
  .grid-x > .xlarge-3 {
    width: 25%; }
  .grid-x > .xlarge-4 {
    width: 33.33333%; }
  .grid-x > .xlarge-5 {
    width: 41.66667%; }
  .grid-x > .xlarge-6 {
    width: 50%; }
  .grid-x > .xlarge-7 {
    width: 58.33333%; }
  .grid-x > .xlarge-8 {
    width: 66.66667%; }
  .grid-x > .xlarge-9 {
    width: 75%; }
  .grid-x > .xlarge-10 {
    width: 83.33333%; }
  .grid-x > .xlarge-11 {
    width: 91.66667%; }
  .grid-x > .xlarge-12 {
    width: 100%; } }

.grid-margin-x:not(.grid-x) > .cell {
  width: auto; }

.grid-margin-y:not(.grid-y) > .cell {
  height: auto; }

.grid-margin-x {
  margin-left: -0.3125rem;
  margin-right: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x {
      margin-left: -0.625rem;
      margin-right: -0.625rem; } }
  .grid-margin-x > .cell {
    width: calc(100% - 0.625rem);
    margin-left: 0.3125rem;
    margin-right: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .cell {
      width: calc(100% - 1.25rem);
      margin-left: 0.625rem;
      margin-right: 0.625rem; } }
  .grid-margin-x > .auto {
    width: auto; }
  .grid-margin-x > .shrink {
    width: auto; }
  .grid-margin-x > .small-1 {
    width: calc(8.33333% - 0.625rem); }
  .grid-margin-x > .small-2 {
    width: calc(16.66667% - 0.625rem); }
  .grid-margin-x > .small-3 {
    width: calc(25% - 0.625rem); }
  .grid-margin-x > .small-4 {
    width: calc(33.33333% - 0.625rem); }
  .grid-margin-x > .small-5 {
    width: calc(41.66667% - 0.625rem); }
  .grid-margin-x > .small-6 {
    width: calc(50% - 0.625rem); }
  .grid-margin-x > .small-7 {
    width: calc(58.33333% - 0.625rem); }
  .grid-margin-x > .small-8 {
    width: calc(66.66667% - 0.625rem); }
  .grid-margin-x > .small-9 {
    width: calc(75% - 0.625rem); }
  .grid-margin-x > .small-10 {
    width: calc(83.33333% - 0.625rem); }
  .grid-margin-x > .small-11 {
    width: calc(91.66667% - 0.625rem); }
  .grid-margin-x > .small-12 {
    width: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-x > .auto {
      width: auto; }
    .grid-margin-x > .shrink {
      width: auto; }
    .grid-margin-x > .small-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .small-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .small-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .small-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .small-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .small-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .small-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .small-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .small-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .small-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .small-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .small-12 {
      width: calc(100% - 1.25rem); }
    .grid-margin-x > .medium-auto {
      width: auto; }
    .grid-margin-x > .medium-shrink {
      width: auto; }
    .grid-margin-x > .medium-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .medium-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .medium-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .medium-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .medium-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .medium-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .medium-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .medium-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .medium-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .medium-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .medium-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .medium-12 {
      width: calc(100% - 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-x > .large-auto {
      width: auto; }
    .grid-margin-x > .large-shrink {
      width: auto; }
    .grid-margin-x > .large-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .large-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .large-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .large-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .large-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .large-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .large-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .large-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .large-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .large-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .large-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .large-12 {
      width: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-x > .xlarge-auto {
      width: auto; }
    .grid-margin-x > .xlarge-shrink {
      width: auto; }
    .grid-margin-x > .xlarge-1 {
      width: calc(8.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-2 {
      width: calc(16.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-3 {
      width: calc(25% - 1.25rem); }
    .grid-margin-x > .xlarge-4 {
      width: calc(33.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-5 {
      width: calc(41.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-6 {
      width: calc(50% - 1.25rem); }
    .grid-margin-x > .xlarge-7 {
      width: calc(58.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-8 {
      width: calc(66.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-9 {
      width: calc(75% - 1.25rem); }
    .grid-margin-x > .xlarge-10 {
      width: calc(83.33333% - 1.25rem); }
    .grid-margin-x > .xlarge-11 {
      width: calc(91.66667% - 1.25rem); }
    .grid-margin-x > .xlarge-12 {
      width: calc(100% - 1.25rem); } }

.grid-padding-x .grid-padding-x {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }

.grid-container:not(.full) > .grid-padding-x {
  margin-right: -0.3125rem;
  margin-left: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-container:not(.full) > .grid-padding-x {
      margin-right: -0.625rem;
      margin-left: -0.625rem; } }

.grid-padding-x > .cell {
  padding-right: 0.3125rem;
  padding-left: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-x > .cell {
      padding-right: 0.625rem;
      padding-left: 0.625rem; } }

.small-up-1 > .cell {
  width: 100%; }

.small-up-2 > .cell {
  width: 50%; }

.small-up-3 > .cell {
  width: 33.33333%; }

.small-up-4 > .cell {
  width: 25%; }

.small-up-5 > .cell {
  width: 20%; }

.small-up-6 > .cell {
  width: 16.66667%; }

.small-up-7 > .cell {
  width: 14.28571%; }

.small-up-8 > .cell {
  width: 12.5%; }

@media print, screen and (min-width: 40em) {
  .medium-up-1 > .cell {
    width: 100%; }
  .medium-up-2 > .cell {
    width: 50%; }
  .medium-up-3 > .cell {
    width: 33.33333%; }
  .medium-up-4 > .cell {
    width: 25%; }
  .medium-up-5 > .cell {
    width: 20%; }
  .medium-up-6 > .cell {
    width: 16.66667%; }
  .medium-up-7 > .cell {
    width: 14.28571%; }
  .medium-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 81.25em) {
  .large-up-1 > .cell {
    width: 100%; }
  .large-up-2 > .cell {
    width: 50%; }
  .large-up-3 > .cell {
    width: 33.33333%; }
  .large-up-4 > .cell {
    width: 25%; }
  .large-up-5 > .cell {
    width: 20%; }
  .large-up-6 > .cell {
    width: 16.66667%; }
  .large-up-7 > .cell {
    width: 14.28571%; }
  .large-up-8 > .cell {
    width: 12.5%; } }

@media screen and (min-width: 100em) {
  .xlarge-up-1 > .cell {
    width: 100%; }
  .xlarge-up-2 > .cell {
    width: 50%; }
  .xlarge-up-3 > .cell {
    width: 33.33333%; }
  .xlarge-up-4 > .cell {
    width: 25%; }
  .xlarge-up-5 > .cell {
    width: 20%; }
  .xlarge-up-6 > .cell {
    width: 16.66667%; }
  .xlarge-up-7 > .cell {
    width: 14.28571%; }
  .xlarge-up-8 > .cell {
    width: 12.5%; } }

.grid-margin-x.small-up-1 > .cell {
  width: calc(100% - 0.625rem); }

.grid-margin-x.small-up-2 > .cell {
  width: calc(50% - 0.625rem); }

.grid-margin-x.small-up-3 > .cell {
  width: calc(33.33333% - 0.625rem); }

.grid-margin-x.small-up-4 > .cell {
  width: calc(25% - 0.625rem); }

.grid-margin-x.small-up-5 > .cell {
  width: calc(20% - 0.625rem); }

.grid-margin-x.small-up-6 > .cell {
  width: calc(16.66667% - 0.625rem); }

.grid-margin-x.small-up-7 > .cell {
  width: calc(14.28571% - 0.625rem); }

.grid-margin-x.small-up-8 > .cell {
  width: calc(12.5% - 0.625rem); }

@media print, screen and (min-width: 40em) {
  .grid-margin-x.small-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.small-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.small-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.small-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.small-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.small-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.small-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.small-up-8 > .cell {
    width: calc(12.5% - 1.25rem); }
  .grid-margin-x.medium-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.medium-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.medium-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.medium-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.medium-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.medium-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.medium-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.medium-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

@media screen and (min-width: 81.25em) {
  .grid-margin-x.large-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.large-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.large-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.large-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.large-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.large-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.large-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.large-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

@media screen and (min-width: 100em) {
  .grid-margin-x.xlarge-up-1 > .cell {
    width: calc(100% - 1.25rem); }
  .grid-margin-x.xlarge-up-2 > .cell {
    width: calc(50% - 1.25rem); }
  .grid-margin-x.xlarge-up-3 > .cell {
    width: calc(33.33333% - 1.25rem); }
  .grid-margin-x.xlarge-up-4 > .cell {
    width: calc(25% - 1.25rem); }
  .grid-margin-x.xlarge-up-5 > .cell {
    width: calc(20% - 1.25rem); }
  .grid-margin-x.xlarge-up-6 > .cell {
    width: calc(16.66667% - 1.25rem); }
  .grid-margin-x.xlarge-up-7 > .cell {
    width: calc(14.28571% - 1.25rem); }
  .grid-margin-x.xlarge-up-8 > .cell {
    width: calc(12.5% - 1.25rem); } }

.small-margin-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-margin-collapse > .cell {
    margin-right: 0;
    margin-left: 0; }
  .small-margin-collapse > .small-1 {
    width: 8.33333%; }
  .small-margin-collapse > .small-2 {
    width: 16.66667%; }
  .small-margin-collapse > .small-3 {
    width: 25%; }
  .small-margin-collapse > .small-4 {
    width: 33.33333%; }
  .small-margin-collapse > .small-5 {
    width: 41.66667%; }
  .small-margin-collapse > .small-6 {
    width: 50%; }
  .small-margin-collapse > .small-7 {
    width: 58.33333%; }
  .small-margin-collapse > .small-8 {
    width: 66.66667%; }
  .small-margin-collapse > .small-9 {
    width: 75%; }
  .small-margin-collapse > .small-10 {
    width: 83.33333%; }
  .small-margin-collapse > .small-11 {
    width: 91.66667%; }
  .small-margin-collapse > .small-12 {
    width: 100%; }
  @media print, screen and (min-width: 40em) {
    .small-margin-collapse > .medium-1 {
      width: 8.33333%; }
    .small-margin-collapse > .medium-2 {
      width: 16.66667%; }
    .small-margin-collapse > .medium-3 {
      width: 25%; }
    .small-margin-collapse > .medium-4 {
      width: 33.33333%; }
    .small-margin-collapse > .medium-5 {
      width: 41.66667%; }
    .small-margin-collapse > .medium-6 {
      width: 50%; }
    .small-margin-collapse > .medium-7 {
      width: 58.33333%; }
    .small-margin-collapse > .medium-8 {
      width: 66.66667%; }
    .small-margin-collapse > .medium-9 {
      width: 75%; }
    .small-margin-collapse > .medium-10 {
      width: 83.33333%; }
    .small-margin-collapse > .medium-11 {
      width: 91.66667%; }
    .small-margin-collapse > .medium-12 {
      width: 100%; } }
  @media screen and (min-width: 81.25em) {
    .small-margin-collapse > .large-1 {
      width: 8.33333%; }
    .small-margin-collapse > .large-2 {
      width: 16.66667%; }
    .small-margin-collapse > .large-3 {
      width: 25%; }
    .small-margin-collapse > .large-4 {
      width: 33.33333%; }
    .small-margin-collapse > .large-5 {
      width: 41.66667%; }
    .small-margin-collapse > .large-6 {
      width: 50%; }
    .small-margin-collapse > .large-7 {
      width: 58.33333%; }
    .small-margin-collapse > .large-8 {
      width: 66.66667%; }
    .small-margin-collapse > .large-9 {
      width: 75%; }
    .small-margin-collapse > .large-10 {
      width: 83.33333%; }
    .small-margin-collapse > .large-11 {
      width: 91.66667%; }
    .small-margin-collapse > .large-12 {
      width: 100%; } }
  @media screen and (min-width: 100em) {
    .small-margin-collapse > .xlarge-1 {
      width: 8.33333%; }
    .small-margin-collapse > .xlarge-2 {
      width: 16.66667%; }
    .small-margin-collapse > .xlarge-3 {
      width: 25%; }
    .small-margin-collapse > .xlarge-4 {
      width: 33.33333%; }
    .small-margin-collapse > .xlarge-5 {
      width: 41.66667%; }
    .small-margin-collapse > .xlarge-6 {
      width: 50%; }
    .small-margin-collapse > .xlarge-7 {
      width: 58.33333%; }
    .small-margin-collapse > .xlarge-8 {
      width: 66.66667%; }
    .small-margin-collapse > .xlarge-9 {
      width: 75%; }
    .small-margin-collapse > .xlarge-10 {
      width: 83.33333%; }
    .small-margin-collapse > .xlarge-11 {
      width: 91.66667%; }
    .small-margin-collapse > .xlarge-12 {
      width: 100%; } }

.small-padding-collapse {
  margin-right: 0;
  margin-left: 0; }
  .small-padding-collapse > .cell {
    padding-right: 0;
    padding-left: 0; }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .small-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .small-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .small-3 {
    width: 25%; }
  .medium-margin-collapse > .small-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .small-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .small-6 {
    width: 50%; }
  .medium-margin-collapse > .small-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .small-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .small-9 {
    width: 75%; }
  .medium-margin-collapse > .small-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .small-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .small-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .medium-3 {
    width: 25%; }
  .medium-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .medium-6 {
    width: 50%; }
  .medium-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .medium-9 {
    width: 75%; }
  .medium-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .medium-margin-collapse > .large-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .large-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .large-3 {
    width: 25%; }
  .medium-margin-collapse > .large-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .large-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .large-6 {
    width: 50%; }
  .medium-margin-collapse > .large-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .large-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .large-9 {
    width: 75%; }
  .medium-margin-collapse > .large-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .large-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .medium-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .medium-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .medium-margin-collapse > .xlarge-3 {
    width: 25%; }
  .medium-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .medium-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .medium-margin-collapse > .xlarge-6 {
    width: 50%; }
  .medium-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .medium-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .medium-margin-collapse > .xlarge-9 {
    width: 75%; }
  .medium-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .medium-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .medium-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media print, screen and (min-width: 40em) {
  .medium-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .medium-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse > .small-1 {
    width: 8.33333%; }
  .large-margin-collapse > .small-2 {
    width: 16.66667%; }
  .large-margin-collapse > .small-3 {
    width: 25%; }
  .large-margin-collapse > .small-4 {
    width: 33.33333%; }
  .large-margin-collapse > .small-5 {
    width: 41.66667%; }
  .large-margin-collapse > .small-6 {
    width: 50%; }
  .large-margin-collapse > .small-7 {
    width: 58.33333%; }
  .large-margin-collapse > .small-8 {
    width: 66.66667%; }
  .large-margin-collapse > .small-9 {
    width: 75%; }
  .large-margin-collapse > .small-10 {
    width: 83.33333%; }
  .large-margin-collapse > .small-11 {
    width: 91.66667%; }
  .large-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .large-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .large-margin-collapse > .medium-3 {
    width: 25%; }
  .large-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .large-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .large-margin-collapse > .medium-6 {
    width: 50%; }
  .large-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .large-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .large-margin-collapse > .medium-9 {
    width: 75%; }
  .large-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .large-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .large-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .large-margin-collapse > .large-1 {
    width: 8.33333%; }
  .large-margin-collapse > .large-2 {
    width: 16.66667%; }
  .large-margin-collapse > .large-3 {
    width: 25%; }
  .large-margin-collapse > .large-4 {
    width: 33.33333%; }
  .large-margin-collapse > .large-5 {
    width: 41.66667%; }
  .large-margin-collapse > .large-6 {
    width: 50%; }
  .large-margin-collapse > .large-7 {
    width: 58.33333%; }
  .large-margin-collapse > .large-8 {
    width: 66.66667%; }
  .large-margin-collapse > .large-9 {
    width: 75%; }
  .large-margin-collapse > .large-10 {
    width: 83.33333%; }
  .large-margin-collapse > .large-11 {
    width: 91.66667%; }
  .large-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .large-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .large-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .large-margin-collapse > .xlarge-3 {
    width: 25%; }
  .large-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .large-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .large-margin-collapse > .xlarge-6 {
    width: 50%; }
  .large-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .large-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .large-margin-collapse > .xlarge-9 {
    width: 75%; }
  .large-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .large-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .large-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 81.25em) {
  .large-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .large-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-margin-collapse > .cell {
      margin-right: 0;
      margin-left: 0; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .small-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .small-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .small-3 {
    width: 25%; }
  .xlarge-margin-collapse > .small-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .small-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .small-6 {
    width: 50%; }
  .xlarge-margin-collapse > .small-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .small-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .small-9 {
    width: 75%; }
  .xlarge-margin-collapse > .small-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .small-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .small-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .medium-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .medium-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .medium-3 {
    width: 25%; }
  .xlarge-margin-collapse > .medium-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .medium-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .medium-6 {
    width: 50%; }
  .xlarge-margin-collapse > .medium-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .medium-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .medium-9 {
    width: 75%; }
  .xlarge-margin-collapse > .medium-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .medium-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .medium-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .large-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .large-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .large-3 {
    width: 25%; }
  .xlarge-margin-collapse > .large-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .large-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .large-6 {
    width: 50%; }
  .xlarge-margin-collapse > .large-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .large-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .large-9 {
    width: 75%; }
  .xlarge-margin-collapse > .large-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .large-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .large-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-margin-collapse > .xlarge-1 {
    width: 8.33333%; }
  .xlarge-margin-collapse > .xlarge-2 {
    width: 16.66667%; }
  .xlarge-margin-collapse > .xlarge-3 {
    width: 25%; }
  .xlarge-margin-collapse > .xlarge-4 {
    width: 33.33333%; }
  .xlarge-margin-collapse > .xlarge-5 {
    width: 41.66667%; }
  .xlarge-margin-collapse > .xlarge-6 {
    width: 50%; }
  .xlarge-margin-collapse > .xlarge-7 {
    width: 58.33333%; }
  .xlarge-margin-collapse > .xlarge-8 {
    width: 66.66667%; }
  .xlarge-margin-collapse > .xlarge-9 {
    width: 75%; }
  .xlarge-margin-collapse > .xlarge-10 {
    width: 83.33333%; }
  .xlarge-margin-collapse > .xlarge-11 {
    width: 91.66667%; }
  .xlarge-margin-collapse > .xlarge-12 {
    width: 100%; } }

@media screen and (min-width: 100em) {
  .xlarge-padding-collapse {
    margin-right: 0;
    margin-left: 0; }
    .xlarge-padding-collapse > .cell {
      padding-right: 0;
      padding-left: 0; } }

.small-offset-0 {
  margin-left: 0%; }

.grid-margin-x > .small-offset-0 {
  margin-left: calc(0% + 0.625rem / 2); }

.small-offset-1 {
  margin-left: 8.33333%; }

.grid-margin-x > .small-offset-1 {
  margin-left: calc(8.33333% + 0.625rem / 2); }

.small-offset-2 {
  margin-left: 16.66667%; }

.grid-margin-x > .small-offset-2 {
  margin-left: calc(16.66667% + 0.625rem / 2); }

.small-offset-3 {
  margin-left: 25%; }

.grid-margin-x > .small-offset-3 {
  margin-left: calc(25% + 0.625rem / 2); }

.small-offset-4 {
  margin-left: 33.33333%; }

.grid-margin-x > .small-offset-4 {
  margin-left: calc(33.33333% + 0.625rem / 2); }

.small-offset-5 {
  margin-left: 41.66667%; }

.grid-margin-x > .small-offset-5 {
  margin-left: calc(41.66667% + 0.625rem / 2); }

.small-offset-6 {
  margin-left: 50%; }

.grid-margin-x > .small-offset-6 {
  margin-left: calc(50% + 0.625rem / 2); }

.small-offset-7 {
  margin-left: 58.33333%; }

.grid-margin-x > .small-offset-7 {
  margin-left: calc(58.33333% + 0.625rem / 2); }

.small-offset-8 {
  margin-left: 66.66667%; }

.grid-margin-x > .small-offset-8 {
  margin-left: calc(66.66667% + 0.625rem / 2); }

.small-offset-9 {
  margin-left: 75%; }

.grid-margin-x > .small-offset-9 {
  margin-left: calc(75% + 0.625rem / 2); }

.small-offset-10 {
  margin-left: 83.33333%; }

.grid-margin-x > .small-offset-10 {
  margin-left: calc(83.33333% + 0.625rem / 2); }

.small-offset-11 {
  margin-left: 91.66667%; }

.grid-margin-x > .small-offset-11 {
  margin-left: calc(91.66667% + 0.625rem / 2); }

@media print, screen and (min-width: 40em) {
  .medium-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .medium-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .medium-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .medium-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .medium-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .medium-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .medium-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .medium-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .medium-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .medium-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .medium-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .medium-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .medium-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .medium-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .medium-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .medium-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

@media screen and (min-width: 81.25em) {
  .large-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .large-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .large-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .large-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .large-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .large-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .large-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .large-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .large-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .large-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .large-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .large-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .large-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .large-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .large-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .large-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

@media screen and (min-width: 100em) {
  .xlarge-offset-0 {
    margin-left: 0%; }
  .grid-margin-x > .xlarge-offset-0 {
    margin-left: calc(0% + 1.25rem / 2); }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .grid-margin-x > .xlarge-offset-1 {
    margin-left: calc(8.33333% + 1.25rem / 2); }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .grid-margin-x > .xlarge-offset-2 {
    margin-left: calc(16.66667% + 1.25rem / 2); }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .grid-margin-x > .xlarge-offset-3 {
    margin-left: calc(25% + 1.25rem / 2); }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .grid-margin-x > .xlarge-offset-4 {
    margin-left: calc(33.33333% + 1.25rem / 2); }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .grid-margin-x > .xlarge-offset-5 {
    margin-left: calc(41.66667% + 1.25rem / 2); }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .grid-margin-x > .xlarge-offset-6 {
    margin-left: calc(50% + 1.25rem / 2); }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .grid-margin-x > .xlarge-offset-7 {
    margin-left: calc(58.33333% + 1.25rem / 2); }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .grid-margin-x > .xlarge-offset-8 {
    margin-left: calc(66.66667% + 1.25rem / 2); }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .grid-margin-x > .xlarge-offset-9 {
    margin-left: calc(75% + 1.25rem / 2); }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .grid-margin-x > .xlarge-offset-10 {
    margin-left: calc(83.33333% + 1.25rem / 2); }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .grid-margin-x > .xlarge-offset-11 {
    margin-left: calc(91.66667% + 1.25rem / 2); } }

.grid-y {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column nowrap;
          flex-flow: column nowrap; }
  .grid-y > .cell {
    height: auto;
    max-height: none; }
  .grid-y > .auto {
    height: auto; }
  .grid-y > .shrink {
    height: auto; }
  .grid-y > .small-shrink, .grid-y > .small-full, .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -ms-flex-preferred-size: auto;
        flex-basis: auto; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-shrink, .grid-y > .medium-full, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media screen and (min-width: 81.25em) {
    .grid-y > .large-shrink, .grid-y > .large-full, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  @media screen and (min-width: 100em) {
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-full, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -ms-flex-preferred-size: auto;
          flex-basis: auto; } }
  .grid-y > .small-1, .grid-y > .small-2, .grid-y > .small-3, .grid-y > .small-4, .grid-y > .small-5, .grid-y > .small-6, .grid-y > .small-7, .grid-y > .small-8, .grid-y > .small-9, .grid-y > .small-10, .grid-y > .small-11, .grid-y > .small-12 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
  .grid-y > .small-1 {
    height: 8.33333%; }
  .grid-y > .small-2 {
    height: 16.66667%; }
  .grid-y > .small-3 {
    height: 25%; }
  .grid-y > .small-4 {
    height: 33.33333%; }
  .grid-y > .small-5 {
    height: 41.66667%; }
  .grid-y > .small-6 {
    height: 50%; }
  .grid-y > .small-7 {
    height: 58.33333%; }
  .grid-y > .small-8 {
    height: 66.66667%; }
  .grid-y > .small-9 {
    height: 75%; }
  .grid-y > .small-10 {
    height: 83.33333%; }
  .grid-y > .small-11 {
    height: 91.66667%; }
  .grid-y > .small-12 {
    height: 100%; }
  @media print, screen and (min-width: 40em) {
    .grid-y > .medium-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .medium-shrink, .grid-y > .medium-1, .grid-y > .medium-2, .grid-y > .medium-3, .grid-y > .medium-4, .grid-y > .medium-5, .grid-y > .medium-6, .grid-y > .medium-7, .grid-y > .medium-8, .grid-y > .medium-9, .grid-y > .medium-10, .grid-y > .medium-11, .grid-y > .medium-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .medium-shrink {
      height: auto; }
    .grid-y > .medium-1 {
      height: 8.33333%; }
    .grid-y > .medium-2 {
      height: 16.66667%; }
    .grid-y > .medium-3 {
      height: 25%; }
    .grid-y > .medium-4 {
      height: 33.33333%; }
    .grid-y > .medium-5 {
      height: 41.66667%; }
    .grid-y > .medium-6 {
      height: 50%; }
    .grid-y > .medium-7 {
      height: 58.33333%; }
    .grid-y > .medium-8 {
      height: 66.66667%; }
    .grid-y > .medium-9 {
      height: 75%; }
    .grid-y > .medium-10 {
      height: 83.33333%; }
    .grid-y > .medium-11 {
      height: 91.66667%; }
    .grid-y > .medium-12 {
      height: 100%; } }
  @media screen and (min-width: 81.25em) {
    .grid-y > .large-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .large-shrink, .grid-y > .large-1, .grid-y > .large-2, .grid-y > .large-3, .grid-y > .large-4, .grid-y > .large-5, .grid-y > .large-6, .grid-y > .large-7, .grid-y > .large-8, .grid-y > .large-9, .grid-y > .large-10, .grid-y > .large-11, .grid-y > .large-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .large-shrink {
      height: auto; }
    .grid-y > .large-1 {
      height: 8.33333%; }
    .grid-y > .large-2 {
      height: 16.66667%; }
    .grid-y > .large-3 {
      height: 25%; }
    .grid-y > .large-4 {
      height: 33.33333%; }
    .grid-y > .large-5 {
      height: 41.66667%; }
    .grid-y > .large-6 {
      height: 50%; }
    .grid-y > .large-7 {
      height: 58.33333%; }
    .grid-y > .large-8 {
      height: 66.66667%; }
    .grid-y > .large-9 {
      height: 75%; }
    .grid-y > .large-10 {
      height: 83.33333%; }
    .grid-y > .large-11 {
      height: 91.66667%; }
    .grid-y > .large-12 {
      height: 100%; } }
  @media screen and (min-width: 100em) {
    .grid-y > .xlarge-auto {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0;
      height: auto; }
    .grid-y > .xlarge-shrink, .grid-y > .xlarge-1, .grid-y > .xlarge-2, .grid-y > .xlarge-3, .grid-y > .xlarge-4, .grid-y > .xlarge-5, .grid-y > .xlarge-6, .grid-y > .xlarge-7, .grid-y > .xlarge-8, .grid-y > .xlarge-9, .grid-y > .xlarge-10, .grid-y > .xlarge-11, .grid-y > .xlarge-12 {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
    .grid-y > .xlarge-shrink {
      height: auto; }
    .grid-y > .xlarge-1 {
      height: 8.33333%; }
    .grid-y > .xlarge-2 {
      height: 16.66667%; }
    .grid-y > .xlarge-3 {
      height: 25%; }
    .grid-y > .xlarge-4 {
      height: 33.33333%; }
    .grid-y > .xlarge-5 {
      height: 41.66667%; }
    .grid-y > .xlarge-6 {
      height: 50%; }
    .grid-y > .xlarge-7 {
      height: 58.33333%; }
    .grid-y > .xlarge-8 {
      height: 66.66667%; }
    .grid-y > .xlarge-9 {
      height: 75%; }
    .grid-y > .xlarge-10 {
      height: 83.33333%; }
    .grid-y > .xlarge-11 {
      height: 91.66667%; }
    .grid-y > .xlarge-12 {
      height: 100%; } }

.grid-padding-y .grid-padding-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y .grid-padding-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }

.grid-padding-y > .cell {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-padding-y > .cell {
      padding-top: 0.625rem;
      padding-bottom: 0.625rem; } }

.grid-margin-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.625rem);
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.625rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.625rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.625rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.625rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.625rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.625rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.625rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.625rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.625rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.625rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.625rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.25rem); } }

.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  width: 100vw; }

.cell .grid-frame {
  width: 100%; }

.cell-block {
  overflow-x: auto;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-y {
  overflow-y: auto;
  max-height: 100%;
  min-height: 100%;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }

.cell-block-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 100%; }
  .cell-block-container > .grid-x {
    max-height: 100%;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }

@media print, screen and (min-width: 40em) {
  .medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .medium-grid-frame {
    width: 100%; }
  .medium-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .medium-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .medium-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .medium-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 81.25em) {
  .large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .large-grid-frame {
    width: 100%; }
  .large-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .large-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .large-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .large-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

@media screen and (min-width: 100em) {
  .xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    width: 100vw; }
  .cell .xlarge-grid-frame {
    width: 100%; }
  .xlarge-cell-block {
    overflow-x: auto;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
  .xlarge-cell-block-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-height: 100%; }
    .xlarge-cell-block-container > .grid-x {
      max-height: 100%;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .xlarge-cell-block-y {
    overflow-y: auto;
    max-height: 100%;
    min-height: 100%;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; } }

.grid-y.grid-frame {
  overflow: hidden;
  position: relative;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  height: 100vh;
  width: auto; }

@media print, screen and (min-width: 40em) {
  .grid-y.medium-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

@media screen and (min-width: 81.25em) {
  .grid-y.large-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

@media screen and (min-width: 100em) {
  .grid-y.xlarge-grid-frame {
    overflow: hidden;
    position: relative;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    height: 100vh;
    width: auto; } }

.cell .grid-y.grid-frame {
  height: 100%; }

@media print, screen and (min-width: 40em) {
  .cell .grid-y.medium-grid-frame {
    height: 100%; } }

@media screen and (min-width: 81.25em) {
  .cell .grid-y.large-grid-frame {
    height: 100%; } }

@media screen and (min-width: 100em) {
  .cell .grid-y.xlarge-grid-frame {
    height: 100%; } }

.grid-margin-y {
  margin-top: -0.3125rem;
  margin-bottom: -0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y {
      margin-top: -0.625rem;
      margin-bottom: -0.625rem; } }
  .grid-margin-y > .cell {
    height: calc(100% - 0.625rem);
    margin-top: 0.3125rem;
    margin-bottom: 0.3125rem; }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .cell {
      height: calc(100% - 1.25rem);
      margin-top: 0.625rem;
      margin-bottom: 0.625rem; } }
  .grid-margin-y > .auto {
    height: auto; }
  .grid-margin-y > .shrink {
    height: auto; }
  .grid-margin-y > .small-1 {
    height: calc(8.33333% - 0.625rem); }
  .grid-margin-y > .small-2 {
    height: calc(16.66667% - 0.625rem); }
  .grid-margin-y > .small-3 {
    height: calc(25% - 0.625rem); }
  .grid-margin-y > .small-4 {
    height: calc(33.33333% - 0.625rem); }
  .grid-margin-y > .small-5 {
    height: calc(41.66667% - 0.625rem); }
  .grid-margin-y > .small-6 {
    height: calc(50% - 0.625rem); }
  .grid-margin-y > .small-7 {
    height: calc(58.33333% - 0.625rem); }
  .grid-margin-y > .small-8 {
    height: calc(66.66667% - 0.625rem); }
  .grid-margin-y > .small-9 {
    height: calc(75% - 0.625rem); }
  .grid-margin-y > .small-10 {
    height: calc(83.33333% - 0.625rem); }
  .grid-margin-y > .small-11 {
    height: calc(91.66667% - 0.625rem); }
  .grid-margin-y > .small-12 {
    height: calc(100% - 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-margin-y > .auto {
      height: auto; }
    .grid-margin-y > .shrink {
      height: auto; }
    .grid-margin-y > .small-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .small-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .small-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .small-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .small-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .small-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .small-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .small-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .small-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .small-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .small-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .small-12 {
      height: calc(100% - 1.25rem); }
    .grid-margin-y > .medium-auto {
      height: auto; }
    .grid-margin-y > .medium-shrink {
      height: auto; }
    .grid-margin-y > .medium-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .medium-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .medium-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .medium-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .medium-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .medium-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .medium-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .medium-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .medium-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .medium-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .medium-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .medium-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-margin-y > .large-auto {
      height: auto; }
    .grid-margin-y > .large-shrink {
      height: auto; }
    .grid-margin-y > .large-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .large-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .large-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .large-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .large-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .large-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .large-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .large-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .large-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .large-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .large-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .large-12 {
      height: calc(100% - 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-margin-y > .xlarge-auto {
      height: auto; }
    .grid-margin-y > .xlarge-shrink {
      height: auto; }
    .grid-margin-y > .xlarge-1 {
      height: calc(8.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-2 {
      height: calc(16.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-3 {
      height: calc(25% - 1.25rem); }
    .grid-margin-y > .xlarge-4 {
      height: calc(33.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-5 {
      height: calc(41.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-6 {
      height: calc(50% - 1.25rem); }
    .grid-margin-y > .xlarge-7 {
      height: calc(58.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-8 {
      height: calc(66.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-9 {
      height: calc(75% - 1.25rem); }
    .grid-margin-y > .xlarge-10 {
      height: calc(83.33333% - 1.25rem); }
    .grid-margin-y > .xlarge-11 {
      height: calc(91.66667% - 1.25rem); }
    .grid-margin-y > .xlarge-12 {
      height: calc(100% - 1.25rem); } }

.grid-frame.grid-margin-y {
  height: calc(100vh + 0.625rem); }
  @media print, screen and (min-width: 40em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }
  @media screen and (min-width: 81.25em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }
  @media screen and (min-width: 100em) {
    .grid-frame.grid-margin-y {
      height: calc(100vh + 1.25rem); } }

@media print, screen and (min-width: 40em) {
  .grid-margin-y.medium-grid-frame {
    height: calc(100vh + 1.25rem); } }

@media screen and (min-width: 81.25em) {
  .grid-margin-y.large-grid-frame {
    height: calc(100vh + 1.25rem); } }

@media screen and (min-width: 100em) {
  .grid-margin-y.xlarge-grid-frame {
    height: calc(100vh + 1.25rem); } }

.close-button {
  position: absolute;
  z-index: 10;
  color: #959595;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #000000; }
  .close-button.small {
    right: 0.66rem;
    top: 0.33em;
    font-size: 1.5em;
    line-height: 1; }
  .close-button, .close-button.medium {
    right: 26px;
    top: auto;
    font-size: 2em;
    line-height: 1; }

.switch {
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #ffffff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  height: 2rem; }

.switch-input {
  position: absolute;
  margin-bottom: 0;
  opacity: 0; }

.switch-paddle {
  position: relative;
  display: block;
  width: 4rem;
  height: 2rem;
  border-radius: 0;
  background: #67156a;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  font-weight: inherit;
  color: inherit;
  cursor: pointer; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    position: absolute;
    top: 0.41rem;
    left: 0.41rem;
    display: block;
    width: 1.18rem;
    height: 1.18rem;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0;
    background: #ffffff;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    content: ''; }
  input:checked ~ .switch-paddle {
    background: #01416f; }
    input:checked ~ .switch-paddle::after {
      left: 2.41rem; }
  input:disabled ~ .switch-paddle {
    cursor: not-allowed;
    opacity: 0.5; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 0.68rem;
    height: 0.68rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.91rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 0.93rem;
    height: 0.93rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2.16rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    top: 0.41rem;
    left: 0.41rem;
    width: 1.68rem;
    height: 1.68rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.91rem; }

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: 0;
    background-color: transparent; }
  caption {
    padding: 0;
    font-weight: bold; }
  thead {
    background: rgba(6, 6, 6, 0);
    color: var(--primary-colour-lightness-0); }
  tfoot {
    background: rgba(13, 13, 13, 0);
    color: #000000; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0; }
  tbody tr {
    border-bottom: 0;
    background-color: transparent; }
  table.striped tbody tr:nth-child(odd) {
    background-color: #f3f3f3; }

@media print, screen and (max-width: 81.24875em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

table.hover thead tr:hover {
  background-color: transparent; }

table.hover tfoot tr:hover {
  background-color: rgba(8, 8, 8, 0); }

table.hover tbody tr:hover {
  background-color: #ffffff; }

table.hover.striped tr:nth-of-type(odd):hover {
  background-color: #ffffff; }

.table-scroll {
  overflow-x: auto; }

.breadcrumbs {
  margin: 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.9375rem;
    color: #01416f;
    cursor: default; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      margin: 0 0.75rem;
      opacity: 1;
      content: "";
      color: #484848; }
  .breadcrumbs a {
    color: #484848; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #01416f;
    cursor: not-allowed; }

.callout {
  position: relative;
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid transparent;
  border-radius: 0;
  background-color: white;
  color: #000000; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #01416f;
    color: #ffffff; }
  .callout.secondary {
    background-color: #eeeeee;
    color: #000000; }
  .callout.success {
    background-color: #12811f;
    color: #ffffff; }
  .callout.warning {
    background-color: #ff5e05;
    color: #000000; }
  .callout.alert {
    background-color: #b20c0c;
    color: #ffffff; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.dropdown-pane {
  position: absolute;
  z-index: 10;
  display: none;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #aeaeae;
  border-radius: 0;
  background-color: #ffffff;
  font-size: 1rem; }
  .dropdown-pane.is-opening {
    display: block; }
  .dropdown-pane.is-open {
    display: block;
    visibility: visible; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.accordion {
  margin-left: 0;
  background: transparent;
  list-style-type: none; }
  .accordion[disabled] .accordion-title {
    cursor: not-allowed; }

.accordion-item:first-child > :first-child {
  border-radius: 0 0 0 0; }

.accordion-item:last-child > :last-child {
  border-radius: 0 0 0 0; }

.accordion-title {
  position: relative;
  display: block;
  padding: 1.25rem 1rem;
  border: 1px solid #dadada;
  border-bottom: 0;
  font-size: 1.0625rem;
  line-height: 1;
  color: var(--primary-colour-lightness-0); }
  :last-child:not(.is-active) > .accordion-title {
    border-bottom: 1px solid #dadada;
    border-radius: 0 0 0 0; }
  .accordion-title:hover, .accordion-title:focus {
    background-color: #ffffff; }

.accordion-content {
  display: none;
  padding: 0;
  border: 1px solid #dadada;
  border-bottom: 0;
  background-color: transparent;
  color: #000000; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #dadada; }

.media-object {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media print, screen and (max-width: 39.99875em) {
    .media-object.stack-for-small {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

.media-object-section {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  @media print, screen and (max-width: 39.99875em) {
    .stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      max-width: 100%; }
      .stack-for-small .media-object-section img {
        width: 100%; } }
  .media-object-section.main-section {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }

.responsive-embed,
.flex-video {
  position: relative;
  height: 0;
  margin-bottom: 1rem;
  padding-bottom: 75%;
  overflow: hidden; }
  .responsive-embed iframe,
  .responsive-embed object,
  .responsive-embed embed,
  .responsive-embed video,
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .responsive-embed.widescreen,
  .flex-video.widescreen {
    padding-bottom: 56.25%; }

.tabs {
  margin: 0;
  border: 1px solid transparent;
  background: none;
  list-style-type: none; }
  .tabs::before, .tabs::after {
    display: table;
    content: ' ';
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .tabs::after {
    clear: both; }

.tabs.vertical > li {
  display: block;
  float: none;
  width: auto; }

.tabs.simple > li > a {
  padding: 0; }
  .tabs.simple > li > a:hover {
    background: transparent; }

.tabs.primary {
  background: #01416f; }
  .tabs.primary > li > a {
    color: #ffffff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #014d83; }

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 0;
    font-size: 1.0625rem;
    line-height: 1;
    color: #959595; }
    [data-whatinput='mouse'] .tabs-title > a {
      outline: 0; }
    .tabs-title > a:hover {
      background: transparent;
      color: gray; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: none;
      color: var(--primary-colour-lightness-0); }

.tabs-content {
  border: 1px solid transparent;
  border-top: 0;
  background: none;
  color: #000000;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.tabs-content.vertical {
  border: 1px solid transparent;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 10px; }
  .tabs-panel.is-active {
    display: block; }

.menu {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  [data-whatinput='mouse'] .menu li {
    outline: 0; }
  .menu a,
  .menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 7.5px 5px 7.5px 16px; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu input {
    display: inline-block; }
  .menu, .menu.horizontal {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .menu.vertical {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    .menu.vertical.icon-top li a img,
    .menu.vertical.icon-top li a i,
    .menu.vertical.icon-top li a svg, .menu.vertical.icon-bottom li a img,
    .menu.vertical.icon-bottom li a i,
    .menu.vertical.icon-bottom li a svg {
      text-align: left; }
  .menu.expanded li {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.expanded.icon-top li a img,
  .menu.expanded.icon-top li a i,
  .menu.expanded.icon-top li a svg, .menu.expanded.icon-bottom li a img,
  .menu.expanded.icon-bottom li a i,
  .menu.expanded.icon-bottom li a svg {
    text-align: left; }
  .menu.simple {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.simple li + li {
      margin-left: 1rem; }
    .menu.simple a {
      padding: 0; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.medium-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.medium-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 81.25em) {
    .menu.large-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.large-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.large-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  @media screen and (min-width: 100em) {
    .menu.xlarge-horizontal {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; }
    .menu.xlarge-vertical {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
    .menu.xlarge-expanded li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.xlarge-simple li {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; } }
  .menu.nested {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.icons a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.icon-left li a, .menu.nested.icon-left li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-left li a img,
    .menu.icon-left li a i,
    .menu.icon-left li a svg, .menu.nested.icon-left li a img,
    .menu.nested.icon-left li a i,
    .menu.nested.icon-left li a svg {
      margin-right: 0.25rem; }
  .menu.icon-right li a, .menu.nested.icon-right li a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu.icon-right li a img,
    .menu.icon-right li a i,
    .menu.icon-right li a svg, .menu.nested.icon-right li a img,
    .menu.nested.icon-right li a i,
    .menu.nested.icon-right li a svg {
      margin-left: 0.25rem; }
  .menu.icon-top li a, .menu.nested.icon-top li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top li a img,
    .menu.icon-top li a i,
    .menu.icon-top li a svg, .menu.nested.icon-top li a img,
    .menu.nested.icon-top li a i,
    .menu.nested.icon-top li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-bottom li a, .menu.nested.icon-bottom li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-bottom li a img,
    .menu.icon-bottom li a i,
    .menu.icon-bottom li a svg, .menu.nested.icon-bottom li a img,
    .menu.nested.icon-bottom li a i,
    .menu.nested.icon-bottom li a svg {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu .is-active > a {
    background: transparent;
    color: #ffffff; }
  .menu.align-left {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  .menu.align-right li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
    .menu.align-right li .submenu li {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu.align-right.vertical li {
    display: block;
    text-align: right; }
    .menu.align-right.vertical li .submenu li {
      text-align: right; }
  .menu.align-right.icon-top li a img,
  .menu.align-right.icon-top li a i,
  .menu.align-right.icon-top li a svg, .menu.align-right.icon-bottom li a img,
  .menu.align-right.icon-bottom li a i,
  .menu.align-right.icon-bottom li a svg {
    text-align: right; }
  .menu.align-right .nested {
    margin-right: 1rem;
    margin-left: 0; }
  .menu.align-center li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .menu.align-center li .submenu li {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
  .menu .menu-text {
    padding: 7.5px 5px 7.5px 16px;
    font-weight: bold;
    line-height: 1;
    color: inherit; }

.no-js [data-responsive-menu] ul {
  display: none; }

.menu-icon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #ffffff;
    -webkit-box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
            box-shadow: 0 7px 0 #ffffff, 0 14px 0 #ffffff;
    content: ''; }
  .menu-icon:hover::after {
    background: #aeaeae;
    -webkit-box-shadow: 0 7px 0 #aeaeae, 0 14px 0 #aeaeae;
            box-shadow: 0 7px 0 #aeaeae, 0 14px 0 #aeaeae; }

.menu-icon.dark {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 16px;
  cursor: pointer; }
  .menu-icon.dark::after {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #000000;
    -webkit-box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
            box-shadow: 0 7px 0 #000000, 0 14px 0 #000000;
    content: ''; }
  .menu-icon.dark:hover::after {
    background: #959595;
    -webkit-box-shadow: 0 7px 0 #959595, 0 14px 0 #959595;
            box-shadow: 0 7px 0 #959595, 0 14px 0 #959595; }

.accordion-menu li {
  width: 100%; }

.accordion-menu a {
  padding: 7.5px 5px 7.5px 16px; }

.accordion-menu .is-accordion-submenu a {
  padding: 7.5px 5px 7.5px 16px; }

.accordion-menu .nested.is-accordion-submenu {
  margin-right: 0;
  margin-left: 1rem; }

.accordion-menu.align-right .nested.is-accordion-submenu {
  margin-right: 1rem;
  margin-left: 0; }

.is-accordion-submenu-parent {
  position: relative; }

.has-submenu-toggle > a {
  margin-right: 40px; }

.submenu-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  height: 40px;
  cursor: pointer; }
  .submenu-toggle::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-bottom-width: 0;
    border-color: #01416f transparent transparent;
    top: 0;
    bottom: 0;
    margin: auto; }

.submenu-toggle[aria-expanded='true']::after {
  -webkit-transform: scaleY(-1);
          transform: scaleY(-1);
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.submenu-toggle-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block; }
  .is-drilldown.animate-height {
    -webkit-transition: height 0.5s;
    transition: height 0.5s; }

.drilldown a {
  padding: 7.5px 5px 7.5px 16px;
  background: #ffffff; }

.drilldown .is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #ffffff;
  -webkit-transition: -webkit-transform 0.15s linear;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .drilldown .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  .drilldown .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
            transform: translateX(100%); }
  .drilldown .is-drilldown-submenu a {
    padding: 7.5px 5px 7.5px 16px; }

.drilldown .nested.is-drilldown-submenu {
  margin-right: 0;
  margin-left: 0; }

.drilldown .drilldown-submenu-cover-previous {
  min-height: 100%; }

.drilldown .is-drilldown-submenu-parent > a {
  position: relative; }
  .drilldown .is-drilldown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px;
    content: '';
    border-right-width: 0;
    border-color: transparent transparent transparent #01416f;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem; }

.drilldown.align-left .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-right-width: 0;
  border-color: transparent transparent transparent #01416f;
  right: 1rem;
  left: auto; }

.drilldown.align-right .is-drilldown-submenu-parent > a::after {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-left-width: 0;
  border-color: transparent #01416f transparent transparent;
  right: auto;
  left: 1rem; }

.drilldown .js-drilldown-back > a::before {
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px;
  content: '';
  border-left-width: 0;
  border-color: transparent #01416f transparent transparent;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  top: 100%;
  right: 0;
  left: auto; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  top: 100%;
  right: auto;
  left: 0; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.dropdown.menu > li > a {
  padding: 7.5px 5px 7.5px 16px; }

.dropdown.menu > li.is-active > a {
  background: transparent;
  color: #01416f; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu .nested.is-dropdown-submenu {
  margin-right: 0;
  margin-left: 0; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  top: 0;
  right: 100%;
  left: auto; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

@media print, screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 81.25em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 100em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    top: 0;
    right: 100%;
    left: auto; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  right: 0;
  left: auto; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    left: auto;
    margin-top: -6px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    right: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  display: none;
  min-width: 300px;
  border: 1px solid #aeaeae;
  background: #ffffff; }
  .dropdown .is-dropdown-submenu a {
    padding: 7.5px 5px 7.5px 16px; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.is-off-canvas-open {
  overflow: hidden; }

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 11;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.5s ease, visibility 0.5s ease;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  background: rgba(255, 255, 255, 0.25);
  opacity: 0;
  visibility: hidden;
  overflow: hidden; }
  .js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible; }
  .js-off-canvas-overlay.is-closable {
    cursor: pointer; }
  .js-off-canvas-overlay.is-overlay-absolute {
    position: absolute; }
  .js-off-canvas-overlay.is-overlay-fixed {
    position: fixed; }

.off-canvas-wrapper {
  position: relative;
  overflow: hidden; }

.off-canvas {
  position: fixed;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #ffffff; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-push {
    z-index: 12; }
  .off-canvas.is-closed {
    visibility: hidden; }
  .off-canvas.is-transition-overlap {
    z-index: 4000; }
    .off-canvas.is-transition-overlap.is-open {
      -webkit-box-shadow: 0;
              box-shadow: 0; }
  .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.off-canvas-absolute {
  position: absolute;
  z-index: 12;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #ffffff; }
  [data-whatinput='mouse'] .off-canvas-absolute {
    outline: 0; }
  .off-canvas-absolute.is-transition-push {
    z-index: 12; }
  .off-canvas-absolute.is-closed {
    visibility: hidden; }
  .off-canvas-absolute.is-transition-overlap {
    z-index: 4000; }
    .off-canvas-absolute.is-transition-overlap.is-open {
      -webkit-box-shadow: 0;
              box-shadow: 0; }
  .off-canvas-absolute.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

.position-left {
  top: 0;
  left: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(-250px);
          transform: translateX(-250px); }
  @media screen and (min-width: 81.25em) {
    .position-left {
      width: 400px;
      -webkit-transform: translateX(-400px);
              transform: translateX(-400px); } }
  .off-canvas-content .off-canvas.position-left {
    -webkit-transform: translateX(-250px);
            transform: translateX(-250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content .off-canvas.position-left {
        -webkit-transform: translateX(-400px);
                transform: translateX(-400px); } }
    .off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-left.has-transition-push {
    -webkit-transform: translateX(250px);
            transform: translateX(250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content.is-open-left.has-transition-push {
        -webkit-transform: translateX(400px);
                transform: translateX(400px); } }
  .position-left.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-right {
  top: 0;
  right: 0;
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  width: 250px;
  -webkit-transform: translateX(250px);
          transform: translateX(250px); }
  @media screen and (min-width: 81.25em) {
    .position-right {
      width: 400px;
      -webkit-transform: translateX(400px);
              transform: translateX(400px); } }
  .off-canvas-content .off-canvas.position-right {
    -webkit-transform: translateX(250px);
            transform: translateX(250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content .off-canvas.position-right {
        -webkit-transform: translateX(400px);
                transform: translateX(400px); } }
    .off-canvas-content .off-canvas.position-right.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-right.has-transition-push {
    -webkit-transform: translateX(-250px);
            transform: translateX(-250px); }
    @media screen and (min-width: 81.25em) {
      .off-canvas-content.is-open-right.has-transition-push {
        -webkit-transform: translateX(-400px);
                transform: translateX(-400px); } }
  .position-right.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(-250px);
          transform: translateY(-250px); }
  .off-canvas-content .off-canvas.position-top {
    -webkit-transform: translateY(-250px);
            transform: translateY(-250px); }
    .off-canvas-content .off-canvas.position-top.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-top.has-transition-push {
    -webkit-transform: translateY(250px);
            transform: translateY(250px); }
  .position-top.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  height: 250px;
  -webkit-transform: translateY(250px);
          transform: translateY(250px); }
  .off-canvas-content .off-canvas.position-bottom {
    -webkit-transform: translateY(250px);
            transform: translateY(250px); }
    .off-canvas-content .off-canvas.position-bottom.is-transition-overlap.is-open {
      -webkit-transform: translate(0, 0);
              transform: translate(0, 0); }
  .off-canvas-content.is-open-bottom.has-transition-push {
    -webkit-transform: translateY(-250px);
            transform: translateY(-250px); }
  .position-bottom.is-transition-push {
    -webkit-box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25);
            box-shadow: inset 0 0 0 0 rgba(0, 0, 0, 0.25); }

.off-canvas-content {
  -webkit-transform: none;
          transform: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .off-canvas-content.has-transition-overlap, .off-canvas-content.has-transition-push {
    -webkit-transition: -webkit-transform 0.5s ease;
    transition: -webkit-transform 0.5s ease;
    transition: transform 0.5s ease;
    transition: transform 0.5s ease, -webkit-transform 0.5s ease; }
  .off-canvas-content.has-transition-push {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }
  .off-canvas-content .off-canvas.is-open {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0); }

@media print, screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 250px; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 250px; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 250px; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-medium .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-medium {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 250px; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media screen and (min-width: 81.25em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 400px; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 400px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 400px; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 400px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 400px; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 400px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-large .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-large {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 400px; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 400px; } }

@media screen and (min-width: 100em) {
  .position-left.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-left.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-left.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-left {
      margin-left: 400px; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 400px; }
  .position-right.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-right.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-right.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-right {
      margin-right: 400px; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 400px; }
  .position-top.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-top.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-top.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-top {
      margin-top: 400px; }
    .position-top.reveal-for-xlarge ~ .off-canvas-content {
      margin-top: 400px; }
  .position-bottom.reveal-for-xlarge {
    -webkit-transform: none;
            transform: none;
    z-index: 12;
    -webkit-transition: none;
    transition: none;
    visibility: visible; }
    .position-bottom.reveal-for-xlarge .close-button {
      display: none; }
    .off-canvas-content .position-bottom.reveal-for-xlarge {
      -webkit-transform: none;
              transform: none; }
    .off-canvas-content.has-reveal-bottom {
      margin-bottom: 400px; }
    .position-bottom.reveal-for-xlarge ~ .off-canvas-content {
      margin-bottom: 400px; } }

@media print, screen and (min-width: 40em) {
  .off-canvas.in-canvas-for-medium {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-medium.position-left, .off-canvas.in-canvas-for-medium.position-right, .off-canvas.in-canvas-for-medium.position-top, .off-canvas.in-canvas-for-medium.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-medium .close-button {
      display: none; } }

@media screen and (min-width: 81.25em) {
  .off-canvas.in-canvas-for-large {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-large.position-left, .off-canvas.in-canvas-for-large.position-right, .off-canvas.in-canvas-for-large.position-top, .off-canvas.in-canvas-for-large.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-large .close-button {
      display: none; } }

@media screen and (min-width: 100em) {
  .off-canvas.in-canvas-for-xlarge {
    visibility: visible;
    height: auto;
    position: static;
    background: none;
    width: auto;
    overflow: visible;
    -webkit-transition: none;
    transition: none; }
    .off-canvas.in-canvas-for-xlarge.position-left, .off-canvas.in-canvas-for-xlarge.position-right, .off-canvas.in-canvas-for-xlarge.position-top, .off-canvas.in-canvas-for-xlarge.position-bottom {
      -webkit-box-shadow: none;
              box-shadow: none;
      -webkit-transform: none;
              transform: none; }
    .off-canvas.in-canvas-for-xlarge .close-button {
      display: none; } }

.title-bar {
  padding: 0.5rem;
  background: #000000;
  color: #ffffff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0px; }

.title-bar-right {
  text-align: right; }

.title-bar-title {
  display: inline-block;
  vertical-align: middle;
  font-weight: bold; }

.align-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-justify {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.align-left.vertical.menu > li > a {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }

.align-right.vertical.menu > li > a {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.align-center.vertical.menu > li > a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.align-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.align-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.align-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

.align-self-middle {
  -ms-flex-item-align: center;
      align-self: center; }

.align-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

.align-center-middle {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center; }

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6; }

@media print, screen and (min-width: 40em) {
  .medium-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .medium-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .medium-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .medium-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .medium-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .medium-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 81.25em) {
  .large-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .large-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .large-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .large-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .large-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .large-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

@media screen and (min-width: 100em) {
  .xlarge-order-1 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .xlarge-order-2 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .xlarge-order-3 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3; }
  .xlarge-order-4 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4; }
  .xlarge-order-5 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5; }
  .xlarge-order-6 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6; } }

.flex-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.flex-child-auto {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto; }

.flex-child-grow {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }

.flex-child-shrink {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }

.flex-dir-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row; }

.flex-dir-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

.flex-dir-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.flex-dir-column-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }

@media print, screen and (min-width: 40em) {
  .medium-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .medium-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .medium-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .medium-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .medium-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .medium-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .medium-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .medium-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 81.25em) {
  .large-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .large-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .large-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .large-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .large-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .large-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .large-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .large-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

@media screen and (min-width: 100em) {
  .xlarge-flex-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .xlarge-flex-child-auto {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto; }
  .xlarge-flex-child-grow {
    -webkit-box-flex: 1;
        -ms-flex: 1 0 auto;
            flex: 1 0 auto; }
  .xlarge-flex-child-shrink {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto; }
  .xlarge-flex-dir-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row; }
  .xlarge-flex-dir-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
  .xlarge-flex-dir-column {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
  .xlarge-flex-dir-column-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse; } }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

.visible {
  visibility: visible; }

@media print, screen and (max-width: 39.99875em) {
  .hide-for-small-only {
    display: none !important; } }

@media screen and (max-width: 0em), screen and (min-width: 40em) {
  .show-for-small-only {
    display: none !important; } }

@media print, screen and (min-width: 40em) {
  .hide-for-medium {
    display: none !important; } }

@media screen and (max-width: 39.99875em) {
  .show-for-medium {
    display: none !important; } }

@media print, screen and (min-width: 40em) and (max-width: 81.24875em) {
  .hide-for-medium-only {
    display: none !important; } }

@media screen and (max-width: 39.99875em), screen and (min-width: 81.25em) {
  .show-for-medium-only {
    display: none !important; } }

@media screen and (min-width: 81.25em) {
  .hide-for-large {
    display: none !important; } }

@media screen and (max-width: 81.24875em) {
  .show-for-large {
    display: none !important; } }

@media screen and (min-width: 81.25em) and (max-width: 99.99875em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 81.24875em), screen and (min-width: 100em) {
  .show-for-large-only {
    display: none !important; } }

@media screen and (min-width: 100em) {
  .hide-for-xlarge {
    display: none !important; } }

@media screen and (max-width: 99.99875em) {
  .show-for-xlarge {
    display: none !important; } }

@media screen and (min-width: 100em) and (max-width: 119.99875em) {
  .hide-for-xlarge-only {
    display: none !important; } }

@media screen and (max-width: 99.99875em), screen and (min-width: 120em) {
  .show-for-xlarge-only {
    display: none !important; } }

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important; }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  clip: auto !important;
  white-space: normal !important; }

.show-for-landscape,
.hide-for-portrait {
  display: block !important; }
  @media screen and (orientation: landscape) {
    .show-for-landscape,
    .hide-for-portrait {
      display: block !important; } }
  @media screen and (orientation: portrait) {
    .show-for-landscape,
    .hide-for-portrait {
      display: none !important; } }

.hide-for-landscape,
.show-for-portrait {
  display: none !important; }
  @media screen and (orientation: landscape) {
    .hide-for-landscape,
    .show-for-portrait {
      display: none !important; } }
  @media screen and (orientation: portrait) {
    .hide-for-landscape,
    .show-for-portrait {
      display: block !important; } }

.show-for-dark-mode {
  display: none; }

.hide-for-dark-mode {
  display: block; }

@media screen and (prefers-color-scheme: dark) {
  .show-for-dark-mode {
    display: block !important; }
  .hide-for-dark-mode {
    display: none !important; } }

.show-for-ie {
  display: none; }

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .show-for-ie {
    display: block !important; }
  .hide-for-ie {
    display: none !important; } }

.show-for-sticky {
  display: none; }

.is-stuck .show-for-sticky {
  display: block; }

.is-stuck .hide-for-sticky {
  display: none; }

/*
----- Menus -----
TODO: This is a work in progress I am still migrating from a massive blob of code embedded in header.scss.
Handles the following: 
- Dropdowns
- Drill downs
- Accordions
- Mega menu
  - Mega menu see more link.
  - EBG image.
*/
.menu-header {
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 0 20px;
  border-bottom: 0; }
  @media screen and (min-width: 81.25em) {
    .menu-header {
      display: none; } }
  .menu-header:hover {
    background-color: transparent; }
  .menu-header:active {
    background: transparent; }
  .menu-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #01416f;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .menu-header .close-button:hover:before {
      color: #01416f;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .menu-header .close-button:active:before {
      color: #67156a;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .menu-header .menu-heading {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    margin: 0;
    padding: 0 0 15px;
    color: #01416f;
    font-size: 1.5625rem;
    font-weight: 600;
    border-bottom: 1px solid #aeaeae; }

.menu-container {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 81.25em) {
    .menu-container {
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }

.menu, .dropdown.menu {
  width: 100%;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .menu .navigation-cms-container, .menu .menu-header, .dropdown.menu .navigation-cms-container, .dropdown.menu .menu-header {
    position: relative;
    margin: 30px 0 40px;
    border-bottom: 0; }
    .menu .navigation-cms-container:hover, .menu .menu-header:hover, .dropdown.menu .navigation-cms-container:hover, .dropdown.menu .menu-header:hover {
      background-color: transparent; }
    .menu .navigation-cms-container:active, .menu .menu-header:active, .dropdown.menu .navigation-cms-container:active, .dropdown.menu .menu-header:active {
      background: transparent; }
    .menu .navigation-cms-container p, .menu .menu-header p, .dropdown.menu .navigation-cms-container p, .dropdown.menu .menu-header p {
      margin: 0;
      padding: 0;
      color: #01416f;
      font-size: 1.25rem;
      font-weight: 700; }
  .menu .close-button, .dropdown.menu .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    top: 0;
    bottom: 0; }
    .menu .close-button:before, .dropdown.menu .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .menu .close-button:hover:before, .dropdown.menu .close-button:hover:before {
      color: #01416f;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .menu .close-button:active:before, .dropdown.menu .close-button:active:before {
      color: #67156a;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  @media print, screen and (max-width: 81.24875em) {
    .menu > li, .dropdown.menu > li {
      width: 100%;
      position: relative;
      border-bottom: 1px solid #aeaeae; }
      .menu > li > ul, .dropdown.menu > li > ul {
        padding: 0 0 10px;
        background-color: #ffffff;
        list-style: none;
        border-top: 1px solid #aeaeae; }
        .menu > li > ul > li, .dropdown.menu > li > ul > li {
          border: 0; }
          .menu > li > ul > li > a, .dropdown.menu > li > ul > li > a {
            font-size: 1.0625rem;
            font-weight: 600; }
        .menu > li > ul ul, .dropdown.menu > li > ul ul {
          border: none; }
          .menu > li > ul ul a, .dropdown.menu > li > ul ul a {
            color: #000000;
            font-weight: 400;
            font-size: 1.0625rem; }
    .menu .account-menu, .dropdown.menu .account-menu {
      padding: 0; } }
  .menu #mega-menu-image-container, .menu .menu-egb-image-container, .dropdown.menu #mega-menu-image-container, .dropdown.menu .menu-egb-image-container {
    display: none;
    margin-bottom: 25px;
    text-align: center; }
    @media screen and (min-width: 81.25em) {
      .menu #mega-menu-image-container, .menu .menu-egb-image-container, .dropdown.menu #mega-menu-image-container, .dropdown.menu .menu-egb-image-container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        margin-bottom: 0; } }
  .menu.accordion-menu > li > a:after, .dropdown.menu.accordion-menu > li > a:after {
    color: #01416f; }
  .menu.accordion-menu > li:hover > a:after, .dropdown.menu.accordion-menu > li:hover > a:after {
    color: #484848;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .menu.accordion-menu > li:active > a:after, .dropdown.menu.accordion-menu > li:active > a:after {
    color: #ffffff;
    -webkit-transition: color 0.6s;
    transition: color 0.6s; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent[aria-expanded=true] > a:after, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent[aria-expanded=true] > a:after {
    content: ""; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a:after, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > a:after {
      content: "";
      width: 10px;
      height: 10px;
      margin-right: 10px;
      margin-left: auto;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 12px;
      font-family: "Font Awesome Solid";
      text-align: center;
      -webkit-transition: color 0.8s;
      transition: color 0.8s; }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent[aria-expanded=true] > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent[aria-expanded=true] > a:before {
    content: ""; }
  @media print, screen and (max-width: 81.24875em) {
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before {
      content: "";
      height: 12px;
      margin: auto 0;
      padding: 0 10px 0 0;
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-family: "Font Awesome Solid";
      font-size: 12px;
      line-height: 12px;
      -webkit-transition: color 0.6s;
      transition: color 0.6s; } }
  @media screen and (max-width: 81.24875em) and (min-width: 81.25em) {
    .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent > a:before {
      padding: 0 10px 0 5px; } }
  .menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent ul, .dropdown.menu.accordion-menu:not([data-submenu-toggle="true"]) > li.is-accordion-submenu-parent > ul > li.is-accordion-submenu-parent ul {
    padding: 0 0 0 20px;
    list-style: none; }
  .menu.accordion-menu[data-submenu-toggle="true"][aria-expanded=true] > button:after, .dropdown.menu.accordion-menu[data-submenu-toggle="true"][aria-expanded=true] > button:after {
    content: ""; }
  .submenu-toggle:after {
    content: "";
    width: auto;
    height: auto;
    font-size: 12px;
    font-family: "Font Awesome Solid";
    border: 0; }
  @media print, screen and (max-width: 81.24875em) {
    .menu.accordion-menu[data-submenu-toggle="true"] .submenu, .dropdown.menu.accordion-menu[data-submenu-toggle="true"] .submenu {
      margin: 0;
      padding: 0; } }
  @media print, screen and (max-width: 81.24875em) {
    .menu.accordion-menu[data-submenu-toggle="true"] li.is-accordion-submenu-item:not(.has-submenu-toggle) a, .dropdown.menu.accordion-menu[data-submenu-toggle="true"] li.is-accordion-submenu-item:not(.has-submenu-toggle) a {
      padding-left: 45px; } }
  .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item {
    background-color: var(--ebg-background-colour, #e5007d); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a {
      color: var(--ebg-foreground-colour, #01416f); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:before, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:after, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:before, .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:after, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:before, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item > a:hover:after, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:before, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item li:hover a:after {
      color: var(--ebg-foreground-colour, #01416f); }
    .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul {
      background-color: var(--ebg-background-colour, #e5007d); }
      .menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul li > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"].is-submenu-item ul li > a {
        color: var(--ebg-foreground-colour, #01416f); }
  .menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item), .dropdown.menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) {
    background-color: var(--ebg-background-colour, #e5007d); }
    .menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) > a, .dropdown.menu.ebg-colour-background li[style*="--ebg"]:not(.is-submenu-item) > a {
      color: var(--ebg-foreground-colour, #01416f); }
  .menu.ebg-colour-hover li[style*="--ebg"]:hover, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"], .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] {
    background-color: var(--ebg-background-colour, #e5007d); }
    .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child {
      color: var(--ebg-foreground-colour, #01416f); }
      .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:after, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"]:hover > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"][aria-expanded="true"] > a:first-child:after {
        color: var(--ebg-foreground-colour, #01416f); }
  .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"], .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] {
    background-color: var(--ebg-background-colour, #e5007d); }
    .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child {
      color: var(--ebg-foreground-colour, #01416f); }
      .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:after, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:before, .menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"]):hover > a:first-child:after, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:before, .dropdown.menu.ebg-colour-hover li[style*="--ebg"] li:not([style*="--ebg"])[aria-expanded="true"] > a:first-child:after {
        color: var(--ebg-foreground-colour, #01416f); }
  .menu li, .dropdown.menu li {
    list-style: none; }
  .menu > li, .dropdown.menu > li {
    -webkit-transition: background-color 0.8s;
    transition: background-color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .menu > li, .dropdown.menu > li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .menu > li a, .dropdown.menu > li a {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      line-height: 1.6; }
    .menu > li:hover, .dropdown.menu > li:hover {
      background-color: #01416f; }
      .menu > li:hover > a, .dropdown.menu > li:hover > a {
        color: #ffffff; }
    .menu > li > a.has-link-image, .menu > li > p.has-link-image, .dropdown.menu > li > a.has-link-image, .dropdown.menu > li > p.has-link-image {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .menu > li > a.has-link-image, .menu > li > p.has-link-image, .dropdown.menu > li > a.has-link-image, .dropdown.menu > li > p.has-link-image {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          padding-top: 7.5px;
          padding-bottom: 7.5px; } }
      .menu > li > a.has-link-image .link-image, .menu > li > p.has-link-image .link-image, .dropdown.menu > li > a.has-link-image .link-image, .dropdown.menu > li > p.has-link-image .link-image {
        width: 35px;
        height: 35px;
        display: block;
        padding: 0 10px 0 0; }
        @media screen and (min-width: 81.25em) {
          .menu > li > a.has-link-image .link-image, .menu > li > p.has-link-image .link-image, .dropdown.menu > li > a.has-link-image .link-image, .dropdown.menu > li > p.has-link-image .link-image {
            width: 45px;
            height: 45px;
            padding: 0; } }
        @media screen and (min-width: 81.25em) {
          .menu > li > a.has-link-image .link-image + .link-description, .menu > li > p.has-link-image .link-image + .link-description, .dropdown.menu > li > a.has-link-image .link-image + .link-description, .dropdown.menu > li > p.has-link-image .link-image + .link-description {
            padding: 10px 0 0; } }
    .menu > li > a, .dropdown.menu > li > a {
      width: 100%;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      line-height: 1.6; }
      @media screen and (min-width: 81.25em) {
        .menu > li > a, .dropdown.menu > li > a {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
    .menu > li > ul, .dropdown.menu > li > ul {
      padding: 0 0 10px;
      border-color: var(--ebg-background-colour, #01416f); }
      .menu > li > ul:not(.submenu), .dropdown.menu > li > ul:not(.submenu) {
        display: none; }
      @media screen and (min-width: 81.25em) {
        .menu > li > ul, .dropdown.menu > li > ul {
          padding: 0; } }
      @media screen and (min-width: 81.25em) {
        .menu > li > ul li ul li.is-submenu-item, .dropdown.menu > li > ul li ul li.is-submenu-item {
          padding-left: 20px; } }
      .menu > li > ul > li a, .menu > li > ul .is-active a, .dropdown.menu > li > ul > li a, .dropdown.menu > li > ul .is-active a {
        position: relative;
        margin: 0; }
      .menu > li > ul > li.is-dropdown-submenu-parent > a:after, .menu > li > ul .is-active.is-dropdown-submenu-parent > a:after, .dropdown.menu > li > ul > li.is-dropdown-submenu-parent > a:after, .dropdown.menu > li > ul .is-active.is-dropdown-submenu-parent > a:after {
        content: "";
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        margin: 0 0 0 auto;
        font-family: "Font Awesome Solid";
        font-size: 12px; }
  .menu.dropdown li > a, .dropdown.menu.dropdown li > a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .menu.dropdown > li.is-dropdown-submenu-parent, .dropdown.menu.dropdown > li.is-dropdown-submenu-parent {
    border-radius: 0 0 0 0; }
  .menu.dropdown > li:not(.is-dropdown-submenu-parent), .dropdown.menu.dropdown > li:not(.is-dropdown-submenu-parent) {
    border-radius: 0; }
  .menu.on-page-menu, .dropdown.menu.on-page-menu {
    margin: auto;
    padding: 10px;
    border: 1px solid #eeeeee;
    border-radius: 0; }
    .menu.on-page-menu > li, .dropdown.menu.on-page-menu > li {
      position: initial;
      border: 0;
      border-radius: 0; }
      .menu.on-page-menu > li:hover, .dropdown.menu.on-page-menu > li:hover {
        color: #01416f;
        background-color: #eeeeee; }
        .menu.on-page-menu > li:hover > a, .dropdown.menu.on-page-menu > li:hover > a {
          color: #01416f; }
      .menu.on-page-menu > li p, .dropdown.menu.on-page-menu > li p {
        margin-left: 35px; }
        @media screen and (min-width: 81.25em) {
          .menu.on-page-menu > li p, .dropdown.menu.on-page-menu > li p {
            margin-left: 60px; } }
        .menu.on-page-menu > li p i, .dropdown.menu.on-page-menu > li p i {
          margin-right: 5px; }
  .menu .home-button, .dropdown.menu .home-button {
    width: 100%;
    position: relative;
    display: none; }
    @media screen and (min-width: 81.25em) {
      .menu .home-button, .dropdown.menu .home-button {
        max-width: 60px;
        width: 100%;
        display: block; } }
    .menu .home-button:hover, .dropdown.menu .home-button:hover {
      background-color: #ffffff;
      -webkit-transition: background-color 0.8s;
      transition: background-color 0.8s; }
      .menu .home-button:hover a:before, .dropdown.menu .home-button:hover a:before {
        background-color: transparent;
        color: #484848;
        -webkit-transition: color 0.8s, background-color 0.8s;
        transition: color 0.8s, background-color 0.8s; }
    .menu .home-button:active, .dropdown.menu .home-button:active {
      background-color: #01416f; }
      .menu .home-button:active a:before, .dropdown.menu .home-button:active a:before {
        background-color: transparent;
        color: #ffffff; }
    .menu .home-button a, .dropdown.menu .home-button a {
      width: 100%;
      height: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      .menu .home-button a:before, .dropdown.menu .home-button a:before {
        content: "";
        padding: 0;
        font-family: "Font Awesome Solid";
        font-size: 17px;
        color: #ffffff;
        background-color: transparent;
        border-radius: 0;
        -webkit-transition: color 0.6s, padding 0.8s;
        transition: color 0.6s, padding 0.8s; }
  .menu .account-menu, .dropdown.menu .account-menu {
    width: 100%;
    right: 0 !important;
    left: auto !important;
    padding: 10px 0; }
    @media screen and (min-width: 81.25em) {
      .menu .account-menu, .dropdown.menu .account-menu {
        max-height: 70vh;
        width: 550px;
        padding: 20px;
        overflow-y: auto; } }
    .menu .account-menu li, .dropdown.menu .account-menu li {
      position: relative; }
      .menu .account-menu li > a, .dropdown.menu .account-menu li > a {
        padding: 10px; }
    .menu .account-menu .account-page > a:before, .dropdown.menu .account-menu .account-page > a:before {
      content: unset; }
    .menu .account-menu.js-dropdown-active, .dropdown.menu .account-menu.js-dropdown-active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      border: 0;
      top: 100% !important;
      right: 0;
      left: auto; }
      @media screen and (min-width: 81.25em) {
        .menu .account-menu.js-dropdown-active, .dropdown.menu .account-menu.js-dropdown-active {
          padding-bottom: 50px;
          -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                  box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
          border-bottom-color: #01416f;
          border-width: 0 0 6px 0;
          border-style: solid; } }
  .menu .site-setting-menu, .dropdown.menu .site-setting-menu {
    margin-bottom: 30px;
    background-color: #eeeeee;
    border-color: transparent;
    cursor: pointer; }
    @media screen and (min-width: 81.25em) {
      .menu .site-setting-menu, .dropdown.menu .site-setting-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-bottom: 0;
        padding-left: 13px;
        padding-right: 45px;
        background-color: transparent; } }
    .menu .site-setting-menu:hover, .dropdown.menu .site-setting-menu:hover {
      background-color: #eeeeee; }
      .menu .site-setting-menu:hover > a, .dropdown.menu .site-setting-menu:hover > a {
        color: #000000; }
    .menu .site-setting-menu > ul, .dropdown.menu .site-setting-menu > ul {
      width: auto;
      margin: 0 20px 20px;
      border-color: #ffffff; }
      @media screen and (min-width: 81.25em) {
        .menu .site-setting-menu > ul, .dropdown.menu .site-setting-menu > ul {
          min-width: 160px;
          margin: 0;
          padding: 10px 45px 10px 22px;
          border-color: transparent;
          border-bottom-color: #01416f;
          border-width: 0 0 6px 0;
          border-style: solid; }
          .menu .site-setting-menu > ul:after, .dropdown.menu .site-setting-menu > ul:after {
            content: '';
            width: 90%;
            height: 2px;
            position: absolute;
            top: 2px;
            right: 0;
            left: 0;
            display: block;
            margin: auto;
            background-color: #eeeeee; } }
      @media screen and (min-width: 81.25em) {
        .menu .site-setting-menu > ul a, .dropdown.menu .site-setting-menu > ul a {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start;
          padding: 0; } }
      .menu .site-setting-menu > ul a .currency-icon, .dropdown.menu .site-setting-menu > ul a .currency-icon {
        line-height: 2; }
    .menu .site-setting-menu .currency-container, .dropdown.menu .site-setting-menu .currency-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      margin: auto 0; }
    .menu .site-setting-menu .selected-option, .dropdown.menu .site-setting-menu .selected-option {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline; }
      @media screen and (min-width: 81.25em) {
        .menu .site-setting-menu .selected-option:before, .dropdown.menu .site-setting-menu .selected-option:before {
          content: "";
          display: inline-block;
          position: relative;
          top: auto;
          right: auto;
          margin: auto 15px auto 0;
          font-family: "Font Awesome Solid";
          font-size: 12px;
          color: #aeaeae;
          -webkit-transition: color 0.8s;
          transition: color 0.8s; }
        .menu .site-setting-menu .selected-option:hover:before, .dropdown.menu .site-setting-menu .selected-option:hover:before {
          color: #959595; } }
      .menu .site-setting-menu .selected-option:active, .dropdown.menu .site-setting-menu .selected-option:active {
        background-color: transparent; }
      .menu .site-setting-menu .selected-option .currency-icon, .dropdown.menu .site-setting-menu .selected-option .currency-icon {
        position: relative;
        top: -1px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .menu .site-setting-menu .selected-option .currency-icon:before, .dropdown.menu .site-setting-menu .selected-option .currency-icon:before {
          font-size: 12px; }
          @media screen and (min-width: 81.25em) {
            .menu .site-setting-menu .selected-option .currency-icon:before, .dropdown.menu .site-setting-menu .selected-option .currency-icon:before {
              color: #ffffff; } }
      .menu .site-setting-menu .selected-option .label, .dropdown.menu .site-setting-menu .selected-option .label {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 0 0 0 6px; }
        @media print, screen and (max-width: 81.24875em) {
          .menu .site-setting-menu .selected-option .label, .dropdown.menu .site-setting-menu .selected-option .label {
            color: #000000;
            font-size: 0.875rem; } }
    .menu .site-setting-menu .currency, .dropdown.menu .site-setting-menu .currency {
      white-space: nowrap; }
      .menu .site-setting-menu .currency.disabled, .dropdown.menu .site-setting-menu .currency.disabled {
        opacity: .5;
        cursor: not-allowed; }
      .menu .site-setting-menu .currency .currency-icon, .dropdown.menu .site-setting-menu .currency .currency-icon {
        font-size: 13px; }
      .menu .site-setting-menu .currency .label, .dropdown.menu .site-setting-menu .currency .label {
        margin-left: 10px;
        color: #000000;
        font-size: 0.875rem;
        font-weight: 400; }
        .menu .site-setting-menu .currency .label:hover, .dropdown.menu .site-setting-menu .currency .label:hover {
          color: #67156a; }
        .menu .site-setting-menu .currency .label:active, .dropdown.menu .site-setting-menu .currency .label:active {
          color: #01416f; }
    .menu .site-setting-menu .is-dropdown-submenu-parent, .dropdown.menu .site-setting-menu .is-dropdown-submenu-parent {
      top: calc(100% + 7.5px) !important; }
    .menu .site-setting-menu.is-active > a:hover .label, .dropdown.menu .site-setting-menu.is-active > a:hover .label {
      color: #01416f; }
    @media screen and (min-width: 81.25em) {
      .menu .site-setting-menu.is-active, .menu .site-setting-menu:hover, .dropdown.menu .site-setting-menu.is-active, .dropdown.menu .site-setting-menu:hover {
        background-color: #ffffff; }
        .menu .site-setting-menu.is-active a .currency-icon:before, .menu .site-setting-menu:hover a .currency-icon:before, .dropdown.menu .site-setting-menu.is-active a .currency-icon:before, .dropdown.menu .site-setting-menu:hover a .currency-icon:before {
          color: #01416f; } }
    @media screen and (min-width: 81.25em) {
      .menu .site-setting-menu.is-active > a:before, .menu .site-setting-menu:hover > a:before, .dropdown.menu .site-setting-menu.is-active > a:before, .dropdown.menu .site-setting-menu:hover > a:before {
        content: "";
        color: #959595; } }

ul.menu li a[href^="tel:"]:before, ul.menu li a[href^="mailto:"]:before {
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 1px 5px;
  color: #ffffff;
  font-family: "Font Awesome Solid";
  background-color: #00adef;
  border-radius: 0;
  -webkit-transition: background-color 0.8s, color 0.8s;
  transition: background-color 0.8s, color 0.8s; }

ul.menu li a[href^="tel:"]:hover:before, ul.menu li a[href^="mailto:"]:hover:before {
  color: #ffffff;
  background-color: #01416f;
  -webkit-transition: background-color 0.6s, color 0.6s;
  transition: background-color 0.6s, color 0.6s; }

ul.menu li a[href^="tel:"]:active:before, ul.menu li a[href^="mailto:"]:active:before {
  color: #ffffff;
  background-color: #67156a; }

ul.menu li a[href^="mailto:"]:before {
  content: "";
  font-size: 14px; }

ul.menu li a[href^="tel:"]:before {
  content: "";
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  line-height: 22px;
  font-size: 14px; }

.menu-scroll-container {
  overflow-y: auto;
  overflow-x: hidden; }

.submenu {
  height: auto;
  z-index: 400;
  border-radius: 0 0 0 0; }
  @media screen and (min-width: 81.25em) {
    .submenu.level2 {
      padding-bottom: 50px;
      -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
      border-bottom-color: #01416f;
      border-width: 0 0 6px 0;
      border-style: solid; } }
  .submenu.js-dropdown-active {
    display: block; }
  .submenu > li.is-active {
    background-color: #01416f; }
    .submenu > li.is-active > a {
      color: #ffffff; }

.is-dropdown-submenu .is-dropdown-submenu {
  margin-top: 0; }

.menu-egb-image-container {
  float: right; }
  @media screen and (min-width: 81.25em) {
    .menu-egb-image-container {
      width: 100%;
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin: 0 0 20px;
      grid-row: 1 / span last-line; } }
  .menu-egb-image-container .image {
    max-width: 100%;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content; }
    .menu-egb-image-container .image img {
      border: 1px solid #c8c8c8;
      border-radius: 0; }

.mega-menu-container {
  --mega-menu-dropdown-gutter: 15px; }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container > ul.menu {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="1"] > li > ul.submenu {
        grid-template-columns: repeat(1, calc((100% - 0px) / 1)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="1"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 1; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="2"] > li > ul.submenu {
        grid-template-columns: repeat(2, calc((100% - 15px) / 2)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="2"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 2; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="3"] > li > ul.submenu {
        grid-template-columns: repeat(3, calc((100% - 30px) / 3)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="3"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 3; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="4"] > li > ul.submenu {
        grid-template-columns: repeat(4, calc((100% - 45px) / 4)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="4"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 4; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="5"] > li > ul.submenu {
        grid-template-columns: repeat(5, calc((100% - 60px) / 5)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="5"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 5; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="6"] > li > ul.submenu {
        grid-template-columns: repeat(6, calc((100% - 75px) / 6)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="6"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 6; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="7"] > li > ul.submenu {
        grid-template-columns: repeat(7, calc((100% - 90px) / 7)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="7"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 7; }
      .mega-menu-container > ul.menu[data-mega-menu-column-count="8"] > li > ul.submenu {
        grid-template-columns: repeat(8, calc((100% - 105px) / 8)); }
        .mega-menu-container > ul.menu[data-mega-menu-column-count="8"] > li > ul.submenu .menu-egb-image-container {
          grid-column: 8; } }
  .mega-menu-container > ul.menu > li {
    position: static; }
    .mega-menu-container > ul.menu > li:hover > .submenu {
      display: grid;
      grid-template-rows: auto;
      gap: 20px 15px; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container > ul.menu > li > ul.overflow-scroll {
        max-height: 70vh;
        padding-right: 30px;
        overflow-y: scroll; } }
    .mega-menu-container > ul.menu > li > ul.submenu {
      position: absolute;
      top: 100%;
      right: auto;
      left: 0;
      display: none;
      background-color: #ffffff; }
      .mega-menu-container > ul.menu > li > ul.submenu > li.has-cloned-groups-parent > a {
        display: none; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container > ul.menu > li > ul.submenu.js-dropdown-active {
        display: grid;
        grid-auto-flow: dense;
        grid-template-rows: auto;
        gap: 20px 15px; } }
    .mega-menu-container > ul.menu > li > ul > li {
      border-radius: 0; }
      .mega-menu-container > ul.menu > li > ul > li > a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container > ul.menu > li > ul > li a:before, .mega-menu-container > ul.menu > li > ul .is-active a:before {
        content: "";
        height: 12px;
        margin: auto 0;
        padding: 0 10px 0 0;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        font-family: "Font Awesome Solid";
        font-size: 12px;
        line-height: 12px;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; } }
  @media screen and (min-width: 81.25em) and (min-width: 81.25em) {
    .mega-menu-container > ul.menu > li > ul > li a:before, .mega-menu-container > ul.menu > li > ul .is-active a:before {
      padding: 0 10px 0 5px; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container > ul.menu > li > ul > li a:before, .mega-menu-container > ul.menu > li > ul .is-active a:before {
        color: transparent; } }
    .mega-menu-container > ul.menu > li > ul li.menu-egb-image-container {
      border-radius: 0; }
  .mega-menu-container .menu .has-cloned-groups a {
    padding-top: 5px;
    padding-bottom: 5px; }
  .mega-menu-container .megamenu-column-cloned-span {
    display: grid;
    grid-template-rows: repeat(var(--mega-menu-column-cloned-wrap), 1fr);
    grid-auto-flow: column;
    gap: 0 15px; }
  .mega-menu-container .childfree-parent {
    display: none; }
  .mega-menu-container .column-spanned > a {
    visibility: hidden; }
  .mega-menu-container .cloned-to-seperate-row {
    display: none; }
  .mega-menu-container li.is-submenu-parent.account-menu-container {
    position: relative; }
    .mega-menu-container li.is-submenu-parent.account-menu-container ul.account-menu {
      position: absolute;
      top: 100%;
      right: 0;
      background-color: #ffffff; }
      @media screen and (min-width: 81.25em) {
        .mega-menu-container li.is-submenu-parent.account-menu-container ul.account-menu {
          width: 550px;
          display: none; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container li.is-submenu-parent.account-menu-container:hover ul.account-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 20px; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > a {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      padding-left: 0;
      text-align: center; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > a:before {
      display: none; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container .persistent-ebg-images li ul.submenu > li > ul.submenu {
      display: none; } }
  .mega-menu-container .persistent-ebg-images li ul.submenu > li:hover .image {
    opacity: .6;
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s; }
  .mega-menu-container .persistent-ebg-images li ul.submenu > li .image {
    -webkit-transition: opacity 0.8s;
    transition: opacity 0.8s; }
  .mega-menu-container .persistent-ebg-images .persistent-ebg-image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 0 auto 10px; }
    .mega-menu-container .persistent-ebg-images .persistent-ebg-image img {
      width: 150px; }

.mega-menu-container, .header-menu-right-container {
  width: 100%; }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container, .header-menu-right-container {
      width: auto;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .mega-menu-container .level2, .header-menu-right-container .level2 {
    left: 0; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container .level2 li a, .header-menu-right-container .level2 li a {
        position: relative;
        margin: 0; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container .level2 > li:hover, .header-menu-right-container .level2 > li:hover {
        background-color: transparent; }
        .mega-menu-container .level2 > li:hover > a, .header-menu-right-container .level2 > li:hover > a {
          background-color: transparent; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container .level2.js-dropdown-active, .header-menu-right-container .level2.js-dropdown-active {
        top: 100%; } }
  .mega-menu-container .is-dropdown-submenu, .header-menu-right-container .is-dropdown-submenu {
    min-width: auto; }
  .mega-menu-container .submenu li.is-active, .header-menu-right-container .submenu li.is-active {
    background-color: transparent; }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container ul.menu > li, .header-menu-right-container ul.menu > li {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1; } }
  .mega-menu-container ul.menu > li:last-child, .header-menu-right-container ul.menu > li:last-child {
    margin-right: 0; }
  .mega-menu-container ul.menu > li:hover, .header-menu-right-container ul.menu > li:hover {
    background-color: #ffffff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s; }
    .mega-menu-container ul.menu > li:hover > a, .header-menu-right-container ul.menu > li:hover > a {
      color: #484848;
      -webkit-transition: color 0.6s ;
      transition: color 0.6s ; }
  .mega-menu-container ul.menu > li:active, .header-menu-right-container ul.menu > li:active {
    background-color: #01416f; }
    .mega-menu-container ul.menu > li:active > a, .header-menu-right-container ul.menu > li:active > a {
      color: #ffffff; }
  .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
    position: relative;
    text-transform: none;
    -webkit-transition: color 0.8s;
    transition: color 0.8s; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > a, .header-menu-right-container ul.menu > li > a {
        padding: 15px 15px;
        font-size: 0.9375rem;
        font-weight: 600;
        color: #ffffff;
        text-align: center; } }
  .mega-menu-container ul.menu > li a, .header-menu-right-container ul.menu > li a {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .mega-menu-container ul.menu > li a:hover, .header-menu-right-container ul.menu > li a:hover {
      opacity: 1; }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container ul.menu > li > ul, .header-menu-right-container ul.menu > li > ul {
      width: 1300px;
      padding: 40px 47px;
      z-index: 5000;
      -webkit-box-shadow: 0px 20px 20px 4px rgba(12, 12, 13, 0.22);
              box-shadow: 0px 20px 20px 4px rgba(12, 12, 13, 0.22); } }
  .mega-menu-container ul.menu > li > ul > li, .header-menu-right-container ul.menu > li > ul > li {
    position: relative;
    margin: 0; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul > li, .header-menu-right-container ul.menu > li > ul > li {
        margin: 0; } }
    .mega-menu-container ul.menu > li > ul > li > a:hover, .header-menu-right-container ul.menu > li > ul > li > a:hover {
      color: #000000; }
    .mega-menu-container ul.menu > li > ul > li > a:active, .header-menu-right-container ul.menu > li > ul > li > a:active {
      color: #01416f; }
    .mega-menu-container ul.menu > li > ul > li > a, .header-menu-right-container ul.menu > li > ul > li > a {
      color: #01416f;
      font-size: 1.0625rem;
      font-weight: 600;
      line-height: 1.6;
      text-transform: none; }
      @media screen and (min-width: 81.25em) {
        .mega-menu-container ul.menu > li > ul > li > a, .header-menu-right-container ul.menu > li > ul > li > a {
          padding: 10px 0 5px 5px;
          font-size: 0.9375rem;
          font-weight: 600; } }
  @media screen and (min-width: 81.25em) {
    .mega-menu-container ul.menu > li > ul ul, .header-menu-right-container ul.menu > li > ul ul {
      position: relative;
      left: auto !important;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 0;
      margin: 0;
      border: 0; } }
  .mega-menu-container ul.menu > li > ul ul.childfree-parents-menu > li > a, .header-menu-right-container ul.menu > li > ul ul.childfree-parents-menu > li > a {
    color: #01416f;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1.6;
    text-transform: none; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul ul.childfree-parents-menu > li > a, .header-menu-right-container ul.menu > li > ul ul.childfree-parents-menu > li > a {
        padding: 10px 0 5px 5px;
        font-size: 0.9375rem;
        font-weight: 600; } }
  .mega-menu-container ul.menu > li > ul ul li, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item, .header-menu-right-container ul.menu > li > ul ul li, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item {
    padding: 0; }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul ul li, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item, .header-menu-right-container ul.menu > li > ul ul li, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item {
        width: 100%;
        position: relative; } }
    @media screen and (min-width: 81.25em) {
      .mega-menu-container ul.menu > li > ul ul li:last-child, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item:last-child, .header-menu-right-container ul.menu > li > ul ul li:last-child, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item:last-child {
        margin-bottom: 10px; } }
    .mega-menu-container ul.menu > li > ul ul li > a, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a, .header-menu-right-container ul.menu > li > ul ul li > a, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      @media screen and (min-width: 81.25em) {
        .mega-menu-container ul.menu > li > ul ul li > a, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a, .header-menu-right-container ul.menu > li > ul ul li > a, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a {
          color: #000000;
          padding: 0 0 0 5px;
          font-size: 0.875rem;
          font-weight: 400;
          line-height: 18px; } }
      .mega-menu-container ul.menu > li > ul ul li > a:hover, .mega-menu-container ul.menu > li > ul ul li > a:hover:before, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover:before, .header-menu-right-container ul.menu > li > ul ul li > a:hover, .header-menu-right-container ul.menu > li > ul ul li > a:hover:before, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:hover:before {
        color: #67156a; }
      .mega-menu-container ul.menu > li > ul ul li > a:active, .mega-menu-container ul.menu > li > ul ul li > a:active:before, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active:before, .header-menu-right-container ul.menu > li > ul ul li > a:active, .header-menu-right-container ul.menu > li > ul ul li > a:active:before, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item > a:active:before {
        color: #01416f; }
    .mega-menu-container ul.menu > li > ul ul li .mega-menu-view-more, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more, .header-menu-right-container ul.menu > li > ul ul li .mega-menu-view-more, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more {
      font-weight: 600;
      font-style: normal;
      color: #000000; }
      .mega-menu-container ul.menu > li > ul ul li .mega-menu-view-more:hover, .mega-menu-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more:hover, .header-menu-right-container ul.menu > li > ul ul li .mega-menu-view-more:hover, .header-menu-right-container ul.menu > li > ul ul li.is-dropdown-submenu-item .mega-menu-view-more:hover {
        color: #67156a; }

/*
----- Product List -----
Handles the following: 
- Various list views:
  - Table
  - Grid
- Anywhere a product list is show ( search results, product by group, account area pages ) this code will be used.
- This file is NOT dedicated to filters consult filter.scss for that.
- All sorting options ( items per pages, view selection, pagination, items found & sort by )
- No results found.
*/
#bespoke-search-results-container h2 {
  margin: 0 0 25px;
  font-size: 1.5625rem;
  font-weight: 600;
  text-transform: none;
  position: relative;
  color: #01416f;
  padding-bottom: 15px;
  position: relative; }
  #bespoke-search-results-container h2:before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    display: block;
    margin: auto;
    border-width: 0 0 1px 0;
    border-style: solid;
    border-color: #aeaeae; }
    @media print {
      #bespoke-search-results-container h2:before {
        border-bottom: 2px solid #aeaeae;
        background-color: transparent; } }

.search-results-suggestions {
  margin: 0 0 30px; }
  .search-results-suggestions ul {
    margin: auto;
    padding: 0;
    list-style: none; }
    .search-results-suggestions ul ul {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0; }
      .search-results-suggestions ul ul li {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        padding: 10px 0; }
        @media print, screen and (max-width: 39.99875em) {
          .search-results-suggestions ul ul li:nth-child(2n) {
            background-color: #f3f3f3; } }
        @media print, screen and (min-width: 40em) {
          .search-results-suggestions ul ul li {
            -webkit-box-flex: 0;
                -ms-flex: 0 0 33.3%;
                    flex: 0 0 33.3%; }
            .search-results-suggestions ul ul li:nth-child(6n+3) {
              background-color: #f3f3f3; }
            .search-results-suggestions ul ul li:nth-child(6n+2) {
              background-color: #f3f3f3; }
            .search-results-suggestions ul ul li:nth-child(6n+1) {
              background-color: #f3f3f3; } }
  .search-results-suggestions a.suggestion {
    padding: 0 20px;
    color: #000000;
    font-size: 1rem; }
    .search-results-suggestions a.suggestion:hover {
      color: #01416f;
      text-decoration: underline; }
  .search-results-suggestions .third-party-results-container {
    gap: 0;
    margin: 0; }
    .search-results-suggestions .third-party-results-container .description-container p {
      margin: 0 0 5px; }
    .search-results-suggestions .third-party-results-container .description-container p, .search-results-suggestions .third-party-results-container .snippet-container p {
      padding: 0; }
  .search-results-suggestions .result-container {
    padding: 20px; }
    .search-results-suggestions .result-container:nth-child(odd) {
      background-color: #f3f3f3; }

.section-description {
  margin-bottom: 30px; }

.section-heading {
  width: 100%;
  display: block;
  margin: 0 0 20px;
  padding: 10px 15px;
  background-color: #01416f;
  color: #ffffff;
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  border-radius: 0; }
  @media screen and (min-width: 81.25em) {
    .section-heading {
      padding: 15px 20px; } }
  .section-heading p {
    margin: 0;
    padding: 0; }

#product-list #groupData {
  margin-bottom: 50px; }

#productListItem .grid-x .cell {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  width: calc(100% - 0.625rem);
  margin-left: 0.3125rem;
  margin-right: 0.3125rem; }

.listing-container {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 10px 0; }
  @media screen and (min-width: 81.25em) {
    .listing-container {
      padding: 10px 0; } }

.contentContainer {
  position: relative; }
  .contentContainer[data-content-updating=true] {
    display: none; }
  @media screen and (min-width: 81.25em) {
    .contentContainer {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  @media screen and (min-width: 81.25em) {
    .contentContainer #attribute-filters-form {
      max-width: 280px;
      padding: 0 1% 0 0; } }
  @media screen and (min-width: 81.25em) {
    .contentContainer .attributeList {
      width: 180px; } }
  @media screen and (min-width: 100em) {
    .contentContainer .attributeList {
      width: 240px; } }
  .contentContainer #productListItems {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    position: relative;
    margin-bottom: 40px; }
    .contentContainer #productListItems .sub-heading-container h2 {
      margin: 0; }
  .contentContainer #productListItems.list {
    margin-top: 15px; }
    .contentContainer #productListItems.list.seperator .rowContainer {
      padding-bottom: 20px; }
      .contentContainer #productListItems.list.seperator .rowContainer:after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        display: block;
        background-color: #dadada; }
    .contentContainer #productListItems.list.oddEven > div[class*="large-"]:nth-child(even) .rowContainer {
      background-color: #f3f3f3; }
      .contentContainer #productListItems.list.oddEven > div[class*="large-"]:nth-child(even) .rowContainer:hover {
        background-color: #ffffff; }
    .contentContainer #productListItems.list.oddEven .list-category-container > div[class*="large-"]:nth-child(even) .rowContainer {
      background-color: #f3f3f3; }
      .contentContainer #productListItems.list.oddEven .list-category-container > div[class*="large-"]:nth-child(even) .rowContainer:hover {
        background-color: #ffffff; }
    .contentContainer #productListItems.list:not(.seperator) .rowContainer:hover, .contentContainer #productListItems.list:not(.oddEven) .rowContainer:hover {
      -webkit-transition: -webkit-box-shadow 0.8s;
      transition: -webkit-box-shadow 0.8s;
      transition: box-shadow 0.8s;
      transition: box-shadow 0.8s, -webkit-box-shadow 0.8s; }
      .contentContainer #productListItems.list:not(.seperator) .rowContainer:hover .description a h3, .contentContainer #productListItems.list:not(.oddEven) .rowContainer:hover .description a h3 {
        color: #01416f;
        text-decoration: underline;
        -webkit-transition: color 0.8s;
        transition: color 0.8s; }
    .contentContainer #productListItems.list .sub-heading-container {
      margin: 0 0 10px; }
    .contentContainer #productListItems.list > div:not(:nth-child(1)) ~ div .sub-heading-container {
      margin: 30px 0 10px; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list > div:not(:nth-child(1)) ~ div .sub-heading-container {
          margin: 30px 0 0; } }
    .contentContainer #productListItems.list .headContainer {
      width: 100%;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      padding-bottom: 10px;
      margin-bottom: 10px;
      font-size: 0.9375rem;
      font-weight: 600;
      font-family: "Khula", "Khula Fallback", "Arial"; }
      .contentContainer #productListItems.list .headContainer:after {
        content: '';
        width: 100%;
        height: 1px;
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: #aeaeae; }
      .contentContainer #productListItems.list .headContainer p {
        margin: 0;
        padding: 0 5px 10px;
        font-size: 0.9375rem;
        font-weight: 700;
        font-family: "Khula", "Khula Fallback", "Arial";
        color: var(--primary-colour-lightness-0);
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .description-col {
        width: 55%; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .headContainer .description-col {
            width: auto;
            -webkit-box-flex: 1;
                -ms-flex-positive: 1;
                    flex-grow: 1; } }
        .contentContainer #productListItems.list .headContainer .description-col p {
          text-align: left; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .headContainer .code-col {
          width: 11%; } }
      .contentContainer #productListItems.list .headContainer .code-col p {
        text-align: left;
        padding: 0 10px; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .headContainer .price-col {
          width: 20%; } }
      .contentContainer #productListItems.list .headContainer .price-col p {
        padding: 0 15px;
        text-align: right; }
      .contentContainer #productListItems.list .headContainer .quantity-container-col {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .headContainer .quantity-container-col {
            width: 25%;
            margin-left: auto; } }
      .contentContainer #productListItems.list .headContainer .quantity-col {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        text-align: center; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .headContainer .quantity-col {
            width: 150px; } }
      .contentContainer #productListItems.list .headContainer .basket-col {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .favourite-col {
        width: 25%;
        min-width: 90px;
        text-align: right; }
      .contentContainer #productListItems.list .headContainer .login-col, .contentContainer #productListItems.list .headContainer .enquiry-col {
        max-width: 25%;
        width: 100%;
        margin: 0 0 0 auto;
        text-align: center; }
      .contentContainer #productListItems.list .headContainer .quantity {
        width: 12%; }
      .contentContainer #productListItems.list .headContainer .basket, .contentContainer #productListItems.list .headContainer .favourite {
        width: 9%; }
    .contentContainer #productListItems.list .rowContainer {
      width: 100%;
      position: relative;
      padding: 10px;
      display: grid;
      grid-template-columns: 30% 1fr;
      grid-template-areas: "multimedia-content description" "multimedia-content code" "multimedia-content price" "multimedia-content interactive";
      grid-template-rows: -webkit-min-content -webkit-min-content 1fr -webkit-min-content;
      grid-template-rows: min-content min-content 1fr min-content;
      gap: 10px 20px;
      border-radius: 0;
      -webkit-transition: background-color 0.8s, -webkit-box-shadow 0.8s;
      transition: background-color 0.8s, -webkit-box-shadow 0.8s;
      transition: background-color 0.8s, box-shadow 0.8s;
      transition: background-color 0.8s, box-shadow 0.8s, -webkit-box-shadow 0.8s; }
      @media print, screen and (min-width: 40em) {
        .contentContainer #productListItems.list .rowContainer {
          grid-template-columns: 20% 1fr; } }
      .contentContainer #productListItems.list .rowContainer .multimedia-content, .contentContainer #productListItems.list .rowContainer > a:first-child {
        grid-area: multimedia-content; }
      .contentContainer #productListItems.list .rowContainer .description-col {
        grid-area: description; }
      .contentContainer #productListItems.list .rowContainer .code-col {
        grid-area: code; }
      .contentContainer #productListItems.list .rowContainer .price-col {
        grid-area: price; }
      .contentContainer #productListItems.list .rowContainer .interactive-content, .contentContainer #productListItems.list .rowContainer .quantity-container, .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
        grid-area: interactive;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .rowContainer {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
          gap: 0;
          margin: 10px 0;
          padding: 0; } }
      .contentContainer #productListItems.list .rowContainer:hover {
        background-color: #ffffff;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
        -webkit-transition: -webkit-box-shadow 0.6s;
        transition: -webkit-box-shadow 0.6s;
        transition: box-shadow 0.6s;
        transition: box-shadow 0.6s, -webkit-box-shadow 0.6s; }
      .contentContainer #productListItems.list .rowContainer > a:first-child {
        -ms-flex-item-align: start;
            align-self: flex-start;
        display: inline-block; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer > a:first-child {
            width: 132px;
            margin: 20px; } }
      .contentContainer #productListItems.list .rowContainer .image {
        --media-aspect-ratio: 1/1;
        border: 1px solid #dadada;
        border-radius: 0;
        background-color: #ffffff;
        -webkit-transition: all 0.8s;
        transition: all 0.8s; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .image {
            -webkit-box-ordinal-group: 2;
                -ms-flex-order: 1;
                    order: 1; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .image {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            overflow: hidden; } }
        .contentContainer #productListItems.list .rowContainer .image img {
          margin: auto;
          border-radius: 0; }
      .contentContainer #productListItems.list .rowContainer .description-col {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        gap: 10px;
        margin: 0; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .description-col {
            -webkit-box-ordinal-group: 3;
                -ms-flex-order: 2;
                    order: 2; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .description-col {
            -webkit-box-flex: 1;
                -ms-flex: 1;
                    flex: 1;
            margin: 20px 0; } }
        .contentContainer #productListItems.list .rowContainer .description-col h3 {
          max-width: 245px;
          font-size: 0.9375rem; }
        .contentContainer #productListItems.list .rowContainer .description-col .group-description {
          color: #484848;
          font-size: 0.9375rem;
          font-weight: 600;
          line-height: 1.2; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:hover {
            color: #01416f;
            text-decoration: underline; }
          .contentContainer #productListItems.list .rowContainer .description-col .group-description:active {
            color: #67156a; }
        .contentContainer #productListItems.list .rowContainer .description-col .specification {
          font-size: 0.875rem;
          font-weight: 400;
          color: #000000; }
          .contentContainer #productListItems.list .rowContainer .description-col .specification p {
            margin: 0; }
      .contentContainer #productListItems.list .rowContainer .code-col {
        font-size: 0.9375rem; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .code-col {
            -webkit-box-ordinal-group: 5;
                -ms-flex-order: 4;
                    order: 4; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .code-col {
            width: 11%;
            -webkit-box-flex: 0;
                -ms-flex-positive: 0;
                    flex-grow: 0;
            margin: 0;
            padding: 0 10px;
            text-align: left; } }
      .contentContainer #productListItems.list .rowContainer .price-col {
        max-width: 320px;
        font-size: 0.9375rem;
        font-weight: 600;
        color: #01416f; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .price-col {
            -webkit-box-ordinal-group: 4;
                -ms-flex-order: 3;
                    order: 3; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .price-col {
            max-width: none;
            width: 20%;
            padding: 0 15px; } }
      .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
        width: 100%; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
            -webkit-box-ordinal-group: 7;
                -ms-flex-order: 6;
                    order: 6; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col {
            max-width: 25%; } }
      @media screen and (min-width: 81.25em) {
        .contentContainer #productListItems.list .rowContainer .interactive-content, .contentContainer #productListItems.list .rowContainer .quantity-container, .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; } }
      .contentContainer #productListItems.list .rowContainer .login-col, .contentContainer #productListItems.list .rowContainer .enquiry-col, .contentContainer #productListItems.list .rowContainer .stockline-col {
        margin-left: auto; }
      .contentContainer #productListItems.list .rowContainer .stockline-col {
        width: 100%; }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .stockline-col {
            max-width: 25%; } }
      .contentContainer #productListItems.list .rowContainer .quantity-container {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        gap: 0 20px; }
        @media print, screen and (max-width: 81.24875em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container {
            -webkit-box-ordinal-group: 6;
                -ms-flex-order: 5;
                    order: 5; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container {
            width: 25%;
            -webkit-box-pack: start;
                -ms-flex-pack: start;
                    justify-content: flex-start;
            gap: 0;
            margin-left: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .label {
          display: none; }
        .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container {
          width: -webkit-fit-content;
          width: -moz-fit-content;
          width: fit-content;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container {
              width: 150px; } }
          .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container .control.select {
            width: 90px;
            margin: auto auto auto 0; }
            @media screen and (min-width: 81.25em) {
              .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-selector-container .control.select {
                margin: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .input-number-group {
          -webkit-box-pack: start;
              -ms-flex-pack: start;
                  justify-content: flex-start; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .input-number-group {
              -webkit-box-pack: center;
                  -ms-flex-pack: center;
                      justify-content: center; } }
        @media screen and (min-width: 81.25em) {
          .contentContainer #productListItems.list .rowContainer .quantity-container .quantity-free-text-container {
            width: 150px; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container {
          position: relative; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container {
              width: auto;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-flex: 1;
                  -ms-flex-positive: 1;
                      flex-grow: 1; } }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .add-button-container .addToBasket {
              margin: auto; } }
        .contentContainer #productListItems.list .rowContainer .quantity-container .favouritesContainer {
          display: -webkit-inline-box;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center; }
          @media screen and (min-width: 81.25em) {
            .contentContainer #productListItems.list .rowContainer .quantity-container .favouritesContainer {
              width: 25%;
              min-width: 90px;
              -webkit-box-pack: flex-center;
                  -ms-flex-pack: flex-center;
                      justify-content: flex-center; } }
      .contentContainer #productListItems.list .rowContainer .label-value-pair-container .label {
        color: #000000;
        font-weight: 600;
        font-size: 0.875rem; }
      .contentContainer #productListItems.list .rowContainer .label-value-pair-container .value {
        color: #000000;
        font-size: 0.875rem; }
      .contentContainer #productListItems.list .rowContainer .description {
        display: block;
        color: #484848;
        font-weight: 700;
        font-size: 0.9375rem;
        line-height: 1.2; }
        .contentContainer #productListItems.list .rowContainer .description:hover {
          color: #67156a;
          text-decoration: underline; }
      .contentContainer #productListItems.list .rowContainer .code {
        display: block;
        color: #000000;
        font-size: 0.9375rem; }
      @media print, screen and (max-width: 81.24875em) {
        .contentContainer #productListItems.list .rowContainer .col-label + .prices p:only-child .label {
          display: none; } }
      @media print, screen and (max-width: 81.24875em) {
        .contentContainer #productListItems.list .rowContainer .col-label + .prices p:only-child .label + .value {
          margin-left: 0; } }
      .contentContainer #productListItems.list .rowContainer .prices {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        font-size: 0.875rem; }
        .contentContainer #productListItems.list .rowContainer .prices p {
          margin: 0;
          font-weight: 700; }
        .contentContainer #productListItems.list .rowContainer .prices .price-container {
          width: 100%;
          display: -webkit-inline-box;
          display: -ms-inline-flexbox;
          display: inline-flex;
          -webkit-box-align: baseline;
              -ms-flex-align: baseline;
                  align-items: baseline;
          text-align: left;
          line-height: 1.2; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container:has(.vat) {
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .label {
            color: #000000;
            font-weight: 700; }
            .contentContainer #productListItems.list .rowContainer .prices .price-container .label:not(:empty) {
              margin-right: 5px; }
            .contentContainer #productListItems.list .rowContainer .prices .price-container .label ~ .vat {
              width: 100%;
              padding: 0 0 0 5px;
              text-align: right; }
              @media print, screen and (min-width: 40em) {
                .contentContainer #productListItems.list .rowContainer .prices .price-container .label ~ .vat {
                  width: -webkit-fit-content;
                  width: -moz-fit-content;
                  width: fit-content; } }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .value {
            color: #ff0101;
            font-weight: 700; }
            @media screen and (min-width: 81.25em) {
              .contentContainer #productListItems.list .rowContainer .prices .price-container .value {
                text-align: right; } }
          .contentContainer #productListItems.list .rowContainer .prices .price-container.saving .label, .contentContainer #productListItems.list .rowContainer .prices .price-container.saving .value {
            color: #000000;
            font-weight: 700;
            text-transform: uppercase; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container.rrp .label, .contentContainer #productListItems.list .rowContainer .prices .price-container.rrp .value {
            color: #000000;
            font-weight: 700;
            font-size: 0.875rem;
            text-transform: uppercase;
            text-decoration: line-through; }
          .contentContainer #productListItems.list .rowContainer .prices .price-container .label + .value {
            margin-right: 0;
            margin-left: auto;
            text-align: right; }
      .contentContainer #productListItems.list .rowContainer .price-container .value {
        font-size: 0.875rem; }
      .contentContainer #productListItems.list .rowContainer .price-container .label, .contentContainer #productListItems.list .rowContainer .price-container .value {
        font-family: "Khula", "Khula Fallback", "Arial"; }
      .contentContainer #productListItems.list .rowContainer .price {
        margin: 0; }
        .contentContainer #productListItems.list .rowContainer .price .currency {
          font-size: 1.625rem; }
      .contentContainer #productListItems.list .rowContainer .vat {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        display: inline-block;
        padding-left: 10px;
        color: #484848;
        font-size: 0.75rem;
        font-weight: 600;
        text-align: left;
        white-space: nowrap; }
    .contentContainer #productListItems.list .enquiry-col {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -webkit-box-ordinal-group: 5;
          -ms-flex-order: 4;
              order: 4; }

.list-category-container {
  width: 100%; }
  .list-category-container:not(:last-child) {
    margin-bottom: 30px; }
  .list-category-container h2 {
    margin-bottom: 10px; }

.third-party-results-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px 0; }
  .third-party-results-container .result-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px 0; }
    @media screen and (min-width: 81.25em) {
      .third-party-results-container .result-container {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row;
        gap: 20px; } }
  @media screen and (min-width: 81.25em) {
    .third-party-results-container .image-container {
      width: 150px; } }
  .third-party-results-container .description-container p {
    padding: 0;
    color: #01416f;
    font-size: 1.0625rem;
    font-weight: 600; }
  .third-party-results-container .snippet-container p {
    margin: 5px 0 10px;
    padding: 0;
    color: #484848;
    font-size: 0.875rem;
    line-height: normal; }

/*

---- AXIS Debugger ---- 

This is a side project of mine purly to make dev life a little easier / faster essentially this is just a drawer with a bunch of options to flush cache, set debug levels & clear the console.

*/
.development-drawer-container {
  width: 0;
  height: 100%;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  border-right: 1px solid #dadada;
  overflow-x: hidden;
  z-index: 8000000000;
  -webkit-transition: width 0.8s;
  transition: width 0.8s; }
  .development-drawer-container.active {
    width: 100%;
    -webkit-transition: width 0.6s;
    transition: width 0.6s; }
    @media screen and (min-width: 81.25em) {
      .development-drawer-container.active {
        width: 225px;
        -webkit-box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22);
                box-shadow: 2px -3px 20px 4px rgba(12, 12, 13, 0.22); } }

.development-drawer {
  height: 100%;
  display: block;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: #ededed; }
  .development-drawer ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .development-drawer ul li {
      width: 100%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
  .development-drawer .service-worker-container .heading {
    font-size: 1.125rem;
    color: #484848; }
  .development-drawer .heading-container h2 {
    color: #484848;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 600;
    text-transform: capitalize; }
  .development-drawer .drawer-header .close-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .development-drawer .drawer-header .close-button:before {
      content: "";
      font-family: "Font Awesome Solid";
      font-size: 24px;
      color: #000000;
      -webkit-transition: color 0.8s, -webkit-transform 0.6s;
      transition: color 0.8s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.8s;
      transition: transform 0.6s, color 0.8s, -webkit-transform 0.6s; }
    .development-drawer .drawer-header .close-button:hover:before {
      color: #01416f;
      -webkit-transform: rotate(90deg);
              transform: rotate(90deg);
      -webkit-transition: color 0.6s, -webkit-transform 0.6s;
      transition: color 0.6s, -webkit-transform 0.6s;
      transition: transform 0.6s, color 0.6s;
      transition: transform 0.6s, color 0.6s, -webkit-transform 0.6s; }
    .development-drawer .drawer-header .close-button:active:before {
      color: #67156a;
      -webkit-transition: font-size 1.2s, color 0.6s;
      transition: font-size 1.2s, color 0.6s; }
  .development-drawer .option {
    width: 80px;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 10px 0;
    border-radius: 5px;
    border: 2px solid #484848;
    -webkit-transition: all 0.8s;
    transition: all 0.8s;
    cursor: pointer; }
    .development-drawer .option:before {
      display: block;
      font-family: "Font Awesome Solid";
      font-size: 38px;
      color: #484848;
      -webkit-transition: color, font-size 0.8s;
      transition: color, font-size 0.8s; }
    .development-drawer .option[debug-level="1"] {
      border-color: #b20c28; }
      .development-drawer .option[debug-level="1"]:before {
        font-size: 41.8px;
        color: #b20c28;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="2"] {
      border-color: #b20c43; }
      .development-drawer .option[debug-level="2"]:before {
        font-size: 45.6px;
        color: #b20c43;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="3"] {
      border-color: #b20c5f; }
      .development-drawer .option[debug-level="3"]:before {
        font-size: 49.4px;
        color: #b20c5f;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option[debug-level="4"] {
      border-color: #b20c7b; }
      .development-drawer .option[debug-level="4"]:before {
        font-size: 53.2px;
        color: #b20c7b;
        -webkit-transition: color, font-size 0.6s;
        transition: color, font-size 0.6s; }
    .development-drawer .option.clear-cache:before {
      content: ""; }
    .development-drawer .option.clear-console:before {
      content: ""; }
    .development-drawer .option.set-debugging-level:before {
      content: ""; }
    .development-drawer .option.axis-test-mode:before {
      content: ""; }
    .development-drawer .option.site-style:before {
      content: ""; }
    .development-drawer .option:hover {
      background-color: #ffffff;
      -webkit-transition: all 0.6s;
      transition: all 0.6s; }
      .development-drawer .option:hover:before {
        color: #01416f;
        -webkit-transition: color 0.6s;
        transition: color 0.6s; }
    .development-drawer .option:active {
      background-color: #67156a;
      border-color: #aeaeae;
      -webkit-transition: border-color 0.6s;
      transition: border-color 0.6s; }
      .development-drawer .option:active:before {
        color: #aeaeae; }
  .development-drawer .slider {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    color: #ffffff; }
    .development-drawer .slider .label {
      font-size: 1rem;
      font-weight: 600; }
      .development-drawer .slider .label [data-slider-value] {
        font-weight: 700; }
    .development-drawer .slider input {
      -webkit-box-flex: 0;
          -ms-flex: 0;
              flex: 0; }
  .development-drawer .switch {
    height: auto; }

.option-controls-container, .child-controls-container {
  max-height: 0;
  height: auto;
  overflow: hidden;
  -webkit-transition: max-height 0.8s;
  transition: max-height 0.8s; }
  .option-controls-container.active, .child-controls-container.active {
    max-height: 500px;
    -webkit-transition: max-height 0.6s;
    transition: max-height 0.6s; }

:root {
  --primary-colour-lightness-0: #01416f;
  --primary-colour-lightness-1: #015896;
  --primary-colour-lightness-2: #026fbe;
  --primary-colour-lightness-3: #0286e5;
  --primary-colour-lightness-4: #129bfd;
  --primary-colour-lightness-5: #3aabfd;
  --primary-colour-lightness-6: #61bcfe;
  --primary-colour-lightness-7: #89cdfe;
  --primary-colour-lightness-8: #b0defe;
  --primary-colour-lightness-9: #d8eeff;
  --primary-colour-lightness-10: #ebf7ff;
  --secondary-colour-lightness-0: #67156a;
  --secondary-colour-lightness-1: #861b8a;
  --secondary-colour-lightness-2: #a522aa;
  --secondary-colour-lightness-3: #c428ca;
  --secondary-colour-lightness-4: #d43fd9;
  --secondary-colour-lightness-5: #db5fdf;
  --secondary-colour-lightness-6: #e27fe6;
  --secondary-colour-lightness-7: #e99fec;
  --secondary-colour-lightness-8: #f1bff2;
  --secondary-colour-lightness-9: #f8dff9;
  --secondary-colour-lightness-10: #fbeffc;
  --accent-colour-1-lightness-0: #c00000;
  --accent-colour-1-lightness-1: #e00000;
  --accent-colour-1-lightness-2: #ff0101;
  --accent-colour-1-lightness-3: #ff2020;
  --accent-colour-1-lightness-4: #ff4040;
  --accent-colour-1-lightness-5: #ff6060;
  --accent-colour-1-lightness-6: #ff8080;
  --accent-colour-1-lightness-7: #ffa0a0;
  --accent-colour-1-lightness-8: #ffbfbf;
  --accent-colour-1-lightness-9: #ffdfdf;
  --accent-colour-1-lightness-10: #ffefef;
  --accent-colour-2-lightness-0: #2b579a;
  --accent-colour-2-lightness-1: #3265b2;
  --accent-colour-2-lightness-2: #3b73c8;
  --accent-colour-2-lightness-3: #5485cf;
  --accent-colour-2-lightness-4: #6c96d6;
  --accent-colour-2-lightness-5: #85a8dd;
  --accent-colour-2-lightness-6: #9db9e4;
  --accent-colour-2-lightness-7: #b6cbeb;
  --accent-colour-2-lightness-8: #cedcf1;
  --accent-colour-2-lightness-9: #e7eef8;
  --accent-colour-2-lightness-10: #f3f6fc;
  --accent-colour-3-lightness-0: #e5b701;
  --accent-colour-3-lightness-1: #fecc04;
  --accent-colour-3-lightness-2: #fed120;
  --accent-colour-3-lightness-3: #fed73c;
  --accent-colour-3-lightness-4: #fedd58;
  --accent-colour-3-lightness-5: #fee274;
  --accent-colour-3-lightness-6: #ffe88f;
  --accent-colour-3-lightness-7: #ffeeab;
  --accent-colour-3-lightness-8: #fff4c7;
  --accent-colour-3-lightness-9: #fff9e3;
  --accent-colour-3-lightness-10: #fffcf1;
  --accent-colour-4-lightness-0: #a234e3;
  --accent-colour-4-lightness-1: #ab48e6;
  --accent-colour-4-lightness-2: #b55de9;
  --accent-colour-4-lightness-3: #be71eb;
  --accent-colour-4-lightness-4: #c785ee;
  --accent-colour-4-lightness-5: #d19af1;
  --accent-colour-4-lightness-6: #daaef4;
  --accent-colour-4-lightness-7: #e3c2f7;
  --accent-colour-4-lightness-8: #ecd6f9;
  --accent-colour-4-lightness-9: #f6ebfc;
  --accent-colour-4-lightness-10: #faf5fe;
  --neutral-colour-lightness-0: #484848;
  --neutral-colour-lightness-1: #5b5b5b;
  --neutral-colour-lightness-2: #6d6d6d;
  --neutral-colour-lightness-3: #7f7f7f;
  --neutral-colour-lightness-4: #919191;
  --neutral-colour-lightness-5: #a4a4a4;
  --neutral-colour-lightness-6: #b6b6b6;
  --neutral-colour-lightness-7: #c8c8c8;
  --neutral-colour-lightness-8: #dadada;
  --neutral-colour-lightness-9: #ededed;
  --neutral-colour-lightness-10: #f6f6f6;
  --black-colour: #000000;
  --white-colour: #ffffff;
  --success-colour-lightness-0: #12811f;
  --success-colour-lightness-1: #16a127;
  --success-colour-lightness-2: #1bc12e;
  --success-colour-lightness-3: #20e036;
  --success-colour-lightness-4: #40e453;
  --success-colour-lightness-5: #60e970;
  --success-colour-lightness-6: #80ed8c;
  --success-colour-lightness-7: #9ff2a9;
  --success-colour-lightness-8: #bff6c6;
  --success-colour-lightness-9: #dffbe2;
  --success-colour-lightness-10: #effdf1;
  --warning-colour-lightness-0: #ff5e05;
  --warning-colour-lightness-1: #ff6e1e;
  --warning-colour-lightness-2: #ff7e37;
  --warning-colour-lightness-3: #ff8e50;
  --warning-colour-lightness-4: #ff9e69;
  --warning-colour-lightness-5: #ffaf82;
  --warning-colour-lightness-6: #ffbf9b;
  --warning-colour-lightness-7: #ffcfb4;
  --warning-colour-lightness-8: #ffdfcd;
  --warning-colour-lightness-9: #ffefe6;
  --warning-colour-lightness-10: #fff7f3;
  --alert-colour-lightness-0: #b20c0c;
  --alert-colour-lightness-1: #d00e0e;
  --alert-colour-lightness-2: #ee1010;
  --alert-colour-lightness-3: #f12d2d;
  --alert-colour-lightness-4: #f34b4b;
  --alert-colour-lightness-5: #f56969;
  --alert-colour-lightness-6: #f78787;
  --alert-colour-lightness-7: #f9a5a5;
  --alert-colour-lightness-8: #fbc3c3;
  --alert-colour-lightness-9: #fde1e1;
  --alert-colour-lightness-10: #fef0f0;
  --contained-content-max-width: 1300px;
  --uncontained-content-max-width: 1920px;
  --primary-font: Khula, Khula Fallback, Arial;
  --smooth-edges-enabled: false;
  --smooth-edges-level: 15px;
  --border-radius-1: 5px;
  --border-radius-2: 25px;
  --global-line-height: 1.6;
  --typography-body-font-colour: #000000;
  --buttons-border-radius: 0; }

@font-face {
  font-family: "Khula Fallback";
  src: local("Arial");
  size-adjust: 100%;
  ascent-override: 100%;
  descent-override: 60.57%;
  line-gap-override: 0%; }

body {
  min-height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  overflow-x: hidden; }

body.scrollLock {
  overflow-y: hidden; }

main {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1; }
  main > div {
    width: 100%; }

.image img {
  max-height: 100%; }

@media screen and (min-width: 81.25em) {
  .grid-x {
    max-width: 1920px; } }

.grid-x:not(.grid-margin-x) {
  max-width: 100%;
  width: 100%;
  margin: 0 auto; }

.grid-container {
  width: 100%; }
  @media screen and (min-width: 81.25em) {
    .grid-container {
      padding: 0; } }
  .grid-container.container-grow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .grid-container.container-grow .align-center {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }

@media print, screen and (max-width: 81.24875em) {
  hr.mobile-seperator {
    margin: 30px 0; } }

#footer-gtm-widget {
  margin-top: 10px;
  margin-bottom: 10px; }
  @media screen and (min-width: 81.25em) {
    #footer-gtm-widget {
      margin-top: 15px;
      margin-bottom: 15px; } }

#group-banner-carousel-container, .group-banner {
  margin-bottom: 20px; }

@media screen and (min-width: 81.25em) {
  #categoryGridOverride .large-2 {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    width: 18.33333%;
    float: left; } }
  @media screen and (min-width: 81.25em) and (min-width: 40em) {
    #categoryGridOverride .large-2 {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }

@media screen and (min-width: 81.25em) {
    #categoryGridOverride .large-2, #categoryGridOverride .large-2:last-child:not(:first-child) {
      float: left;
      clear: none; }
    #categoryGridOverride .large-2:last-child:not(:first-child) {
      float: right; } }

#categoryHeading, #productListHeading {
  margin-bottom: 20px; }

.popup-container {
  position: relative; }

#basketSummaryContainer:hover #noJsBasketNotification {
  opacity: 1;
  visibility: visible;
  -webkit-box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
          box-shadow: 0px 2px 4px 1px rgba(12, 12, 13, 0.1);
  border-bottom: 5px solid #01416f; }

#register-submit {
  margin-top: 10px; }

.forgotten-password-link {
  width: 100%;
  display: block;
  text-align: right;
  color: #01416f;
  font-weight: 600;
  font-style: italic;
  font-size: 0.9375rem;
  font-family: "Khula", "Khula Fallback", "Arial"; }
  .forgotten-password-link:hover {
    color: #67156a; }
  .forgotten-password-link:active {
    color: #00adef; }

xmp {
  padding: 10px;
  border: 1px solid #dadada;
  white-space: inherit; }

.animate__animated:not(.animated-content-active) {
  visibility: hidden; }

.json-code-block code {
  max-height: 500px;
  position: relative;
  padding: 10px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 0 40px;
  background-color: #f3f3f3;
  border: 1px solid #959595;
  font-size: 0.9375rem;
  line-height: 40px;
  text-align: left;
  white-space: pre-wrap;
  overflow-y: auto;
  -webkit-transition: border-color 0.8s;
  transition: border-color 0.8s; }
  @media screen and (min-width: 81.25em) {
    .json-code-block code {
      padding: 10px 35px; } }
  .json-code-block code:hover {
    border-color: #484848;
    -webkit-transition: border-color 0.6s;
    transition: border-color 0.6s; }
  .json-code-block code .code-copy-button-container {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: calc(100% - 15px);
    white-space: normal; }
  .json-code-block code .code-copy-button {
    position: absolute;
    top: 0;
    padding: 8px;
    display: block;
    background-color: #959595;
    -webkit-transition: background-color 0.8s, padding 0.8s, opacity 0.8s;
    transition: background-color 0.8s, padding 0.8s, opacity 0.8s; }
    .json-code-block code .code-copy-button:before {
      content: "";
      font-family: "Font Awesome Regular";
      font-size: 14px;
      color: #ffffff;
      -webkit-transition: color 0.8s, font-size 0.8s;
      transition: color 0.8s, font-size 0.8s; }
    .json-code-block code .code-copy-button:hover {
      background-color: #01416f;
      -webkit-transition: background-color 0.6s;
      transition: background-color 0.6s; }
    .json-code-block code .code-copy-button.active, .json-code-block code .code-copy-button:active {
      background-color: #01416f; }
      .json-code-block code .code-copy-button.active:before, .json-code-block code .code-copy-button:active:before {
        font-family: "Font Awesome Solid"; }
    .json-code-block code .code-copy-button.active {
      padding: 12px;
      opacity: .4;
      -webkit-transition: padding 0.6s, opacity 0.6s;
      transition: padding 0.6s, opacity 0.6s; }
      .json-code-block code .code-copy-button.active:before {
        font-size: 16px;
        -webkit-transition: font-size 0.6s;
        transition: font-size 0.6s; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZ1bnRpbWVnaWZ0cy9hcHAuY3NzIiwiZnVudGltZWdpZnRzL2FwcC5zY3NzIiwiLi4vZ2xvYmFsL19mdW5jdGlvbnMuc2NzcyIsImZ1bnRpbWVnaWZ0cy9icmFuZGluZy5zY3NzIiwiLi4vZ2xvYmFsL19icmFuZGluZy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9yZWd1bGFyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLWZyZWUvc2Nzcy9zb2xpZC5zY3NzIiwiLi4vZ2xvYmFsL192YXJpYWJsZXMuc2NzcyIsIi4uL2dsb2JhbC9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9nbG9iYWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2ZvdW5kYXRpb24uc2NzcyIsIi4uL2dsb2JhbC9fdGFibGVzLnNjc3MiLCIuLi9nbG9iYWwvX2lucHV0cy5zY3NzIiwiLi4vZ2xvYmFsL19zZXR0aW5ncy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zaXRlLXN0eWxlcy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Zvcm1zLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9faGVhZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fZm9vdGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFqYXguc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19maWx0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kYWxzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fbW9kdWxlcy12Mi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19ndXR0ZXJzLnNjc3MiLCIuLi9jb21wb25lbnRzL2Jyb256ZS9fc3RvY2staW5kaWNhdG9ycy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3Quc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fY2VsbC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2Jhc2tldC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX2FjY291bnQuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jbXMtcGFnZXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvYnJvbnplL19jaGVja291dC5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvXzQwNC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saWdodGJveC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYWduaWZpZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2J4U2xpZGVyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXNsaWRlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b29sdGlwLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJlYWQtbW9yZS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1hdXRvY29tcGxldGUuc2NzcyIsIi4uL2NvbXBvbmVudHMvX3N3ZWV0LWFsZXJ0LWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLW5vdGlmaWNhdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtaW1hZ2Utb3ZlcmxheXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY291bnRkb3duLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXB3YS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYXltZW50LW1ldGhvZHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc29jaWFsLW1lZGlhLWljb25zLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWVxdWlwbWVudC1zZWxlY3Rvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1waWNrLW4tbWl4LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFuaW1hdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtY2xpZW50LXNlYXJjaC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy10b3AtYmFyLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0eWxlLWd1aWRlLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFkbWluLnNjc3MiLCIuLi9jb21wb25lbnRzL19vZmZfY2FudmFzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWFjY29yZGlvbi10YWJzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXN0aWNreS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1saXN0LXNvcnRpbmctb3B0aW9ucy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tYW5hZ2UtY2FsbHMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmFjay10by10b3Auc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc2VjdGlvbnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxsaXBzaXMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtYmx1ci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1zdGF0aWMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3RvY2tpc3Quc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdHJlZS1tZW51LnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXJldmlld3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcGFnZS1zZWN0aW9uLWNvbG91cnMuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtc3Rhci1yYXRpbmdzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWJhcmNvZGUtc2Nhbm5lci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtaW1hZ2VzLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLXRhZ3Muc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtdG9nZ2xlci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1wYWdlLWJhY2tncm91bmQtY29sb3Vycy5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tdWx0aS1maWVsZC1sb29rdXAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9hbmltYXRlLmNzcy9hbmltYXRlLmNzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtZWxlbWVudC1wcmludC5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1kb2N1bWVudGF0aW9uLnNjc3MiLCIuLi9jb21wb25lbnRzL19heGlzLWNvbnRleHQtbWVudS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtcmljaC10ZXh0LWVkaXRvci5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy12aWRlby1wbGF5ZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvX2F4aXMtbXVsdGltZWRpYS1lbGVtZW50LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3ZlbmRvci9ub3JtYWxpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvX2dsb2JhbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3RleHQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faGVscC10ZXh0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3NlbGVjdC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy94eS1ncmlkL19jbGFzc2VzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21hdGguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MveHktZ3JpZC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2NvbGxhcHNlLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3h5LWdyaWQvX2ZyYW1lLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFibGUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FsbG91dC5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vY29tcG9uZW50cy9fYXhpcy1tZW51cy5zY3NzIiwiLi4vY29tcG9uZW50cy9icm9uemUvX3Byb2R1Y3QtbGlzdC5zY3NzIiwiLi4vZ2xvYmFsL19kZWJ1Z2dlci5zY3NzIiwiLi4vZ2xvYmFsL19hcHAuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBQWdCO0FDRWhCOzs7Ozs7RURLRTtBRW1IRjs7Ozs7Ozs7Ozs7Q0Z2R0M7QUduQkQ7Ozs7OztFSDBCRTtBSTBJRSxtR0FBWTtBQ3BLaEI7Ozs7RUxnQ0U7QUt4QkY7RUFDRSxpREFBOEQ7RUFDOUQsMERBQThDLEVBQUE7O0FBR2hEO0VBQ0Usb0NBQW9DO0VBQ3BDLGtCQUFrQjtFQUNsQixnQkFBZ0I7RUFDaEIsbUJDOEI2QjtFRDdCN0Isb0hBQzhELEVBQUE7O0FBR2hFOztFQUVFLGdCQUFnQixFQUFBOztBQUloQjtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0MsRUFBQTs7QUFBdkU7RUFBcUMsZ0JBQWtDLEVBQUE7O0FBQXZFO0VBQXFDLGdCQUFrQyxFQUFBOztBQUF2RTtFQUFxQyxnQkFBa0Ms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OEJZO0lDN0JaLG9CRHVCVTtJQ3RCVixrQkd0QndEO0lIdUJ4RCxnQkRUUztJQ1dULG9CRG1DWTtJQ2pDUixnQlI5RlM7SVFpR1QsZ0JESmUsRUFBQTtFQ25CM0I7SUEyQlEsU0RBUTtJQ0NSLGNQakdTO0lPa0dULG9CRFNVO0lDUlYsa0JHckN3RDtJSHNDeEQsZ0JEdkJTO0lDeUJULG9CRHFCWSxFQUFBO0VDdERwQjtJQXlDUSxTRGJPO0lDZVAsb0JHbER3RDtJSG1EeEQsZ0JEaEVTO0lDaUVULG9CRHpEVTtJQzhEVixvQkRLWTtJQ0FSLGdCRC9ERztJR3VDWCxrQkFBa0I7SUFDbEIsY1RyR2E7SVNzR2Isb0JBWDhGO0lBZ0I5RixrQkFBa0IsRUFBQTtJQUNsQjtNQUNJLFdBQVc7TUFDWCxXQUpzSDtNQUt0SCxXSDlGZ0I7TUcrRmhCLGtCQUFrQjtNQVFkLFNBZHlMO01BbUI3TCxjQUFjO01BQ2QsWUFBWTtNQUdaLHVCQUFrRDtNQUNsRCxtQkFBbUI7TUFDbkIscUJSakl5QixFQUFBO01Rd0l6QjtRQTlCSjtVQWdDUSxnQ1IxSXFCO1VRMklyQiw2QlIxSlMsRUFBQSxFUTRKaEI7RUYxRUw7SUErRFEsZUQ3Qlk7SUM4QlosZ0JEbkNlO0lDb0NmLGNOaEpTO0lNaUpULHlCUHRJVztJT3VJWCxtQkcxRXdEO0lIMkV4RCxnQkQxRFM7SUMyRFQsa0JBQWtCO0lBQ2xCLG9CRGxGVTtJQ3dGTixnQlJ0SlMsRUFBQTtJU3dKYjtNRDlFUjtRQStFWSxnQkRsRHFCLEVBQUEsRUNvRDVCOztBQUVMO0VBQ0ksU0FBUztFQUNULCtDUHhLaUQ7RU95S2pELG9CRzdGNEQ7RUg4RjVELGdCRGJZO0VDY1osY1A3SmEsRUFBQTtFT3dKakI7SUFhUSxXQUFXO0lBQ1gsU0RmTztJQ2dCUCxlRGxFWTtJQ21FWix5QlB2S1c7SU93S1gsa0JBQWtCO0lBQ2xCLG1CRzVHd0Q7SUg2R3hELGdCRDVGUztJQ2lHTCxnQlJyTFM7SVF1TGIsb0JEekhVO0lDMEhWLGNON0xTLEVBQUE7RU1rS2pCO0lBOEJRLGtCQUFrQjtJQUNsQixnQkQvQmM7SUNnQ2QsaUJENUJjO0lDNkJkLG9CRzNId0Q7SUgrSHhELG9CRHBJVTtJQ3FJVixjUDlMUyxFQUFBO0lPd0pqQjtNQXdDWSxXQUFXO01BQ1gsV0FBVztNQUNYLFdEakxZO01Da0xaLGtCQUFrQjtNQUNsQixPQUFPO01BQ1AsU0FBUztNQUNULHVCQUFrRDtNQUNsRCxtQkFBbUI7TUFDbkIscUJOdE1xQixFQUFBOztBTTBNakM7RUFDSSxjTnBOYTtFTXFOYixtQkdoSjREO0VIaUo1RCxnQkRxd0NPO0VDcHdDUCwrQ1A5TmlELEVBQUE7O0FPc09yRDtFQUNJLGNOaE9hO0VNaU9iLG1CRzVKNEQ7RUg2SjVELGdCRDB2Q087RUN6dkNQLCtDUDFPaUQsRUFBQTs7QU9rUHJEO0VBQ0ksY041T2E7RU02T2Isb0JHeEs0RDtFSHlLNUQsZ0JEK3VDTztFQzl1Q1AsK0NQdFBpRCxFQUFBOztBT2dRckQ7RUFHWSxjTi9QSztFTWdRTCxtQkd4TG9EO0VIeUxwRCxnQkFBZ0IsRUFBQTs7QUFNNUI7RUFDSSwwQkFBa0I7RUFBbEIsdUJBQWtCO0VBQWxCLGtCQUFrQjtFQUVsQixxQkFBcUI7RUFFckIsMkJBQXFCO01BQXJCLHdCQUFxQjtVQUFyQixxQkFBcUI7RUFDckIsU0FBUyxFQUFBO0VDM0dMO0lEcUdSO01BUVEsY0FBYztNQUNkLGlCQUFpQixFQUFBLEVBV3hCO0VDekhPO0lEcUdSO01BWVksU0FBUyxFQUFBLEVBUXBCO0VDekhPO0lEcUdSO01BaUJZLGdCQUFnQixFQUFBLEVBRXZCOztBQUtMO0VBQ0kscUJEMmYwQjtFQ3hmMUIsaURBQXdEO0VBQ3hELG9CRHlmeUI7RUN4ZnpCLG9CRzdONEQ7RUg4TjVELDRDTnJDa0I7RU1xQ2xCLG9DTnJDa0IsRUFBQTtFTThCdEI7SUFTUSxjTjdMTSxFQUFBO0lNb0xkO01BV1ksY04vTEUsRUFBQTtFTW9MZDtJQWVRLGNON0xNLEVBQUE7SU04S2Q7TUFpQlksY04vTEUsRUFBQTtFTThLZDtJQXFCUSxjTjdMTSxFQUFBO0lNd0tkO01BdUJZLGNOL0xFLEVBQUE7RU13S2Q7SUEyQlEsbUJHbFB3RDtJSG1QeEQsY1BqVFM7SU9rVFQsZUFBZSxFQUFBO0lBN0J2QjtNQStCWSxZREZGO01DR0UsaUJBQWlCO01BQ2pCLG1DTjNKK0I7TU00Si9CLGVBQWUsRUFBQTtFQWxDM0I7SUFzQ1EsbUJBQW1CO0lBQ25CLFlEaTBDb0IsRUFBQTtFQ3gyQzVCO0lBNkNZLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osd0NEeTJCa0M7SUNyMkJsQyxnQkQyZ0JPO0lDMWdCUCxrQkRvM0J1QixFQUFBO0lDeDZCbkM7TUFzRGdCLFlEL0JOO01DZ0NNLGtCQUFrQjtNQUNsQix3Q0RnMkI4QjtNQy8xQjlCLG1DTm5MMkI7TU1vTDNCLG9CR2pSZ0Q7TUhrUmhELDhCTnpGTTtNTXlGTixzQk56Rk0sRUFBQTtJTThCdEI7TUE4RGdCLDBDRDIxQjhCLEVBQUE7TUN6NUI5QztRQWdFb0IsMENEeTFCMEI7UUN4MUIxQiw4Qk5oR0U7UU1nR0Ysc0JOaEdFLEVBQUE7SU0rQnRCO01BcUVnQix3Q0RxMUI2QixFQUFBO01DMTVCN0M7UUF1RW9CLHdDRG0xQnlCLEVBQUE7RUMxNUI3QztJQWdGWSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLHdDRHMwQmtDO0lDbDBCbEMsZ0JEd2VPO0lDdmVQLGtCRGkxQnVCLEVBQUE7SUN4NkJuQztNQXlGZ0IsWURuRU47TUNvRU0sa0JBQWtCO01BQ2xCLHdDRDZ6QjhCO01DNXpCOUIsbUNOdE4yQjtNTXVOM0Isb0JHcFRnRDtNSHFUaEQsOEJONUhNO01NNEhOLHNCTjVITSxFQUFBO0lNOEJ0QjtNQWtHZ0IsMENEdXpCOEIsRUFBQTtNQ3o1QjlDO1FBb0dvQiwwQ0RxekIwQjtRQ3B6QjFCLDhCTnBJRTtRTW9JRixzQk5wSUUsRUFBQTtJTStCdEI7TUF5R2dCLHdDRGl6QjZCLEVBQUE7TUMxNUI3QztRQTJHb0Isd0NEK3lCeUIsRUFBQTtFQzE1QjdDO0lBb0hZLGtCQUFrQjtJQUNsQixZQUFZO0lBQ1osd0NEa3lCa0M7SUM5eEJsQyxnQkRvY087SUNuY1Asa0JENnlCdUIsRUFBQTtJQ3g2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bUIsRUFBQSxFQVExQjtFQXpaTDtJQXFaWSxrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGVBQWUsRUFBQTtFSmxQbkI7SUlyS1I7TUE0WlksWUFBWSxFQUFBLEVBUW5CO0VKcFFHO0lJaEtSO01BdWFZLDJCQUFvQjtNQUFwQiwyQkFBb0I7TUFBcEIsb0JBQW9CLEVBQUEsRUFFM0I7RUF6YUw7SUE0YVksWU4xSU87SU0ySVAsaUNYdFEyQjtJV3VRM0IsZUFBZTtJQUNmLGNYN1pxQjtJVzhackIsOEJYNUtVO0lXNEtWLHNCWDVLVSxFQUFBO0VXcFF0QjtJQW9iZ0IsY1o5WkM7SVkrWkQsOEJYbExNO0lXa0xOLHNCWGxMTSxFQUFBO0VXblF0QjtJQTJiZ0IsY1o5YUMsRUFBQTtFWWJqQjtJQWljWSxZTjNJTTtJTTRJTixrQkFBa0I7SUFDbEIsaUNYNVIyQjtJVzZSM0Isa0JGelhvRDtJRTBYcEQsY1huYnFCO0lXb2JyQiw4QlhuTVU7SVdtTVYsc0JYbk1VLEVBQUE7RVduUXRCO0lBMGNRLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsY2J6SDZEO0lhMEg3RCxnQkFBZ0IsRUFBQTtJSnhTaEI7TUlyS1I7UUErY1ksa0JBQWtCLEVBQUEsRUFFekI7RUo1U0c7SUlyS1I7TUFzZG9CLGNBQWMsRUFBQSxFQUVyQjs7QUFJYjtFQUVRLDZCWDlkYSxFQUFBO0VXNGRyQjtJQUlZLG1CTmk2Qlc7SU1oNkJYLG9CRnRab0Q7SUV1WnBELGdCTmk2QlE7SU1oNkJSLHdDTmk2QmdDO0lNaDZCaEMsZ0NYcmRxQjtJV3NkckIsa0JOazZCVSxFQUFBO0lNMzZCdEI7TUFZZ0Isb0JGN1pnRDtNRThaaEQsZ0JOMDVCSTtNTXo1Qkosd0NOMDVCNEIsRUFBQTtFTXg2QjVDO0lBbUJZLGdCQUFnQixFQUFBO0VBbkI1QjtJQXNCWSxvQkZ2YW9EO0lFd2FwRCxnQk52ZG1CO0lNd2RuQix3Q05nNUJnQyxFQUFBOztBTXg2QjVDO0VBNEJRLDZCWHhmYSxFQUFBO0VXNGRyQjtJQThCWSxpQk5rNUJTO0lNajVCVCxtQkZoYm9EO0lFaWJwRCxn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QixFQUFBO0VZaUp0QjtJQTZCSSx5RFpySzhDO1lZcUs5QyxpRFpySzhDLEVBQUE7O0FZeUtsRDtFQUNFLGFBQWEsRUFBQTs7QUFLZjtFSnRGSSxxQ0FBZ0M7RUF1QjVCLFdJZ0VvTjtFSmhEeE4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsbURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVDVZYTtFUzZZYix5QkhvZGtFO0VHbmRsRSxpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS3NSUjtNSkFRLDBCSUN3TztNSkR4Tyx1QklDd087TUpEeE8sa0JJQ3dPO01KQXhPLDRDQUFrRSxFQUFBLEVJVXpFO0VKTEc7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVHZiSztNU3liRCxxQlR4Ykc7TVM0YlAscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVHJjUztJU3VjTCxxQlR2Y0s7SVMyY1QsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUlRLGNWekp5RDtJVThKekQseUJSOWVLO0lRbWZMLHFCVm5LeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBSVEscUJWaEx5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBO0VZdUx0QjtJSnRGSSxxQ0FBZ0M7SUF1QjVCLFdJa0VnTjtJSmxEcE4sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsbURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjUjNTVTtJUTRTVix5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixlQ2pWNEQ7SURrVjVELGdCSG1jZTtJR2xjZixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFTWCxxQlIzVE07SVErVFYscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TUtzUlI7UUpBUSwwQklHb087UUpIcE8sdUJJR29PO1FKSHBPLGtCSUdvTztRSkZwTyw0Q0FBa0UsRUFBQSxFSUd2RTtJSkVDO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlJ0VkU7UVF3VkUscUJSeFZGO1FRNFZGLHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFDSSxjUnZkUztNUXdkVCx5QkhtWjhEO01HaloxRCxxQkhpWjBEO01HN1k5RCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFtZkwscUJWbkt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7SUFPdkI7TUFJUSxxQlZoTHlELEVBQUE7SVVvTGpFO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUThSakQ7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RVl1THRCO0lKdEZJLHFDQUFnQztJQXVCNUIsV0lxRWdOO0lKckRwTixvQkExQ2dZO0lBMENoWSxvQkExQ2dZO0lBMENoWSxhQTFDZ1k7SUE0QzVYLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQixtREFBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNSclNVO0lRc1NWLHlCVnZFaUU7SVV3RWpFLGlCSCtjNEI7SUc5YzVCLGVDalY0RDtJRGtWNUQsZ0JIbWNlO0lHbGNmLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVNYLHFCUnJUTTtJUXlUVixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNS3NSUjtRSkFRLDBCSU1vTztRSk5wTyx1QklNb087UUpOcE8sa0JJTW9PO1FKTHBPLDRDQUFrRSxFQUFBLEVJTXZFO0lKREM7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUmhWRTtRUWtWRSxxQlJsVkY7UVFzVkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCSG1aOEQ7TUdqWjFELHFCSGlaMEQ7TUc3WTlELDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFWXVMdEI7SUp0RkkscUNBQWdDO0lBdUI1QixXSXdFME07SUp4RDlNLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLG1EQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1IvUlU7SVFnU1YseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsZUNqVjREO0lEa1Y1RCxnQkhtY2U7SUdsY2Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSL1NNO0lRbVRWLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01Lc1JSO1FKQVEsMEJJUzhOO1FKVDlOLHVCSVM4TjtRSlQ5TixrQklTOE47UUpSOU4sNENBQWtFLEVBQUEsRUlTdkU7SUpKQztNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSMVVFO1FRNFVFLHFCUjVVRjtRUWdWRixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJIbVo4RDtNR2paMUQscUJIaVowRDtNRzdZOUQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBOztBWXFNdEI7RUFDRSxrQkFBa0I7RUFDbEIsaUJBQWlCLEVBQUE7O0FBRW5CO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQixFQUFBOztBQUVuQjtFQUNFLGtCQUFrQjtFQUNsQixjQUFjLEVBQUE7O0FBS2hCO0VKbkhJLHFDQUFnQztFQXVCNUIsV0k2RjRNO0VKN0VoTixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQixtREFBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUNVlhO0VTNlliLHlCSG9ka0U7RUduZGxFLGlCSCtjNEI7RUc5YzVCLGVDalY0RDtFRGtWNUQsZ0JIbWNlO0VHbGNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCUjdad0I7RVFpYTVCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPL0ZkO0lLbVRSO01KN0JRLDBCSThCZ087TUo5QmhPLHVCSThCZ087TUo5QmhPLGtCSThCZ087TUo3QmhPLDRDQUFrRSxFQUFBLEVJOEJ6RTtFSnpCRztJQUNJO01BQ0ksY1JoY0s7TVFpY0wseUJUdmJLO01TeWJELHFCVHhiRztNUzRiUCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUcmNTO0lTdWNMLHFCVHZjSztJUzJjVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwscUJWakt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxxQlY5S3lELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZd050QjtFSnZISSxxQ0FBZ0M7RUF1QjVCLFdJaUdtTjtFSmpGdk4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsbURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVDVZYTtFUzZZYix5QlJ2WmE7RVF3WmIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUt1VFI7TUpqQ1EsMEJJa0N1TztNSmxDdk8sdUJJa0N1TztNSmxDdk8sa0JJa0N1TztNSmpDdk8sNENBQWtFLEVBQUEsRUlrQ3pFO0VKN0JHO0lBQ0k7TUFDSSxjVHRiSztNU3ViTCx5QkhpY3dEO01HL2JwRCxxQlR6YkM7TVM2YkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVDljUztJU2dkTCxxQlRoZEs7SVNvZFQsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHFCVmpLeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEscUJWOUt5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWTJOdEI7RUoxSEkscUNBQWdDO0VBdUI1QixXSW9HK007RUpwRm5OLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLG1EQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1Z0RWlFO0VVdUVqRSx5QlZ2RWlFO0VVd0VqRSxpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJSzBUUjtNSnBDUSwwQklxQ21PO01KckNuTyx1QklxQ21PO01KckNuTyxrQklxQ21PO01KcENuTyw0Q0FBa0UsRUFBQSxFSXFDekU7RUpoQ0c7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVmpIeUQ7TVVtSHJELHFCVm5IcUQ7TVV1SHpELHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlQ5Y1M7SVNnZEwscUJSMWRLO0lROGRULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVk4TnRCO0VKN0hJLHFDQUFnQztFQXVCNUIsV0l1R3VOO0VKdkYzTiwyQkl1RmdRO0VKdkZoUSwyQkl1RmdRO0VKdkZoUSxvQkl1RmdRO0VKckY1UCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGlEQUErQztFQUMvQyxjUnRaYTtFUXVaYix5QlRwWWE7RVNxWWIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJUblpTO0VTdVpiLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPL0ZkO0lLNlRSO01KdkNRLDBCSXdDMk87TUp4QzNPLHVCSXdDMk87TUp4QzNPLGtCSXdDMk87TUp2QzNPLDRDQUFrRSxFQUFBLEVJd0N6RTtFSm5DRztJQUNJO01BQ0ksY1Q3YUs7TVM4YUwseUJSamNLO01RbWNELHFCVGhiQztNU29iTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1Q3Y1M7SVM4Y1QseUJSeGRTO0lRMGRMLHFCVGhkSztJU29kVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwscUJWakt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxxQlY5S3lELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZaU90QjtFSmhJSSxxQ0FBZ0M7RUF1QjVCLFdJMEcyTTtFSjFGL00sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsbURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVDVZYTtFUzZZYix5QlJqWmE7RVFrWmIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU8vRmQ7SUtnVVI7TUoxQ1EsMEJJMkMrTjtNSjNDL04sdUJJMkMrTjtNSjNDL04sa0JJMkMrTjtNSjFDL04sNENBQWtFLEVBQUEsRUkyQ3pFO0VKdENHO0lBQ0k7TUFDSSxjVHRiSztNU3ViTCx5Q1R0Yk87TVN3YkgscUJUemJDO01TNmJMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjVDdjUztJUzhjVCx5QlJ4ZFM7SVEwZEwscUJUaGRLO0lTb2RULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVlxT3RCO0VKcElJLHFDQUFnQztFQXVCNUIsV0k4RzRMO0VKOUZoTSxvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUNVlhO0VTNlliLDZCUjFaaUI7RVEyWmpCLGlCSCtjNEI7RUc5YzVCLGVDalY0RDtFRGtWNUQsZ0JIbWNlO0VHbGNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCVDVaUztFU2dhYixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFT3BHZDtJS3lVUjtNSmxEWSxvREFBb0UsRUFBQSxFSW9EL0U7RUx0VU87SUtvVVI7TUo5Q1EsMEJJK0NnTjtNSi9DaE4sdUJJK0NnTjtNSi9DaE4sa0JJK0NnTjtNSjlDaE4sbURBQWtFLEVBQUEsRUkrQ3pFO0VKMUNHO0lBQ0k7TUFDSSxjUmhjSztNUWljTCx5QlR2Yks7TVN5YkQscUdIb2lCcUM7TUdoaUJ6QyxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1Q1Y1c7SVM2Y1gseUJUcmNTO0lTdWNMLHFCVC9jTztJU21kWCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwscUJWakt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxxQlY5S3lELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZd090QjtFQUNFLDJCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLFFBQVE7RUFDUixvQkh0YThEO0VHdWE5RCxnQlA4ZmtDLEVBQUE7RU9wZ0JwQztJQVdJLFlQdE9PO0lPdU9QLGVQNnlCNEI7SU81eUI1QixpQ1psVm1DO0lZbVZuQyxtQkFBbUIsRUFBQTtFQWR2QjtJQWlCSSxxQkFBcUIsRUFBQTs7QUFLekI7RUFDRSxrQkFBa0I7RUFDbEIsMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUIsRUFBQTtFQUhyQjtJQU1JLFlQNUdnQjtJTzZHaEIsZ0JBQWdCO0lBQ2hCLGNaL2U2QjtJWWdmN0IsaUNacFdtQztJWXFXbkMsVUFBVSxFQUFBO0VBVmQ7SUFjSSx3QkFBaUQ7SUFDakQseUJBQWtEO0lBQ2xELGtCQUFrQjtJQUNsQixTQUE4QjtJQUM5QixVQUErQjtJQUMvQixZQU55QjtJQU96QiwwQ1o3Z0JhO0lZOGdCYixjWmpoQmE7SVlraEJiLGtCQUFrQjtJQUNsQixvQkg5YzREO0lHK2M1RCxnQkFBZ0IsRUFBQTs7QUFTcEI7RUo5TEkscUNBQWdDO0VBdUI1QixXSXdLa0s7RUp4SnRLLG9CSXdKb007RUp4SnBNLG9CSXdKb007RUp4SnBNLGFJd0pvTTtFSnRKaE0seUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFHdkIsbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVk7RUFHaEIsa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSw0REFBK0M7RUFDL0MsY1JuWmE7RVFvWmIseUJSdlphO0VRd1piLGlCSCtjNEI7RUc5YzVCLG1CQ2pWNEQ7RURrVjVELGdCSXVJaUo7RUp0SWpKLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCUjdad0I7RVFpYTVCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQjtFUTBRZDs7Ozs7Ozs7U1oyeUdDLEVZbnlHQztFRGpYRjtJSzhYUjtNSnhHUSwwQkl5R3NMO01Kekd0TCx1Qkl5R3NMO01Kekd0TCxrQkl5R3NMO01KeEd0TCw0Q0FBa0UsRUFBQSxFSXlHekU7RUpwR0c7SUFDSTtNQUNJLGNUdGJLO01TdWJMLHlCVGpiTztNU21iSCxxQlR6YkM7TVM2YkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUTBNTjtRQUNDLGNUamNBO1FTa2NBLDhCUjVNSztRUTRNTCxzQlI1TUssRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVDljUztJU2tkTCxxQlRsZEs7SVNvZFQsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0lRZ09WO01BQ0MsY1JqZUksRUFBQTtFUXFlYjtJQUlRLGNWekp5RDtJVThKekQseUJSOWVLO0lRbWZMLHFCVm5LeUQ7SVVxSzdELG1CQUFtQixFQUFBO0lBRWY7TUFDQyxjVnhLd0QsRUFBQTtFVTRLakU7SUFJUSxxQlZoTHlELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUWlSN0M7SUFDSSxZSHpLRTtJRzBLRixrQkh1cUhRO0lHdHFIUixpQ1IxWDJCO0lRMlgzQixlSDRxSEE7SUd2cUhBLGNUemhCTztJUzBoQlAsOEJScFNVO0lRb1NWLHNCUnBTVSxFQUFBO0VRdVNsQjtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVltU3RCO0VBQ0UsU0FBUztFQUNULGFQNnFCd0M7RU81cUJ4QyxvQkgvZDhEO0VHZ2U5RCxnQlA2cUIyQztFTzVxQjNDLGNiemhCaUIsRUFBQTtFYW9oQm5CO0lBT0ksZ0JBQWdCLEVBQUE7O0FBSXBCO0VBQ0UsMEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixrQkFBa0I7RUFDbEIsYVBrcUJ3QztFT2pxQnhDLG9CSDFlOEQ7RUcyZTlELGdCQUFnQjtFQUNoQixjYnBpQmlCO0VhcWlCakIseUJiemlCaUI7RWEwaUJqQix5QmJ0aUJpQixFQUFBO0VhK2hCbkI7SUFTTSxjYjlpQlc7SWEraUJYLHlCYnppQmE7SWEwaUJiLHFCYmhqQlcsRUFBQTtJYXFpQmpCO01BYVUsY2JsakJPLEVBQUE7RWFxaUJqQjtJQWlCTSxjYjdpQlc7SWE4aUJYLHlCWmprQlc7SVlra0JYLHFCWmxrQlcsRUFBQTtJWStpQmpCO01BcUJVLGNiampCTyxFQUFBO0VhNGhCakI7SUF5Qk0sWVBoTm9CO0lPaU5wQixpQlBxckJ3QztJT3ByQnhDLHVCWnhYNEI7SVl5WDVCLGVQa3JCc0M7SU9qckJ0QyxjYjVqQmEsRUFBQTs7QWFna0JuQjtFQUNFLDBCQUFrQjtFQUFsQix1QkFBa0I7RUFBbEIsa0JBQWtCO0VBQ2xCLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGdCQUFnQjtFQUNoQixvQkg5Z0I4RDtFRytnQjlELGdCQUFnQjtFQUNoQixjYjVrQmlCO0VhNmtCakIseUJaN2tCK0I7RVk4a0IvQix3RVp6Vm9CO0VZeVZwQixnRVp6Vm9CLEVBQUE7RU8vRmQ7SUs4YVI7TUFZTSxnQkFBZ0I7TUFDaEIsa0JIcmhCMEQsRUFBQSxFR3FqQi9EO0VBN0NEO0lBZ0JNLGNaaG1CVztJWWltQlgseUJidmxCVztJYXdsQlgscUJieGxCVztJYXlsQlgsd0VabldnQjtJWW1XaEIsZ0VabldnQixFQUFBO0lZZ1Z0QjtNQXFCVSxjWnJtQk87TVlzbUJQLDhCWnRXWTtNWXNXWixzQlp0V1ksRUFBQTtFWWdWdEI7SUEwQk0sY2JobUJXO0lhaW1CWCx5QmIzbEJhO0lhNGxCYixxQmJsbUJXLEVBQUE7SWFza0JqQjtNQThCVSxjYnBtQk8sRUFBQTtFYXNrQmpCO0lBa0NNLFlQMVBvQjtJTzJQcEIsaUJBQWlCO0lBQ2pCLHVCWmxhNEI7SVltYTVCLGVBQWU7SUFDZixjYjFtQmE7SWEybUJiLDhCWnRYZ0I7SVlzWGhCLHNCWnRYZ0IsRUFBQTtJTy9GZDtNSzhhUjtRQXlDVSxnQkFBZ0I7UUFDaEIsZUFBZSxFQUFBLEVBRXRCOztBQUdIO0VKN1JJLHFDQUFnQztFQXVCNUIsV0l1UWtPO0VKdlB0TyxvQkl1UHlRO0VKdlB6USxvQkl1UHlRO0VKdlB6USxhSXVQeVE7RUpyUHJRLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUNVlhO0VTNlliLHlCUnZaYTtFUXdaYixpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0I7RVEwUWQ7Ozs7Ozs7O1NaczhHQyxFWTk3R0M7RUR0WEY7SUtrZVI7TUozTVksNkNBQW9FLEVBQUEsRUk2TS9FO0VML2RPO0lLNmRSO01Kdk1RLDBCSXdNc1A7TUp4TXRQLHVCSXdNc1A7TUp4TXRQLGtCSXdNc1A7TUp2TXRQLDRDQUFrRSxFQUFBLEVJd016RTtFSm5NRztJQUNJO01BQ0ksY1R0Yks7TVN1YkwseUJIaWN3RDtNRy9icEQscUJUemJDO01TNmJMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVEwTU47UUFDQyxjVGpjQTtRU2tjQSw4QlI1TUs7UVE0TUwsc0JSNU1LLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlQ5Y1M7SVNnZEwscUJUaGRLO0lTb2RULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtJUWdPVjtNQUNDLGNUdmRJLEVBQUE7RVMyZGI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtJQUVmO01BQ0MsY1Z4S3dELEVBQUE7RVU0S2pFO0lBRVEscUJWOUt5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVFpUjdDO0lBQ0ksWUhuS0M7SUdvS0Qsa0JIOHNDUTtJRzdzQ1IsaUNSMVgyQjtJUTJYM0IsZUgrc0NBO0lHMXNDQSxjVHpoQk87SVMwaEJQLDhCUnBTVTtJUW9TVixzQlJwU1UsRUFBQTtFUXVTbEI7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZa1l0QjtFQUVJLFlQNVFTO0VPNlFULGtCQUFrQjtFQUNsQixpQ1puZW1DLEVBQUE7O0FZeWV2QztFSjNTSSxxQ0FBZ0M7RUF5QjVCLFdJbVJnSTtFSnJRcEksb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLCtDQUErQztFQUUvQyx5QkhvdEhnQjtFR250SGhCLGlCSCtjNEI7RUc5YzVCLG9CQ2pWNEQ7RURrVjVELGdCSW9Qc0g7RUpuUHRILGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVdYLHFCUmxhUztFUW9hYixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0I7RVk4WWxCLGtCWm5aZTtF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UDQyQjBCO0lPMzJCMUIsY2JyeEJlO0lhc3hCZiw4QlpoaUJrQjtJWWdpQmxCLHNCWmhpQmtCLEVBQUE7RVlvaUJoQjtJQUNJLGVBQWU7SUFDZixjYnB4Qk87SWFxeEJQLDRCWnhpQlk7SVl3aUJaLG9CWnhpQlksRUFBQTtFWTRpQmhCO0lBQ0UsY2JueUJTLEVBQUE7RWF1eUJmO0lBQ0UsbUJBQW1CLEVBQUE7SUFDbkI7TUFDRSxjWnB6QlcsRUFBQTs7QVkwekJqQjtFSnhkSSxxQ0FBZ0M7RUF5QjVCLFdJb2M4TDtFSnRibE0sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjUnRaYTtFUXVaYix5QlQ1WWU7RVM2WWYsaUJIK2M0QjtFRzljNUIsbUJDalY0RDtFRGtWNUQsZ0JIbWNlO0VHbGNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCVDNaVztFUytaZixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS3dwQlI7TUpsWVEsV0l1WThMO01KdFk5TCw0Q0FBa0UsRUFBQSxFSXVZdkU7RUpsWUM7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVDlhSztNU2diRCxxQlRoYkM7TVNvYkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUVJLHlCVDljUztJU2dkTCxxQlRoZEs7SVNvZFQsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHFCVmpLeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEscUJWOUt5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWWtrQnRCO0VBaERFLFdQczNCNkI7RU9yM0I3QixZUHEzQjZCO0VPcDNCN0Isa0JBQWtCO0VBQ2xCLHFCQUFxQjtFQUdyQiw2Qlo1eEJtQjtFWTZ4Qm5CLGVBQWU7RUFDZix5Q1oxaEJvQjtFWTBoQnBCLGlDWjFoQm9CLEVBQUE7RVkyaEJwQjtJQUNFLFlQamdCYTtJT2tnQmIsaUNaMW5CbUM7SVkybkJuQyxlUDQyQjBCO0lPMzJCMUIsY2JyeEJlO0lhc3hCZiw4QlpoaUJrQjtJWWdpQmxCLHNCWmhpQmtCLEVBQUE7RVlvaUJoQjtJQUNJLGVBQWU7SUFDZixjYnB4Qk87SWFxeEJQLDRCWnhpQlk7SVl3aUJaLG9CWnhpQlksRUFBQTtFWTRpQmhCO0lBQ0UsY2JueUJTLEVBQUE7RWF1eUJmO0lBQ0UsbUJBQW1CLEVBQUE7SUFDbkI7TUFDRSxjWnB6QlcsRUFBQTs7QVl1MEJqQjtFSnJlSSxxQ0FBZ0M7RUF5QjVCLFdJOGM4TDtFSmhjbE0sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjUnRaYTtFUXVaYix5QlQ1WWU7RVM2WWYsaUJIK2M0QjtFRzljNUIsbUJDalY0RDtFRGtWNUQsZ0JIbWNlO0VHbGNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCVDNaVztFUytaZixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS3FxQlI7TUovWVEsV0lpWjhMO01KaFo5TCw0Q0FBa0UsRUFBQSxFSWladkU7RUo1WUM7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVDlhSztNU2diRCxxQlRoYkM7TVNvYkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUVJLHlCVDljUztJU2dkTCxxQlRoZEs7SVNvZFQsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUVRLGNWdkp5RDtJVTRKekQseUJSNWVLO0lRaWZMLHFCVmpLeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBRVEscUJWOUt5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWXNrQnRCO0VKcmVJLHFDQUFnQztFQXlCNUIsWUlpZGdOO0VKbmNwTixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNUNVlhO0VTNlliLHlCSG9ka0U7RUduZGxFLGlCSCtjNEI7RUc5YzVCLHFCQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS3FxQlI7TUovWVEsWUlvWmdOO01KblpoTiw0Q0FBa0UsRUFBQSxF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UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlRyY1M7SVN1Y0wscUJUdmNLO0lTMmNULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFJUSxjVnpKeUQ7SVU4SnpELHlCUjllSztJUW1mTCxxQlZuS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUlRLHFCVmhMeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QVltcEJ0QjtFSmxqQkkscUNBQWdDO0VBdUI1QixXSTZoQnlPO0VKOWdCN08sWUhtUHdCO0VHbFB4QixvQkExQ2dZO0VBMENoWSxvQkExQ2dZO0VBMENoWSxhQTFDZ1k7RUE0QzVYLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBTTNCLGtCQUFrQjtFQUNsQiw0Q0FBa0U7RUFFbEUsZ0RBQStDO0VBQy9DLGNSdFphO0VRdVpiLHlCVDVZZTtFUzZZZixpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlIxWnlCO0VROFo3QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJS2t2QlI7TUo1ZFEsV0k4ZHNQO01KN2R0UCw0Q0FBa0UsRUFBQSxFSThkdkU7RUp6ZEM7SUFDSTtNQUNJLGNUdGJLO01TdWJMLHlCVHJiTztNU3ViSCxxQlR2Ykc7TVMyYlAscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVHJjUztJU3VjTCxxQlR2Y0s7SVMyY1QsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0VRcU9sQjtJQUlRLGNWekp5RDtJVThKekQseUJSOWVLO0lRbWZMLHFCVm5LeUQ7SVVxSzdELG1CQUFtQixFQUFBO0VBT3ZCO0lBSVEscUJWaEx5RCxFQUFBO0VVb0xqRTtJQUNJLGFBQWE7SUFDYiw0RFI1UDZDO1lRNFA3QyxvRFI1UDZDLEVBQUE7RVE4UmpEO0lBQ0kseUNSeFNjO0lRd1NkLGlDUnhTYyxFQUFBOztBWTBwQnRCO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWEsRUFBQTtFQURmO0lKempCSSxxQ0FBZ0M7SUF1QjVCLFdJcWlCK007SUp0aEJuTixZSG1Qd0I7SUdsUHhCLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLDRDQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1Q1WWE7SVM2WWIseUJIb2RrRTtJR25kbEUsaUJIK2M0QjtJRzljNUIsZUNqVjREO0lEa1Y1RCxnQkhtY2U7SUdsY2Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCO0lZOHBCbEIsbUJBQVk7UUFBWixvQkFBWTtZQUFaLFlBQVksRUFBQTtJTDd2QlI7TUt5dkJSO1FKbmVRLFdJc2U0TjtRSnJlNU4sNENBQWtFLEVBQUEsRUl1ZXZFO0lKbGVDO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlR2Yks7UVN5YkQscUJUeGJHO1FTNGJQLHFCQUFxQjtRQUNyQiw0QlJ4TVU7UVF3TVYsb0JSeE1VLEVBQUE7UVFnTlY7VUFDSSx5QlJqZEM7VVFrZEQseUNSbE5NO1VRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0lBR1Q7TUFDSSxjUnZkUztNUXdkVCx5QlRyY1M7TVN1Y0wscUJUdmNLO01TMmNULDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTs7QVlvcUJ0QjtFQUlNLGNkemxCK0Q7RWMwbEIvRCxZUDZ0QnNCO0VPNXRCdEIsbUJBQW1CLEVBQUE7RUFOekI7SUFRUSxtQ1p4d0JtQztJWXl3Qm5DLGNkOWxCNkQsRUFBQTs7QWNxbEJyRTtFQWFNLFlQbm9Ca0I7RU9vb0JsQixjYmg2Qlc7RWFpNkJYLGVQdXRCd0I7RU90dEJ4QixtQ1poeEJxQztFWWl4QnJDLDhCWnJyQmdCO0VZcXJCaEIsc0JacnJCZ0IsRUFBQTs7QVlvcUJ0QjtFQXFCUSxjYnY2QlM7RWF3NkJULGlDWnZ4QitCO0VZd3hCL0IsOEJaNXJCYztFWTRyQmQsc0JaNXJCYyxFQUFBOztBWXFxQnRCO0VBNEJRLGNiOTZCUztFYSs2QlQsaUNaOXhCK0IsRUFBQTs7QVlpd0J2QztFQW1DTSxpQ1pweUJpQyxFQUFBOztBWWl3QnZDO0VBd0NNLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsOEJBQW1CO0VBQW5CLDZCQUFtQjtNQUFuQix1QkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLHdCQUF1QjtNQUF2QixxQkFBdUI7VUFBdkIsdUJBQXVCO0VBQ3ZCLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7RUEzQ3pCO0lBNkNVLFdBQVc7SUFDWCxvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLFNBQVM7SUFDVCwyQkFBcUI7UUFBckIsd0JBQXFCO1lBQXJCLHFCQUFxQjtJQUNyQixtQkg5NEJzRDtJRys0QnRELGdCUGl1QitCO0lPaHVCL0IsY1pyOUJPO0lZczlCUCxrQkFBa0I7SUFJbEIsOEJaNXRCWTtJWTR0Qlosc0JaNXRCWSxFQUFBO0lZb3FCdEI7TUEwRFksY2I1OEJLO01hNjhCTCw4QlpodUJVO01ZZ3VCVixzQlpodUJVLEVBQUE7O0FZcXFCdEI7RUFtRWMscUJBQXFCLEVBQUE7O0FBbkVuQztFQXVFVSxXUDZwQnFCO0VPNXBCckIsWVA0cEJxQjtFTzNwQnJCLGtCQUFrQjtFQUNsQixjQUFjLEVBQUE7RUExRXhCO0lBNEVjLFdBQVc7SUFDWCxZQUFZO0lBQ1osb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQixFQUFBO0VBaEZqQztJQW1GYyxxQkFBcUIsRUFBQTs7QUFTbkM7RUFDRSxlQUFlLEVBQUE7O0FBR2pCO0VBR0UsbUJBQWtCO0VBQ2xCLG9CQUFtQjtFQUNuQixvQkFBbUI7RUFDbkIsbUJBQU87TUFBUCxXQUFPO1VBQVAsT0FBTztFQUNQLFVBQVUsRUFBQTs7QUFFVjtFQVRGO0lBVUksNkJBQTZCLEVBQUEsRUFFaEM7O0FBSUQ7RUFDRSxrQkFBa0I7RUFDbEIsMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFFcEIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGlCQUFpQixFQUFBO0VMOTNCWDtJS3czQlI7TUFTSSxtQkFBZTtVQUFmLGVBQWUsRUFBQSxFQW9yQmxCO0VMaGpETztJS20zQlI7TUFZSSwyQkFBcUI7VUFBckIsd0JBQXFCO2NBQXJCLHFCQUFxQixFQUFBLEVBaXJCeEI7RUE3c0JEO0lBZ0NJLFdBQVc7SUFDWCxrQkFBa0IsRUFBQTtFQWpCdEI7SUF5Qk0seUJaOWlDVztJWStpQ1gscUJkL3RCK0Q7SWNndUIvRCwwREFBa0Q7WUFBbEQsa0RBQWtEO0lBQ2xELHFGWmp6QmdCO0lZaXpCaEIsNkVaanpCZ0I7SVlpekJoQixxRVpqekJnQjtJWWl6QmhCLDhGWmp6QmdCLEVBQUE7RVlxeEJ0QjtJQW9DTSxxQlpsOEJRO0lZbThCUix5QmQxdUIrRCxFQUFBO0ljcXNCckU7TUF1Q1EsY1pyOEJNLEVBQUE7RVk4NUJkO0lBNENRLHFCZGp2QjZEO0lja3ZCN0QseUJabGtDUztJWW1rQ1QseUNabjBCYztJWW0wQmQsaUNabjBCYyxFQUFBO0VZcXhCdEI7SUFxRE0scUJkMXZCK0Q7SWMydkIvRCx5Qloza0NXO0lZNGtDWCwwREFBa0Q7WUFBbEQsa0RBQWtELEVBQUE7RUF2RHhEO0lBNERJLGlCUGpiaUIsRUFBQTtFT3FYckI7SUFpRUksWVAzZHdCO0lPNGR4QiwyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUNwQix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixZQUFZO0lBQ1oseUJaMWxDYTtJWTJsQ2IsMkJBQTJCO0lBQzNCLHFCZDV3QmlFO0ljNndCakUsbUJBQW1CO0lBU25CLHFGWnIyQmtCO0lZcTJCbEIsNkVacjJCa0I7SVlxMkJsQixxRVpyMkJrQjtJWXEyQmxCLDhGWnIyQmtCO0lZczJCbEIsVUFBVSxFQUFBO0lBbEZkO01Bb0ZNLDREWnoyQmdCO01ZeTJCaEIsb0RaejJCZ0IsRUFBQTtJWXF4QnRCO01BdUZNLG1CQUFtQixFQUFBO0lBdkZ6QjtNQTBGTSxvQkFBb0IsRUFBQTtFQTFGMUI7SUE4RkksOEJabDNCa0I7SVlrM0JsQixzQlpsM0JrQixFQUFBO0VZb3hCdEI7SUFvR1EsY2IvbUNTO0lhZ25DVCw4QloxM0JjO0lZMDNCZCxzQloxM0JjLEVBQUE7RVlxeEJ0QjtJQXdHUSx5RFpyM0IwQztZWXEzQjFDLGlEWnIzQjBDO0lZczNCMUMsMkNaOTNCYztJWTgzQmQsbUNaOTNCYztJWTgzQmQsMkJaOTNCYztJWTgzQmQsb0RaOTNCYyxFQUFBO0VZcXhCdEI7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a0I7SVk4eUNsQixvRFo5eUNrQixFQUFBO0lZb3hCdEI7TUE0aEJNLFdBQVc7TUFDWCx5QkFBcUQ7TUFDckQsMEJBQXNEO01BQ3RELGtCQUFrQjtNQUNsQixNQUFNO01BQ04sT0FBTztNQUNQLFNBQVM7TUFDVCxRQUFRO01BQ1IsWUFBWTtNQUNaLDRDYi9pRGE7TWFpakRYLGdCZHZqRGE7TWN5akRmLHFDWjd6Q2dCO01ZNnpDaEIsNkJaN3pDZ0IsRUFBQTtJTy9GZDtNS20zQlI7UUE0aUJNLHVCQUErQztRQUMvQyxrQkFBa0IsRUFBQSxFQXlIckI7SUF0cUJIO01BZ2pCTSw2Qlp4a0RlO01ZeWtEZixxQmI1akRXO01hNmpEWCw0RFp2MENnQjtNWXUwQ2hCLG9EWnYwQ2dCLEVBQUE7TVlxeEJ0QjtRQW9qQlEscUJiL2pEUztRYWdrRFQscUNaMTBDYztRWTAwQ2QsNkJaMTBDYyxFQUFBO01ZcXhCdEI7UUF3akJRLGNibmtEUztRYW9rRFQsOEJaOTBDYztRWTgwQ2Qsc0JaOTBDYyxFQUFBO01ZcXhCdEI7UUE0akJRLGNidmtEUyxFQUFBO0lhMmdDakI7TUFna0JNLHlDYjFrRGE7TWEya0RiLG1DYjVrRFcsRUFBQTtNYTJnQ2pCO1FBbWtCUSxtQ2I5a0RTLEVBQUE7SWEyZ0NqQjtNQXdrQlEsWVBud0NlO01Pb3dDZiw0QmJwbERTLEVBQUE7SWEyZ0NqQjtNQTZrQk0scUJaMytDUTtNWTQrQ1IseUJkbnhDK0QsRUFBQTtNY3FzQnJFO1FBZ2xCUSxxQlo5K0NNLEVBQUE7TVk4NUJkO1FBbWxCUSxjQUFjLEVBQUE7TUFubEJ0QjtRQXVsQlUsWVBqeENPO1FPcXhDUCxjWnovQ0ksRUFBQTtNWTg1QmQ7UUErbEJRLGNaNy9DTSxFQUFBO0lZODVCZDtNQW1tQk0sV0FBVztNQUNYLGlCUHhrQ2E7TU95a0NiLGtCQUFrQjtNQUNsQixlSG5qRDBEO01Hb2pEMUQsZ0JQdmtDNEI7TU93a0M1QixjYm5uRFc7TWFvbkRYLDhCWjczQ2dCO01ZNjNDaEIsc0JaNzNDZ0IsRUFBQTtNTy9GZDtRS20zQlI7VUEybUJRLFlBQXFELEVBQUEsRUFFeEQ7SUE3bUJMO01BK21CTSxvQkFBb0I7TUFDcEIsY0FBYztNQUNkLG1CQUFtQixFQUFBO01Bam5CekI7UUFtbkJRLFlQL3lDUztRT2d6Q1QsaUNacitDK0I7UVlzK0MvQixlQUFlO1FBQ2YsY2Jqb0RTLEVBQUE7TWEyZ0NqQjtRQXluQlEsaUJBQWlCLEVBQUE7SUF6bkJ6QjtNQTZuQk0sa0JQam1DUTtNT2ttQ1IsVUFBVSxFQUFBO01Mai9DUjtRS20zQlI7VUFnb0JRLG1CUG5tQ08sRUFBQSxFT3FtQ1Y7SUFsb0JMO01Bb29CTSxpQkFBaUI7TUFDakIsb0JIbGxEMEQ7TUdtbEQxRCxnQkFBZ0IsRUFBQTtJQXRvQnRCO01BeW9CTSxvQkFBYTtNQUFiLG9CQUFhO01BQWIsYUFBYTtNQUNiLHdCQUF1QjtVQUF2QixxQkFBdUI7Y0FBdkIsdUJBQXVCO01BQ3ZCLHlCQUFtQjtVQUFuQixzQkFBbUI7Y0FBbkIsbUJBQW1CO01BQ25CLFlBQVk7TUFDWixhQUFhO01BQ2IsZUFBZTtNQUNmLFVBQVUsRUFBQTtNQS9vQmhCO1FBaXBCUSwwQkFBMEIsRUFBQTtNQWpwQmxDO1FBb3BCUSxZUDkwQ1M7UU8rMENULGlCQUFpQjtRQUNqQixpQ1p2Z0QrQjtRWXdnRC9CLGVBQWU7UUFDZixjWnJwRHlCLEVBQUE7SVk2L0JqQztNQTRwQk0sV0FBVztNQUNYLFlBQVk7TUFDWixrQkFBa0I7TUFDbEIsTUFBTTtNQUNOLE9BQU87TUFDUCxVQUFVO01BQ1YsVUFBVTtNQUNWLGVBQWU7TUFDZixVQUFVLEVBQUE7RUFwcUJoQjtJQXlxQk0sWVBua0NzQixFQUFBO0lPMFo1QjtNQTJxQlEsWVBya0NvQjtNT3NrQ3BCLGNBQWMsRUFBQTtFQTVxQnRCO0lBb3JCSSxpQkFBaUIsRUFBQTtFQXByQnJCO0lBeXJCUSx3Q0FBZ0M7WUFBaEMsZ0NBQWdDLEVBQUE7O0FBTXhDO0VBR00sV1BrRndCLEVBQUE7O0FPckY5QjtFQU9JLGtCUCtFaUMsRUFBQTs7QU8zRXJDO0VBQ0U7SUFDRSx1Q1p6c0Q2QjtJWTBzRDdCLGNabHVEYSxFQUFBO0VZb3VEZjtJQUNFLHlCYmx0RGE7SWFtdERiLGNadHVEYSxFQUFBLEVBQUE7O0FZK3REakI7RUFDRTtJQUNFLHVDWnpzRDZCO0lZMHNEN0IsY1psdURhLEVBQUE7RVlvdURmO0lBQ0UseUJibHREYTtJYW10RGIsY1p0dURhLEVBQUEsRUFBQTs7QU82SlQ7RUs2a0RSO0lBSU0sMEJBQWtDLEVBQUEsRUFvQnZDOztBQXhCRDtFQVNJLGNaM3RENkI7RVk0dEQ3QixvQkg1cUQ0RDtFRzZxRDVELGdCUC9zQytCLEVBQUE7O0FPb3NDbkM7RUFTSSxjWjN0RDZCO0VZNHREN0Isb0JINXFENEQ7RUc2cUQ1RCxnQlAvc0MrQixFQUFBOztBT29zQ25DO0VBU0ksY1ozdEQ2QjtFWTR0RDdCLG9CSDVxRDREO0VHNnFENUQsZ0JQL3NDK0IsRUFBQTs7QU9vc0NuQztFQVNJLGNaM3RENkI7RVk0dEQ3QixvQkg1cUQ0RDtFRzZxRDVELGdCUC9zQytCLEVBQUE7O0FPb3NDbkM7RUFTSSxjWjN0RDZCO0VZNHREN0Isb0JINXFENEQ7RUc2cUQ1RCxnQlAvc0MrQixFQUFBOztBTzh0Q25DO0VBRUUsWVAzb0MwQjtFTzRvQzFCLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZO0VBQ1osV0FBVztFQUNYLG1CQUFtQjtFQUVuQixpQkFBaUI7RUFNYixzQmQ1d0RlO0VjK3dEbkIsU0FBUztFQUNULHFDWnBoRG9CO0VZb2hEcEIsNkJacGhEb0IsRUFBQTtFT3BHZDtJS3VtRFI7TUF1QkksV0FBVztNQUNYLDJCUGhFcUMsRUFBQSxFT3VKeEM7RUEvR0Q7SUEyQkkscUJaeHFEVTtJWXlxRFYseUJkaDlDaUU7SWNpOUNqRSxVQUFVLEVBQUE7SUE3QmQ7TUErQlEsY1o1cURNLEVBQUE7SVk2b0RkO01Ba0NRLGNadHlEUztNWXV5RFQsOEJadmlEYztNWXVpRGQsc0JadmlEYyxFQUFBO0VZb2dEdEI7SUF1Q0ksV0FBVztJQUVYLFlQbHJDd0I7SU9vckN0QixlUGpIWTtJT21IZCxjUGhIMEI7SU9pSDFCLHlCWmx6RGE7SVltekRiLG1CQUFtQjtJQUNuQixxQmRwK0NpRTtJY3MrQ2pFLGlCQUFpQjtJQUNqQiw0QmI3eURhO0lhOHlEYixlQUFlO0lBV1gsc0JBQTBHO0lBRzlHLHlDWnJrRGtCO0lZcWtEbEIsaUNacmtEa0IsRUFBQTtJT3BHZDtNS3VtRFI7UUFvRU0sMEJBQWtCO1FBQWxCLHVCQUFrQjtRQUFsQixrQkFBa0I7UUFDbEIsU1AxSU87UU8ySVAsMkJQNUgrQixFQUFBLEVPb0tsQztJQTlHSDtNQTBFUSxZUDNnREU7TU80Z0RGLFdQbkowQjtNT29KMUIsY0FBYztNQUNkLFlBQVk7TUFDWixpQ1o5cUQrQjtNWStxRC9CLGVBQWU7TUFDZiw0QmIxMERTO01hMjBEVCw4QlpwbERjO01Zb2xEZCxzQlpwbERjLEVBQUE7SVltZ0R0QjtNQXNGUSxjWjExRFM7TVkyMURULHFCZDNnRDZEO01jNGdEN0QsdUNibDFEUztNYW0xRFQseUNaN2xEYztNWTZsRGQsaUNaN2xEYyxFQUFBO01Zb2dEdEI7UUE0RlksY1poMkRLLEVBQUE7SVlvd0RqQjtNQW1HTSxjWnYyRFc7TVl3MkRYLHFCZHhoRCtEO01jeWhEL0QseUJidDFEVztNYXUxRFgseUNaMW1EZ0I7TVkwbURoQixpQ1oxbURnQixFQUFBO01Zb2dEdEI7UUF5R1UsY1o3MkRPLEVBQUE7O0FZczNEakI7RUFDRSxXQUFXO0VBQ1gsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixtQ1p6bkRvQjtFWXluRHBCLDJCWnpuRG9CLEVBQUE7RVlxbkR0QjtJQU1JLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIseUJaOTNEYTtJWSszRGIsbUNaL25Ea0I7SVkrbkRsQiwyQlovbkRrQixFQUFBOztBWXFvRHRCO0VBQ0Usb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWEsRUFBQTtFQURmO0lBS0ksNkJaNzREaUIsRUFBQTtJWXc0RHJCO01BT00sY2JsNERXLEVBQUE7SWFvNERiO01BVEo7UUFXUSx5QlpoNURTLEVBQUE7UVlxNERqQjtVQWFVLGNiLzNETyxFQUFBLEVhZzREUjtJQWRUO01Ba0JNLHlCWmo1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RVF3WmIsaUJIK2M0QjtFRzljNUIsb0JDalY0RDtFRGtWNUQsZ0JINEkrQjtFRzNJL0Isa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSdlp5QjtFUTJaN0IscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU9wR2Q7SUtpd0VSO01KMStEWSxzREFBb0UsRUFBQSxFSTYrRC9FO0VML3ZFTztJSzR2RVI7TUp0K0RRLFdJdytEZ1A7TUp2K0RoUCxxREFBa0UsRUFBQSxFSXcrRHpFO0VKbitERztJQUNJO01BQ0ksY1JoY0s7TVFpY0wseUJUOWFLO01TZ2JELHFCVGhiQztNU29iTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUN2NXO0lTaWRQLHFCVGpkTztJU21kWCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwscUJWbkt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFJUSxxQlZoTHlELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0FZa3FFdEI7RUFDRSxXQUFXLEVBQUE7RUFEYjtJQUdJLGlCQUFpQjtJQUNqQixTQUFTO0lBQ1QsVUFBVTtJQUNWLGdCQUFnQjtJQUNoQixnQkFBZ0IsRUFBQTtJQVBwQjtNQVNNLGNibDZFVztNYW02RVgsZ0JBQWdCLEVBQUE7SUFWdEI7TUFjUSxtQkFBbUIsRUFBQTtFQWQzQjtJQW1CSSxtQkg5MkU0RDtJRysyRTVELGVBQWU7SUFDZiw4Qlp2ckVrQjtJWXVyRWxCLHNCWnZyRWtCLEVBQUE7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QlI5TmMsRUFBQTtRUXFPbEI7VUFJUSxjVnpKeUQ7VVU4SnpELHlCUjllSztVUW1mTCxxQlZuS3lEO1VVcUs3RCxtQkFBbUIsRUFBQTtRQU92QjtVQUlRLHFCVmhMeUQsRUFBQTtRVW9MakU7VUFDSSxhQUFhO1VBQ2IsNERSNVA2QztrQlE0UDdDLG9EUjVQNkMsRUFBQTtRUThSakQ7VUFDSSx5Q1J4U2M7VVF3U2QsaUNSeFNjLEVBQUE7TWU4Q3RCO1FQbURJLHFDQUFnQztRQXlCNUIsWU8xQm9MO1FQd0N4TCxvQkExQ2dZO1FBMENoWSxvQkExQ2dZO1FBMENoWSxhQTFDZ1k7UUE0QzVYLHlCQUFtQjtZQUFuQixzQkFBbUI7Z0JBQW5CLG1CQUFtQjtRQUNuQix3QkFBdUI7WUFBdkIscUJBQXVCO2dCQUF2Qix1QkFBdUI7UUFNM0Isa0JBQWtCO1FBQ2xCLGlEQUFrRTtRQUVsRSxnREFBK0M7UUFDL0MsY1IvUlU7UVFnU1YseUJWdkVpRTtRVXdFakUsaUJIK2M0QjtRRzljNUIsb0JDalY0RDtRRGtWNUQsZ0JPekR5SztRUDBEekssa0JBQWtCO1FBQ2xCLG1CQUFtQjtRQUNuQixlQUFlO1FBU1gscUJSN1p3QjtRUWlhNUIscUJBQXFCO1FBQ3JCLGNIMGJ5QjtRR3ZickIsMkJBQW9FO1FBRXhFLGdCQUFnQjtRQUNoQiw0QlJoTGtCO1FRZ0xsQixvQlJoTGtCLEVBQUE7UU9wR2Q7VVFrSlI7WVBxSVksa0RBQW9FLEVBQUEsRU9sRi9EO1FSaE1UO1VRNklSO1lQeUlRLFlPdkZvTDtZUHdGcEwsbURBQWtFLEVBQUEsRU92RnpEO1FQNEZiO1VBQ0k7WUFDSSxjUmhjSztZUWljTCx5QlIxVUU7WVE0VUUscUJSNVVGO1lRZ1ZGLHFCQUFxQjtZQUNyQiw0QlJ4TVU7WVF3TVYsb0JSeE1VLEVBQUE7WVFnTlY7Y0FDSSx5QlJqZEM7Y1FrZEQseUNSbE5NO2NRa05OLGlDUmxOTSxFQUFBLEVRbU5UO1FBR1Q7VUFDSSxjUnZkUztVUXdkVCx5QkhtWjhEO1VHL1kxRCxxQkgrWTBEO1VHN1k5RCw0QlI5TmM7VVE4TmQsb0JSOU5jLEVBQUE7UVFxT2xCO1VBSVEsY1Z6SnlEO1VVOEp6RCx5QlI5ZUs7VVFtZkwscUJWbkt5RDtVVXFLN0QsbUJBQW1CLEVBQUE7UUFPdkI7VUFJUSxxQlZoTHlELEVBQUE7UVVvTGpFO1VBQ0ksYUFBYTtVQUNiLDREUjVQNkM7a0JRNFA3QyxvRFI1UDZDLEVBQUE7UVE4UmpEO1VBQ0kseUNSeFNjO1VRd1NkLGlDUnhTYyxFQUFBO0llOEN0QjtNUG1ESSxxQ0FBZ0M7TUF5QjVCLFlPckJ5SjtNUG1DN0osb0JBMUNnWTtNQTBDaFksb0JBMUNnWTtNQTBDaFksYUExQ2dZO01BNEM1WCx5QkFBbUI7VUFBbkIsc0JBQW1CO2NBQW5CLG1CQUFtQjtNQUNuQix3QkFBdUI7VUFBdkIscUJBQXVCO2NBQXZCLHVCQUF1QjtNQU0zQixrQkFBa0I7TUFDbEIsd0RBQWtFO01BRWxFLGdEQUErQztNQUMvQyxjVDVZYTtNUzZZYix5QlJ2WmE7TVF3WmIsaUJIK2M0QjtNRzljNUIsb0JDalY0RDtNRGtWNUQsZ0JPcEQ4STtNUHFEOUksa0JBQWtCO01BQ2xCLG1CQUFtQjtNQUNuQixlQUFlO01BU1gscUJSN1p3QjtNUWlhNUIscUJBQXFCO01BQ3JCLGNIMGJ5QjtNR3ZickIsMkJBQW9FO01BRXhFLGdCQUFnQjtNQUNoQiw0QlJoTGtCO01RZ0xsQixvQlJoTGtCLEVBQUE7TU8vRmQ7UVE2SVI7VVB5SVEsWU9sRnlKO1VQbUZ6SixzREFBa0UsRUFBQSxFT2xGN0Q7TVB1RlQ7UUFDSTtVQUNJLGNSaGNLO1VRaWNMLHlCUnhib0I7VVEwYmhCLHFCUmhjQztVUW9jTCxxQkFBcUI7VUFDckIsNEJSeE1VO1VRd01WLG9CUnhNVSxFQUFBO1VRZ05WO1lBQ0kseUJSamRDO1lRa2RELHlDUmxOTTtZUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtNQUdUO1FBQ0ksY1J2ZFM7UVF3ZFQseUJUOWNTO1FTa2RMLHFCVGxkSztRU29kVCw0QlI5TmM7UVE4TmQsb0JSOU5jLEVBQUE7TVFxT2xCO1FBSVEsY1Z6SnlEO1FVOEp6RCx5QlI5ZUs7UVFt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QlYsc0JoQi9CVSxFQUFBO0lnQmJ0QjtNQStDWSxxQkFBcUIsRUFBQTtNQS9DakM7UUFpRGdCLGNqQnJQRTtRaUJzUEYsOEJoQnRDTTtRZ0JzQ04sc0JoQnRDTSxFQUFBO0VnQlp0QjtJQWtFWSxZWFJHO0lXU0gsaUNoQm5KMkI7SWdCb0ozQixlWCtpRUc7SVc5aUVILGlDQUFpRDtZQUFqRCx5QkFBaUQ7SUFDakQsaUJBQWlCLEVBQUE7SVR4SnJCO01Ta0ZSO1FBd0VnQixlWDRpRUQsRUFBQSxFVzFpRU47RUExRVQ7SUFpRlksWVh4QkQ7SVd5QkMsaUNoQmxLMkI7SWdCbUszQixlWGdpRUcsRUFBQTtJRXJzRVA7TVNrRlI7UUFxRmdCLGVYK2hFRCxFQUFBLEVXN2hFTjtFQXZGVDtJQThGWSxZWHRDQTtJV3VDQSxpQ2hCL0syQjtJZ0JnTDNCLGVYbWhFRyxFQUFBO0lFcnNFUDtNU2tGUjtRQWtHZ0IsZVhraEVELEVBQUEsRVdoaEVOO0VBcEdUO0lBNEdZLFlYcEVLO0lXcUVMLGlDaEI3TDJCO0lnQjhMM0IsZVhxZ0VHLEVBQUE7SUVyc0VQO01Ta0ZSO1FBZ0hnQixlWG9nRUQsRUFBQSxFV2xnRU47RUFsSFQ7SUFxSGdCLFlYNUVJO0lXNkVKLHVCaEJ4SmtCLEVBQUE7RWdCa0NsQztJQTJIZ0IsWVhqRkU7SVdrRkYsdUJoQjlKa0IsRUFBQTtFZ0JrQ2xDO0lBb0lZLFlYdERHO0lXdURILGlDaEJyTjJCO0lnQnNOM0IsZVhxL0RHLEVBQUE7SUU3c0VQO01Ta0ZSO1FBeUlnQixlWG0vREQsRUFBQSxFV2ovRE47RUEzSVQ7SUE4SVEsa0JBQWtCLEVBQUE7SUE5STFCO01BZ0pZLFlYNkdDO01XNUdELGVYaytERztNV2orREgsaUNoQmxPMkIsRUFBQTs7QWdCd092QztFQUNJLGFBQWE7RUFDYixXQUFXO0VBQ1gsZ0JBQWdCO0VBQ2hCLHlCaEJoWmE7RWdCaVpiLGFYczhENkI7RVdyOEQ3QixtQ2hCakprQjtFZ0JpSmxCLDJCaEJqSmtCLEVBQUE7RU9wR2Q7SVMrT1I7TUFTUSxlQUFlO01BQ2YsTUFBTTtNQUNO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U21pQ1I7UUFpQmdCLGdCQUFnQjtRQUVoQixnQlgraURXLEVBQUEsRVc3aURsQjs7QWxCajdCaUI7RWtCdTdCdEIsWVh1aUR1QixFQUFBOztBRXJtRm5CO0VTZ2tDUjtJQUlRLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IscUJBQXlCO1FBQXpCLGtCQUF5QjtZQUF6Qix5QkFBeUI7SUFFekIsaUJBQWlCLEVBQUEsRUFnYXhCOztBQXZhRDtFQVdZLGdCWHltQ3dCO0VXeG1DeEIsbUNoQjkrQlU7RWdCOCtCViwyQmhCOStCVSxFQUFBO0VPOUZkO0lTZ2tDUjtNQWNnQixpQkFBaUIsRUFBQSxFQUV4Qjs7QUFoQlQ7RUE2QlkseUNqQjV1Q0ssRUFBQTtFaUIrc0NqQjtJQStCZ0IsWVhwK0JJO0lXcStCSix1QmhCaGpDa0I7SWdCaWpDbEIseUJqQmh2Q0M7SWlCa3ZDRyxjaEJyd0NILEVBQUE7RWdCa3VDakI7SUF3Q29CLGNoQjF3Q0g7SWdCMndDRyxnQlgwdER5QixFQUFBO0VXbndEN0M7SUE0Q29CLGNoQjl3Q0gsRUFBQTtFZ0JrdUNqQjtJQWlEb0IsY2hCbnhDSCxFQUFBO0VnQmt1Q2pCO0lBb0RvQixjaEJ0eENILEVBQUE7O0FnQmt1Q2pCO0VBNERvQixZWGpnQ0E7RVdrZ0NBLHVCaEI3a0NjO0VnQjhrQ2QsY2hCL3FDTixFQUFBOztBZ0JpbkNkO0VBbUVZLHlDakJseENLO0VpQm14Q0wsY2pCbnhDSztFaUJveENMLHlCakJweENLLEVBQUE7O0FpQitzQ2pCO0VBd0VZLGdCWDJyRGlDO0VXMXJEakMsY2pCeHhDSyxFQUFBOztBaUIrc0NqQjtFQThFWSx5QmxCaCtCeUQsRUFBQTtFa0JrNUJyRTtJQWdGZ0IsWVhwaENFO0lXcWhDRix1QmhCam1Da0I7SWdCa21DbEIseUJoQjdyQ0Y7SWdCK3JDTSxjaEJ0ekNILEVBQUE7RWdCa3VDakI7SUF5Rm9CLGNoQjN6Q0g7SWdCNHpDRyxnQlh5cUR5QixFQUFBO0VXbndEN0M7SUE2Rm9CLGNoQi96Q0gsRUFBQTtFZ0JrdUNqQjtJQWtHb0IsY2hCcDBD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O0lBMEJZLGdCWHdKK0I7SVd2Si9CLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLHFCWHNKbUM7SVdySm5DLGVBQWU7SUFLWCxnQmxCNXVFSyxFQUFBO0lrQndzRXJCO01BMENnQixjakI3dUVDO01pQjh1RUQsZVgrSXlCO01XOUl6Qiw4QmhCeC9ETTtNZ0J3L0ROLHNCaEJ4L0RNLEVBQUE7SWdCNDhEdEI7TUFnRG9CLGNqQjF1RUg7TWlCMnVFRyw4QmhCOS9ERTtNZ0I4L0RGLHNCaEI5L0RFLEVBQUE7SWdCNjhEdEI7TUFzRG9CLGNqQnh2RUQsRUFBQTtFaUJrc0VuQjtJQTZEZ0IsWVg5OURKO0lXKzlESSxpQ2hCdm1FdUIsRUFBQTtFZ0J5aUV2QztJQTJFZ0IsWVg1L0RDO0lXNi9ERCxpQ2hCcm5FdUIsRUFBQTtFZ0J5aUV2QztJQWtGZ0Isa0JBQWtCO0lBQ2xCLFFBQVE7SUFDUixVQUFNO0lBQ04sa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCx5QmhCcnNFRjtJZ0Jzc0VFLGNqQjN4RUM7SWlCNHhFRCxvQlA5dEVnRDtJTyt0RWhELCtDakIzeUVxQztJaUI0eUVyQyxnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLHlCaEIzc0VGO0lnQjRzRUUsdURoQjFpRU07SWdCMGlFTiwrQ2hCMWlFTSxFQUFBO0VnQjQ4RHRCO0lBcUdvQix5QmhCbHpFSDtJZ0JtekVHLHFCakJoeUVIO0lpQml5RUcsY2pCanlFSDtJaUJreUVHLDJEaEJyakVFO0lnQnFqRUYsbURoQnJqRUUsRUFBQTtFZ0I2OER0QjtJQStHb0IseUJqQmx6RUg7SWlCbXpFRyxjaEI3ekVIO0lnQjh6RUcscUJqQnB6RUgsRUFBQTtFUXdKVDtJUzJpRVI7TUEwSGdCLFFBQVE7TUFDUixrQkFBa0I7TUFDbEIsZ0JBQWdCLEVBQUEsRUFTdkI7RVRockVEO0lTMmlFUjtNQWdJb0IsWVg2REg7TVc1REcsWUFBWTtNQUNaLGlCQUFpQixFQUFBLEVBRXhCO0VB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QTRGZ0IseUJsQjVFQztNa0I2RUQscUJsQjdFQztNa0I4RUQsWVpzOEpzQjtNWXI4SnRCLGdDakI4Sk07TWlCOUpOLHdCakI4Sk0sRUFBQTtJaUI3UHRCO01Ba0dnQix5QmxCM0ZDO01rQjRGRCxxQmxCNUZDLEVBQUE7RWtCUGpCO0lBdUdZLGlCWjI3SmdFLEVBQUE7RVlsaUs1RTtJQTBHWSxXQUFXO0lBQ1gsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFJYixRQUFRLEVBQUE7SVZnRFo7TVUvSlI7UUFpSGdCLHFCbEJrR3NCO1lrQmxHdEIsa0JsQmtHc0I7Z0JrQmxHdEIseUJsQmtHc0IsRUFBQSxFa0JoRzdCOztBQW5IVDtFQXVIUSxTWnl4SmE7RVl4eEpiLFVaMHhKSSxFQUFBO0VFbnZKSjtJVS9KUjtNQTBIWSxVWnl4SkEsRUFBQSxFWXp3SlA7RUExSUw7SUE2SFksY2pCaElLO0lpQmlJTCxvQlJ6RG9EO0lRMERwRCxnQlowa0prQjtJWXprSmxCLG9CWnVrSjJCLEVBQUE7O0FZdnNKdkM7RUE2SVksZ0JBQXdELEVBQUE7RUE3SXBFO0lBK0lnQixjakJsSkM7SWlCbUpELG9CUjNFZ0QsRUFBQTtJUXJFaEU7TUFxSm9CLGNqQnhKSCxFQUFBO01pQkdqQjtRQXVKd0IsY2pCbElTLEVBQUE7SWlCckJqQztNQTJKb0IsY2pCL0lhLEVBQUE7TWlCWmpDO1FBNkp3QixjakIzSVMsRUFBQTtJaUJsQmpDO01Ba0t3QixjbEIzSlA7TWtCNEpPLDhCakIyRkY7TWlCM0ZFLHNCakIyRkYsRUFBQTtJaUI5UHRCO01Bc0t3QixjakJqSlM7TWlCa0pULDhCakJzRkY7TWlCdEZFLHNCakJzRkYsRUFBQTtJaUI3UHRCO01BMEt3QixjakJ4SlMsRUFBQTs7QWlCd0tqQztFQUNJLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IsNEJBQXNCO0VBQXRCLDZCQUFzQjtNQUF0QiwwQkFBc0I7VUFBdEIsc0JBQXNCO0VBQ3RCLFlBQVksRUFBQTtFVjlCUjtJVTJCUjtNQWFRLGlCWnZNYTtNWXdNYixXQUFXO01B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eHJJVCwwQlp3cklTO1lZeHJJVCxzQlp3cklTO0lZdnJJVCxtQkFBZTtRQUFmLGVBQWU7SUFDZixTWmtySU8sRUFBQTtJRXpySlA7TVVnZ0JSO1FBU1ksOEJacXJJRTtRWXJySUYsNkJacXJJRTtZWXJySUYsdUJacXJJRTtnQllycklGLG1CWnFySUU7UVlwcklGLFNaZ3JJRyxFQUFBLEVZdG5JVjtJQXBFTDtNQWFZLGFsQnBlYztNa0JxZWQsY2pCaHJCSztNaUJpckJMLGFab2dJZ0I7TVluZ0loQixnQlpvZ0ltQixFQUFBO0lZcGhJL0I7TUFzQlksVUFBVTtNQUNWLGdCWm1ySTZCO01ZbHJJN0IsY2pCMXJCSztNaUIyckJMLG9CUm5uQm9EO01Rb25CcEQsZ0JaMC9IbUIsRUFBQTtJWXBoSS9CO01BZ0NZLGNqQmxzQkssRUFBQTtNTzZKVDtRVXFnQlI7VUF1Q3dCLGtCQUFrQixFQUFBLEVBQ3JCO01WeGlCYjtRVWdnQlI7VUEyQ29CLFVBQVUsRUFBQSxFQUVqQjtJQTdDYjtNQTZEWSxtQkFBWTtVQUFaLG9CQUFZO2NBQVosWUFBWSxFQUFBOztBQVd4QjtFQUNJLGVabzJIVztFWW4ySFgsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QlpxM0hhO0VZcjNIYiw2QlpxM0hhO01ZcjNIYiwwQlpxM0hhO1VZcjNIYixzQlpxM0hhO0VZOTJIYixTWmkySFE7RVkvMUhKLFVabTJISTtFWWoySFIsNEJabzZIMkI7TVlwNkgzQixpQlpvNkgyQjtVWXA2SDNCLFFabzZIMkIsRUFBQTtFRTEvSXZCO0lVd2tCUjtNQWdCUSxjWnMxSE07TVkxMEhGLFNaZzFIQTtNWTcwSEEsVVppMUhBLEVBQUEsRVk3eUhYO0VBbkVEO0lBb0NRLHVCWjI0SHVDO1FZMzRIdkMsb0JaMjRIdUM7WVkzNEh2QywyQloyNEh1QyxFQUFBO0lZLzZIL0M7TUFzQ1ksdUJaeTRIbUM7VVl6NEhuQyxvQlp5NEhtQztjWXo0SG5DLDJCWnk0SG1DLEVBQUE7RVkvNkgvQztJQTJDUSw0Qlp3MEhXO1FZeDBIWCxpQlp3MEhXO1lZeDBIWCxRWncwSFcsRUFBQTtFWW4zSG5CO0lBK0NRLDRCWnEwSFc7UVlyMEhYLGlCWnEwSFc7WVlyMEhYLFFacTBIVyxFQUFBO0VZcDNIbkI7SUFvRFksNEJaaTBIQztRWWowSEQsaUJaaTBIQztZWWowSEQsUVppMEhDLEVBQUE7O0FZL3lIYjtFQUtRLGdCWnE3SFc7RVlwN0hYLGNqQnR6QlM7RWlCdXpCVCxvQlIvdUJ3RDtFUWd2QnhELGdCWjgzSHVCO0VZNzNIdkIsY0FBYztFQUNkLG9CWiszSDJCLEVBQUE7RUV2aEozQjtJVThvQlI7TUFZWSxhbEJqbkJjLEVBQUEsRWtCbW5CckI7O0FBR0w7RUFDSSxVWjY2SFU7RVl6NkhWLGdCWms3SGUsRUFBQTtFRTNsSlg7SVVvcUJSO01BT1EsVVp3NkhPLEVBQUEsRVk3NUhkO0VWanJCTztJVStwQlI7TUFnQlEsZ0JadzZIVyxFQUFBLEVZdDZIbEI7O0FBRUQ7RUFDSSxnQloyNkhlLEVBQUE7RUUvbEpYO0lVbXJCUjtNQUdRLGdCWjA2SFcsRUFBQSxFWS8zSGxCO0VBOUNEO0lBT1Esb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QlpnNkhTO0lZaDZIVCw2QlpnNkhTO1FZaDZIVCwwQlpnNkhTO1lZaDZIVCxzQlpnNkhTLEVBQUE7SVl4NkhqQjtNQWVZLGdCWmk2SE8sRUFBQTtNWWg3SG5CO1FBaUJnQiw2QmpCejJCSyxFQUFBO01PcUtiO1FVbXJCUjtVQW9CZ0IsZ0JaNjVIRyxFQUFBLEVZcjRIVjtNQTVDVDtRQXVCZ0IsZVpzMEhDO1FZcjBIRCxjakI3MkJDO1FpQjgyQkQsZVJ0eUJnRCxFQUFBO1FGMEZ4RDtVVW1yQlI7WUEyQm9CLFVabTBIUixFQUFBLEVZbnpIQztRQTNDYjtVQThCb0IsY2pCbjNCSCxFQUFBO1FpQnExQmpCO1VBaUNvQixjakJ0M0JILEVBQUE7O0FpQnE0QmpCO0VBQ0ksV0FBVztFQUNYLGNBQWM7RUFDZCxrQlp1NEhvQztFWXQ0SHBDLHlCbEIvM0JhO0VrQmc0QmIsY2pCMTRCYTtFaUIyNEJiLGtCQUFrQjtFQUNsQixtQlJwMEI0RDtFUXEwQjVELGdCWnk0SGtDO0VZeDRIbEMsZ0JuQno0QmlCO0VtQjA0QmpCLHFEakI5b0JrQjtFaUI4b0JsQiw2Q2pCOW9Ca0IsRUFBQTtFT3BHZDtJVXd1QlI7TUFZUSwwQkFBa0I7TUFBbEIsdUJBQWtCO01BQWxCLGtCQUFrQixFQUFBLEVBU3pCO0VBckJEO0lBZVEseUJsQmo0QlM7SWtCazRCVCx5Q2pCcnBCYztJaUJxcEJkLGlDakJycEJjLEVBQUE7RWlCcW9CdEI7SUFtQlEseUJsQno0QlcsRUFBQTs7QWtCNjRCbkI7RUFXWSxhQUFhLEVBQUE7O0FBWHpCO0VBY1ksY0FBYyxFQUFBO0VWeHdCbEI7SVUwdkJSO01BZ0JnQixnQkFBZ0IsRUFBQSxFQUV2Qjs7QUFsQlQ7RUFxQlEsYUFBYSxFQUFBOztBQUlyQjtFVG5sQkkscUNBQWdDO0VBdUI1QixXSGs3SU87RUdsNklYLG9CUzZpQjBYO0VUN2lCMVgsb0JTNmlCMFg7RVQ3aUIxWCxhUzZpQjBYO0VUM2lCdFgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLDRDQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1J0WmE7RVF1WmIseUJUN1lhO0VTOFliLGlCSCtjNEI7RUc5YzVCLGVDalY0RDtFRGtWNUQsZ0JIKzRJc0M7RUc5NEl0QyxrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlQ1WlM7RVNnYWIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCO0VRMFFkOzs7Ozs7OztTWjJ4UUMsRVlueFFDO0VEalhGO0lVbXhCUjtNVDdmUSwwQkhvM0ljO01HcDNJZCx1QkhvM0ljO01HcDNJZCxrQkhvM0ljO01HbjNJZCw0Q0FBa0UsRUFBQSxFUzhmekU7RVR6Zkc7SUFDSTtNQUNJLGNSaGNLO01RaWNMLHlCVDlhSztNU2diRCxxQlRoYkM7TVNvYkwscUJBQXFCO01BQ3JCLDRCUnhNVTtNUXdNVixvQlJ4TVUsRUFBQTtNUTBNTjtRQUNDLGNSM2NBO1FRNGNBLDhCUjVNSztRUTRNTCxzQlI1TUssRUFBQTtNUWdOVjtRQUNJLHlCUmpkQztRUWtkRCx5Q1JsTk07UVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7RUFHVDtJQUNJLGNSdmRTO0lRd2RULHlCVDdjVztJUytjUCxxQlQvY087SVNtZFgsNEJSOU5jO0lROE5kLG9CUjlOYyxFQUFBO0lRZ09WO01BQ0MsY1JqZUksRUFBQTtFUXFlYjtJQUlRLGNWekp5RDtJVThKekQseUJSOWVLO0lRbWZMLHFCVm5LeUQ7SVVxSzdELG1CQUFtQixFQUFBO0lBRWY7TUFDQyxjVnhLd0QsRUFBQTtFVTRLakU7SUFJUSxxQlZoTHlELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUWlSN0M7SUFDSSxZSHpORjtJRzBORSxrQkhveElVO0lHbnhJVixpQ1IxWDJCO0lRMlgzQixlSHF4SUU7SUdoeElGLGNScGlCSztJUXFpQkwsOEJScFNVO0lRb1NWLHNCUnBTVSxFQUFBO0VRdVNsQjtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QWlCd3JCdEI7RUFDSSxnQlowNEhlLEVBQUE7RUVscUpYO0lVdXhCUjtNQUdRLGdCWnk0SFcsRUFBQSxFWTN3SGxCO0VBaklEO0lBWVEsZ0JacXlIVztJWXB5SFgsY2pCdDhCUztJaUJ1OEJULG9CUi8zQndEO0lRZzRCeEQsZ0JaOHVIdUI7SVk3dUh2QixjQUFjO0lBQ2Qsb0JaK3VIMkIsRUFBQTtJRXZoSjNCO01VdXhCUjtRQW1CWSxhbEJqd0JjLEVBQUEsRWtCbXdCckI7RUFyQkw7SUF3QlEsY2pCajlCUztJaUJrOUJULFNBQVM7SUFDVCxzQmxCN3dCYTtJa0I4d0JiLG9CUjU0QndEO0lRNjRCeEQsZ0JadXZIc0I7SVl0dkh0QixnQlpqOEJpQjtJWWs4QmpCLG9CWm12SCtCLEVBQUE7SUV4aUovQjtNVXV4QlI7UUFp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d1NkLGlDUnhTYyxFQUFBO0VvQnRRdEI7SVo2bEJJLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2Isd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUIsRUFBQTtJQUNuQjtNQUNJLFlIOVJVO01HK1JWLGlDUnpiK0I7TVEwYi9CLGVINE5RO01HMU5KLGNSN2xCSztNUWltQlQsc0RSbldjO01RbVdkLDhDUm5XYztNUW1XZCxzQ1JuV2M7TVFtV2QsOERSbldjLEVBQUE7SVFzV2Q7TUFHUSxjVGhtQkM7TVNvbUJMLGdDQUF3QjtjQUF4Qix3QkFBd0I7TUFDeEIsc0RSL1dVO01RK1dWLDhDUi9XVTtNUStXVixzQ1IvV1U7TVErV1YsOERSL1dVLEVBQUE7SVFtWGQ7TUFDSSxjVGptQks7TVNrbUJMLDhDUnJYVTtNUXFYVixzQ1JyWFUsRUFBQTtFb0JyUXRCO0laMGtFSSx5QlZydkRpRTtJVXN2RGpFLHlCUi84RFU7SVFpOUROLGdCVm5rRWEsRUFBQTtJVXNrRWI7TUFDSSxZSHB5REQsRUFBTztJR3d5RFY7TUFDSSxjUjE5REUsRUFBQTtJUSs5RE47TUFDSSxZSC95REQ7TUdnekRDLGNSaitERSxFQUFBO0lRbytEVjtNQUNJLGNScitETSxFQUFBO0VvQjVIZDtJWjBrRUkseUJWcnZEaUU7SVVzdkRqRSx5QlIvOERVO0lRaTlETixnQlZua0VhLEVBQUE7SVVza0ViO01BQ0ksWUhweURELEVBQU87SUd3eURWO01BQ0ksY1IxOURFLEVBQUE7SVErOUROO01BQ0ksWUgveUREO01HZ3pEQyxjUmorREUsRUFBQTtJUW8rRFY7TUFDSSxjUnIrRE0sRUFBQTtFb0I1SGQ7SVp1V0kscUNBQWdDO0lBdUI1QixXWXVXa0w7SVp2VnRMLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1IvUlU7SVFnU1YseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsb0JDalY0RDtJRGtWNUQsZ0JZc1VpSztJWnJVakssa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVo2YlEsWVl3U2dNO1FadlNoTSxzREFBa0UsRUFBQSxFWXdTakU7SVpuU0w7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUjFVRTtRUTRVRSxxQlI1VUY7UVFnVkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCSG1aOEQ7TUcvWTFELHFCSCtZMEQ7TUc3WTlELDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFb0J0UXRCO0lacW1FSSx5QlZoeERpRTtJVWl4RGpFLHlCUmgvRFU7SVFrL0ROLGdCVjlsRWEsRUFBQTtJVWltRWI7TUFDSSxZSGgwREMsRUFBTztJR28wRFo7TUFDSSxjUjMvREUsRUFBQTtJUWdnRU47TUFDSSxZSDMwREM7TUc0MERELGNSbGdFRSxFQUFBO0lRcWdFVjtNQUNJLGNSdGdFTSxFQUFBO0VvQnRIZDtJWnFtRUkseUJWaHhEaUU7SVVpeERqRSx5QlJoL0RVO0lRay9ETixnQlY5bEVhLEVBQUE7SVVpbUViO01BQ0ksWUhoMERDLEVBQU87SUdvMERaO01BQ0ksY1IzL0RFLEVBQUE7SVFnZ0VOO01BQ0ksWUgzMERDO01HNDBERCxjUmxnRUUsRUFBQTtJUXFnRVY7TUFDSSxjUnRnRU0sRUFBQTtFb0J0SGQ7SVp1V0kscUNBQWdDO0lBdUI1QixXWXFYa0w7SVpyV3RMLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1IvUlU7SVFnU1YseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsb0JDalY0RDtJRGtWNUQsZ0JZb1ZpSztJWm5Wakssa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVo2YlEsWVlzVGdNO1FaclRoTSxzREFBa0UsRUFBQSxFWXNUakU7SVpqVEw7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUjFVRTtRUTRVRSxxQlI1VUY7UVFnVkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCSG1aOEQ7TUcvWTFELHFCSCtZMEQ7TUc3WTlELDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFb0J0UXRCO0lacW1FSSx5QlZoeERpRTtJVWl4RGpFLHlCUmgvRFU7SVFrL0ROLGdCVjlsRWEsRUFBQTtJVWltRWI7TUFDSSxZSGgwREMsRUFBTztJR28wRFo7TUFDSSxjUjMvREUsRUFBQTtJUWdnRU47TUFDSSxZSDMwREM7TUc0MERELGNSbGdFRSxFQUFBO0lRcWdFVjtNQUNJLGNSdGdFTSxFQUFBO0VvQnRIZDtJWnFtRUkseUJWaHhEaUU7SVVpeERqRSx5QlJoL0RVO0lRay9ETixnQlY5bEVhLEVBQUE7SVVpbUViO01BQ0ksWUhoMERDLEVBQU87SUdvMERaO01BQ0ksY1IzL0RFLEVBQUE7SVFnZ0VOO01BQ0ksWUgzMERDO01HNDBERCxjUmxnRUUsRUFBQTtJUXFnRVY7TUFDSSxjUnRnRU0sRUFBQTtFb0J0SGQ7SVp1V0kscUNBQWdDO0lBdUI1QixXWW9Zc007SVpwWDFNLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1Q1WWE7SVM2WWIseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsb0JDalY0RDtJRGtWNUQsZ0JZbVdxTDtJWmxXckwsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVo2YlEsWVlxVW9OO1FacFVwTixzREFBa0UsRUFBQSxFWXFVakU7SVpoVUw7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUnRWRTtRUXdWRSxxQlJ4VkY7UVE0VkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUVJLHlCSG1aOEQ7TUcvWTFELHFCSCtZMEQ7TUc3WTlELDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFb0J0UXRCO0laZ29FSSx5QlYzeURpRTtJVTR5RGpFLHlCUmpoRVU7SVFtaEVOLGdCVnpuRWEsRUFBQTtJVTRuRVo7TUFDRyxZSDUxREMsRUFBTztJR2cyRFo7TUFDSSxjUjVoRUUsRUFBQTtJUWlpRU47TUFDSSxZSHYyREM7TUd3MkRELGNSbmlFRSxFQUFBO0lRc2lFVjtNQUNJLGNSdmlFTSxFQUFBO0VvQmhIZDtJWmdvRUkseUJWM3lEaUU7SVU0eURqRSx5QlJqaEVVO0lRbWhFTixnQlZ6bkVhLEVBQUE7SVU0bkVaO01BQ0csWUg1MURDLEVBQU87SUdnMkRaO01BQ0ksY1I1aEVFLEVBQUE7SVFpaUVOO01BQ0ksWUh2MkRDO01HdzJERCxjUm5pRUUsRUFBQTtJUXNpRVY7TUFDSSxjUnZpRU0sRUFBQTtFb0JoSGQ7SVp1V0kscUNBQWdDO0lBdUI1QixXWWlac007SVpqWTFNLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1Q1WWE7SVM2WWIseUJWdkVpRTtJVXdFakUsaUJIK2M0QjtJRzljNUIsb0JDalY0RDtJRGtWNUQsZ0JZZ1hxTDtJWi9Xckwsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCLEVBQUE7SU8vRmQ7TWF2S1I7UVo2YlEsWVlrVm9OO1FaalZwTixzREFBa0UsRUFBQSxFWWtWakU7SVo3VUw7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCUnRWRTtRUXdWRSxxQlJ4VkY7UVE0VkYscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUVJLHlCSG1aOEQ7TUcvWTFELHFCSCtZMEQ7TUc3WTlELDRCUjlOYztNUThOZCxvQlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFb0J0UXRCO0lBdXhCWSxrQkFBa0IsRUFBQTtJYmhuQnRCO01hdktSO1FBeXhCZ0Isb0JBQW9CLEVBQUEsRUErQjNCO0lBeHpCVDtNQTR4QmdCLG1CQUFtQjtNQUNuQixjdEJ4Y3FEO01zQnljckQsbUJYanRCZ0Q7TVdrdEJoRCxnQkFBZ0I7TUFDaEIseUJBQXlCLEVBQUE7TWJ6bkJqQztRYXZLUjtVQWt5Qm9CLG1CQUFtQixFQUFBLEVBRTFCO0lBcHlCYjtNQXN5QmdCLG1CQUFtQjtNQUNuQixjckJ4eEJDO01xQnl4QkQsbUJYM3RCZ0Q7TVc0dEJoRCxnQkFBZ0IsRUFBQTtJQXp5QmhDO01BNHlCZ0IsbUJBQW1CO01BQ25CLFVBQVU7TUFDVixtQlhqdUJnRDtNV2t1QmhELGdCQUFnQixFQUFBO01ieG9CeEI7UWF2S1I7VUFrekJvQixlQUFlLEVBQUEsRUFFdEI7SUFwekJiO01Bc3pCZ0IsY3BCOXlCQyxFQUFBO0VvQlJqQjtJQTB6QlksV0FBVztJQUNYLGtCQUFrQixFQUFBO0licHBCdEI7TWF2S1I7UUE2ekJnQixnQkFBZ0IsRUFBQSxFQUV2QjtFQS96QlQ7SUFpMEJZLFlBQVk7SUFDWixhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhO0lBQ2IseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFDdkIsbUJBQW1CLEVBQUE7RUF2MEIvQjtJQTAwQlksa0JBQWtCO0lBQ2xCLG9CQUFhO0lBQWIsb0JBQWE7SUFBYixhQUFhLEVBQUE7SUEzMEJ6QjtNQTYwQmdCLFlmNWlCQztNZTZpQkQsaUNwQnJxQnVCO01vQnNxQnZCLGVBQWU7TUFDZixjckJqMEJDLEVBQUE7RXFCZmpCO0lBbzFCWSxrQkFBa0IsRUFBQTtJQXAxQjlCO01BczFCZ0IsWWZoaEJQO01laWhCTyxpQ3BCOXFCdUI7TW9CK3FCdkIsZ0JBQWdCO01BQ2hCLGN0QnBnQnFELEVBQUE7RXNCclZyRTtJWnVXSSxxQ0FBZ0M7SUF5QjVCLFlZOGRnTTtJWmhkcE0sb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsaURBQWtFO0lBRWxFLGdEQUErQztJQUMvQyxjVDVZYTtJUzZZYix5QlZ2RWlFO0lVd0VqRSxpQkgrYzRCO0lHOWM1QixvQkNqVjREO0lEa1Y1RCxnQlkrYnFMO0laOWJyTCxrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGVBQWU7SUFTWCxxQlI3WndCO0lRaWE1QixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0IsRUFBQTtJTy9GZDtNYXZLUjtRWjZiUSxZWWlhZ007UVpoYWhNLHNEQUFrRSxFQUFBLEVZaWFqRTtJWjVaTDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJSdFZFO1FRd1ZFLHFCUnhWRjtRUTRWRixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BRUkseUJIbVo4RDtNRy9ZMUQscUJIK1kwRDtNRzdZOUQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBO0VvQnRRdEI7SVp1V0kscUNBQWdDO0lBeUI1QixZWWllcUo7SVpuZHpKLG9CQTFDZ1k7SUEwQ2hZLG9CQTFDZ1k7SUEwQ2hZLGFBMUNnWTtJQTRDNVgseUJBQW1CO1FBQW5CLHNCQUFtQjtZQUFuQixtQkFBbUI7SUFDbkIsd0JBQXVCO1FBQXZCLHFCQUF1QjtZQUF2Qix1QkFBdUI7SUFNM0Isa0JBQWtCO0lBQ2xCLGlEQUFrRTtJQUVsRSxnREFBK0M7SUFDL0MsY1Q1WWE7SVM2WWIseUJSdlphO0lRd1piLGlCSCtjNEI7SUc5YzVCLG9CQ2pWNEQ7SURrVjVELGdCWWtjMEk7SVpqYzFJLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVNYLHFCUjdad0I7SVFpYTVCLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01hdktSO1FaNmJRLFlZb2FxSjtRWm5hckosc0RBQWtFLEVBQUEsRVlvYWpFO0laL1pMO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlJ4Ym9CO1FRMGJoQixxQlJoY0M7UVFvY0wscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUNJLGNSdmRTO01Rd2RULHlCVDljUztNU2tkTCxxQlRsZEs7TVNvZFQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUlRLGNWekp5RDtNVThKekQseUJSOWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO0lBT3ZCO01BSVEscUJWaEx5RCxFQUFBO0lVb0xqRTtNQUNJLGFBQWE7TUFDYiw0RFI1UDZDO2NRNFA3QyxvRFI1UDZDLEVBQUE7SVE4UmpEO01BQ0kseUNSeFNjO01Rd1NkLGlDUnhTYyxFQUFBOztBb0JpbUJ0QjtFQUNJLFdBQVc7RUFFWCxZZnpCVztFZTBCWCx5QnRCdGhCaUUsRUFBQTtFUzlLN0Q7SWFnc0JSO01BTVEsc0JmM0JpQixFQUFBLEVlcUZ4QjtFQWhFRDtJQVdRLGVBQWU7SUFDZixXZmhQUTtJZWlQUixpQmY3T1csRUFBQTtJRWhlWDtNYWdzQlI7UUFlWSxnQkFBZ0I7UUFDaEIsWWZuUE07UWVvUE4saUJmaFBPLEVBQUEsRWV3UWQ7SUF6Q0w7TUFxQlksV0FBVztNQUNYLGNBQWM7TUFDZCxlZnh3QlE7TWV5d0JSLGdCQUFnQjtNQUNoQixjcEIzM0JLO01vQjQzQkwseUJyQmozQk87TXFCazNCUCxnQmZweUJLO01lcXlCTCxtQlh0ekJvRDtNV3V6QnBELGtCZi9Rd0I7TWVnUnhCLG9CZjd6Qk0sRUFB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ZDVDTDtJYy9CUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWQ1Q0w7SWMvQlI7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkNUNMO0ljL0JSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkdkNMO0ljcENSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VkdkNMO0ljcENSO01BeUVvQixnREFBK0QsRUFBQSxFQUV0RTtFZHZDTDtJY3BDUjtNQXlFb0IsZ0RBQStELEVBQUEsRUFFdEU7RWR2Q0w7SWNwQ1I7TUF5RW9CLGdEQUErRCxFQUFBLEVBRXRFO0VBM0ViO0lBMkZ3QixpQmhCdTlEUDtJZ0JyOURXLGtCaEJxOURYLEVBQUE7RUU5Z0VUO0ljcENSO01BNkc0QixpQmhCeE9QO01nQjBPVyxrQmhCMU9YLEVBQUEsRWdCNE9JO0VBakh6QjtJQTJGd0IsZ0JoQnc5RFI7SWdCdDlEWSxpQmhCczlEWixFQUFBO0VFL2dFUjtJY3BDUjtNQTZHNEIsZ0JoQmc5RFo7TWdCOThEZ0IsaUJoQjg4RGhCLEVBQUEsRWdCNThEUztFQWpIekI7SUEyRndCLGdCaEJ5OURSO0lnQnY5RFksaUJoQnU5RFosRUFBQTtFRWhoRVI7SWNwQ1I7TUE2RzRCLGdCaEJpOURaO01nQi84RGdCLGlCaEIrOERoQixFQUFBLEVnQjc4RFM7RUFqSHpCO0lBMkZ3QixnQmhCMDlEUjtJZ0J4OURZLGlCaEJ3OURaLEVBQUE7RUVqaEVSO0ljcENSO01BNkc0QixnQmhCazlEWjtNZ0JoOURnQixpQmhCZzlEaEIsRUFBQSxFZ0I5OERTO0VBakh6QjtJQTJGd0IsZ0JoQjI5RFI7SWdCejlEWSxpQmhCeTlEWixFQUFBO0VFbGhFUjtJY3BDUjtNQTZHNEIsZ0JoQm05RFo7TWdCajlEZ0IsaUJoQmk5RGhCLEVBQUEsRWdCLzhEUztFQWpIekI7SUEyRndCLGdCaEI0OURSO0lnQjE5RFksaUJoQjA5RFosRUFBQTtFRW5oRVI7SWNwQ1I7TUE2RzRCLGdCaEJvOURaO01nQmw5RGdCLGlCaEJrOURoQixFQUFBLEVnQmg5RFM7RUFqSHpCO0lBMkZ3QixnQmhCNjlEUjtJZ0IzOURZLGlCaEIyOURaLEVBQUE7RUVwaEVSO0ljcENSO01BNkc0QixnQmhCcTlEWjtNZ0JuOURnQixpQmhCbTlEaEIsRUFBQSxFZ0JqOURTO0VBakh6QjtJQTJGd0IsZ0JoQjg5RFI7SWdCNTlEWSxpQmhCNDlEWixFQUFBO0VFcmhFUjtJY3BDUjtNQTZHNEIsZ0JoQnM5RFo7TWdCcDlEZ0IsaUJoQm85RGhCLEVBQUEsRWdCbDlEUztFQWpIekI7SUF1SWdCLHlCdEIzUEM7SXNCNFBELDZCckJ6UUs7SXFCMFFMLDREckJOTTtJcUJNTixvRHJCTk0sRUFBQTtJcUJuSXRCO01BNkl3QixjckIzUVA7TXFCNFFPLDhCckJYRjtNcUJXRSxzQnJCWEYsRUFBQTtJcUJuSXRCO01Ba0pvQix5QnJCaFJIO01xQmlSRyxxQnRCdlFIO01zQndRRyw0RHJCbEJFO01xQmtCRixvRHJCbEJFLEVBQUE7TXFCbEl0QjtRQXVKNEIsY3RCM1FYO1FzQjRRVyw4QnJCdEJOO1FxQnNCTSxzQnJCdEJOLEVBQUE7RXFCbEl0QjtJQStLZ0IsZ0J2QnhTSztJdUIwU1Q7OzthekI2Z1ZDO0l5QnpnVkQsZ0JBQWdCO0lBRVosZ0NyQnBETTtJcUJvRE4sd0JyQnBETSxFQUFBO0VxQm5JdEI7SUFrTW9CLFloQmkyRGU7SWdCaDJEZixnQ3JCakVFO0lxQmlFRix3QnJCakVFLEVBQUE7RU9uR2Q7SWMvQlI7TUFzTmdCLHlCQUE2QjtVQUE3Qiw2QkFBNkIsRUFBQTtJQXRON0M7TUF5TmdCLFdBQVcsRUFBQSxFQUNkOztBQU1iO0VBRVEsK0JBQXdFLEVBQUE7RWRuTXhFO0ljaU1SO01BS1ksK0JBQXlFLEVBQUEsRUFTaEY7RWQxTUc7SWM0TFI7TUFRWSwrQkFB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NTZCVztJRzg2QlAsZUh0NkJFO0lHdzZCTixvQkN0MUV3RDtJRHUxRXhELGdCSGw4Qkc7SUdtOEJILGtCSDM3Qk07SUcrN0JOLGNUajVFUztJU2s1RVQsZ0JIaDVFaUIsRUFBQTtJR281RWpCO01BQ0ksYUFBYSxFQUFBO0lBRWpCO01BQ0ksU0FBUyxFQUFBO0VBR2pCO0lBQ0ksbUJIbDhCVztJR284QlAsaUJINTdCSTtJRzg3QlIsbUJDNzJFd0Q7SUQ4MkV4RCxnQkh4OUJHO0lHeTlCSCxrQkhqOUJNO0lHcTlCTixjVGo3RVM7SVNrN0VULGdCSHY2RWlCLEVBQUE7SUcyNkVqQjtNQUNJLGFBQWEsRUFBQTtJQUVqQjtNQUNJLFNBQVMsRUFBQTtFQUdqQjtJQUNJLG1CSHg5Qlc7SUc0OUJYLG1CQ3A0RXdEO0lEcTRFeEQsZ0JIOStCRztJRysrQkgsa0JIditCTTtJRzIrQk4sY1IvOEVTO0lRZzlFVCxnQkg5N0VpQixFQUFBO0lHazhFakI7TUFDSSxhQUFhLEVBQUE7SUFFakI7TUFDSSxTQUFTLEVBQUE7RUFHakI7SUFDSSxjSDkrQk07SUdrL0JOLG9CQzM1RXdEO0lENDVFeEQsZ0JIcGdDRztJR3FnQ0gsa0JINy9CTTtJR2lnQ04sY1J0K0VTO0lRdStFVCxnQkhyOUVpQixFQUFBO0lHeTlFakI7TUFDSSxhQUFhLEVBQUE7SUFFakI7TUFDSSxTQUFTLEVBQUE7RUFLakI7SUFDSSwrQkFBbUQ7SUFDbkQsb0JDajdFd0Q7SURrN0V4RCxnQkh2K0J1QjtJR3crQnZCLGdCSHQrRWlCO0lHdStFakIsY1J6L0VTLEVBQUE7SVE0L0VUO01BQ0ksd0JBQXdCLEVBQUE7SUFHNUI7TUFDSSx3QkFBd0IsRUFBQTtJQUU1QjtNQUNJLGNBQWMsRUFBQTtJQUVsQjtNQUNJLGFIOWpDcUI7TUcrakNyQixnQkgvakNxQixFQUFBO0VHNGtDN0I7SUFFSSxnQkFBZ0IsRUFBQTtFQUVwQjtJQUNJLFlIdi9CYztJR3cvQmQsVUFBVTtJQUNWLGdCSDFnRmlCO0lHNGlDckIsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFQUFBO0lBKzlDYjtN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QlksNEJyQmh4Q1U7SXFCZ3hDVixvQnJCaHhDVSxFQUFBO0lxQm92Q3RCO01BOEJnQiw0QnJCbnhDTTtNcUJteENOLG9CckJueENNLEVBQUE7O0FxQjB4Q3RCO0VBSVkscUVBQXNFLEVBQUE7O0FBSmxGO0VBWVkscUVBQXNFO0VBQ3RFLHdDQUF3RDtFQUN4RCx5RHJCL3hDc0M7VXFCK3hDdEMsaURyQi94Q3NDO0VxQmd5Q3RDLGdCQUFnQjtFQUNoQixzQ3JCenlDVTtFcUJ5eUNWLDhCckJ6eUNVLEVBQUE7RXFCeXhDdEI7SUFtQmdCLFdBQVc7SUFDWCxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixjQUFjO0lBQ2Qsd0NBQXdEO0lBQ3hELCtEckIxeUNrQztZcUIweUNsQyx1RHJCMXlDa0M7SXFCMnlDbEMsc0NyQm56Q007SXFCbXpDTiw4QnJCbnpDTSxFQUFBOztBcUJ5eEN0QjtFQWdDb0IsVUFBVTtFQUNWLGtEQUFrRTtFQUNsRSxzQ3JCNXpDRTtFcUI0ekNGLDhCckI1ekNFLEVBQUE7RXFCMHhDdEI7SUFvQ3dCLGtEQUFrRTtJQUNsRSxzQ3JCL3pDRjtJcUIrekNFLDhCckIvekNGLEVBQUE7O0FxQjB4Q3RCO0VBNkNnQixVQUFVO0VBQ1Ysa0RBQWtFO0VBQ2xFLHNDckJ6MENNO0VxQnkwQ04sOEJyQnowQ00sRUFBQTtFcUIweEN0QjtJQWlEb0Isb0RBQW9FO0lBQ3BFLHNDckI1MENFO0lxQjQwQ0YsOEJyQjUwQ0UsRUFBQTs7QXFCMHhDdEI7RUEyRFksNkJyQnhsRFM7RXFCeWxEVCw0RHJCNTBDeUM7VXFCNDBDekMsb0RyQjUwQ3lDO0VxQjYwQ3pDLDhEckJ0MUNVO0VxQnMxQ1Ysc0RyQnQxQ1U7RXFCczFDViw4Q3JCdDFDVTtFcUJzMUNWLHVFckJ0MUNVLEVBQUE7RXFCeXhDdEI7SUErRGdCLHFCckJubERDO0lxQm9sREQsd0JBQWdCO1lBQWhCLGdCQUFnQjtJQUNoQiw4RHJCMzFDTTtJcUIyMUNOLHNEckIzMUNNO0lxQjIxQ04sOENyQjMxQ007SXFCMjFDTix1RXJCMzFDTSxFQUFB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RUFBQTs7QWtCOTJHbkM7RUF5RWdCLHFCQUFxQjtFQUVyQixpQ3ZCd0d1QjtFdUJ2R3ZCLGtCQUFrQixFQUFBOztBQTVFbEM7RUFxRlksWWxCd1FEO0VrQnZRQyxjeEIzRE87RXdCNERQLGVsQit3RzRCLEVBQUE7O0FrQnQyR3hDO0VBMEZZLGN4Qi9ETyxFQUFBOztBd0IzQm5CO0VBaUdZLFlsQjJQRDtFa0IxUEMsOEJ4QmhFSztFd0JpRUwsZWxCbXdHNEIsRUFBQTs7QWtCdDJHeEM7RUFzR1ksOEJ4QnBFSyxFQUFBOztBd0JsQ2pCO0VBeUdZLGN4QmhGSyxFQUFBOztBd0J6QmpCO0VBK0dZLFlsQjRPRDtFa0IzT0MsY3pCK095RDtFeUI5T3pELGVsQnF2RzRCLEVBQUE7O0FrQnQyR3hDO0VBb0hZLGN6QjJPeUQsRUFBQTs7QXlCL1ZyRTtFQTJIZ0IsY3hCekZDLEVBQUE7O0F3QmxDakI7RUFnSWdCLGN4QnZHQyxFQUFBOztBd0J6QmpCO0VBcUlnQixZbEJ5TmE7RWtCeE5iLGlCQUFpQjtFQUNqQixjekJ3TnFEO0V5QnZOckQsbUN2QjRDMkI7RXVCM0MzQixlbEJrdkd3QixFQUFBOztBa0IzM0d4QztFQStJZ0IsWWxCZ05lLEVBQU87O0FrQi9WdEM7RUFxSmdCLGVBQWUsRUFBQTs7QUFySi9CO0VBd0pnQixpQ3ZCMkJ1QjtFdUIxQnZCLGN4QmhJQyxFQUFBOztBd0J6QmpCO0VBOEpRLDhCQUFtQjtFQUFuQiw2QkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG1CQUFtQixFQUFBOztBQTlKM0I7RUFpS1EsZ0JBQWdCLEVBQUE7O0FBSXhCO0VBQ0ksY3ZCcEphO0V1QnFKYixtQmRoRjREO0VjaUY1RCxrQmxCc3NHK0I7RWtCcnNHL0IsZ0JsQjJyR3dCLEVBQUE7RWtCL3JHNUI7SUFNUSxZbEJnTWE7SWtCL0xiLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsZWxCK3NHNEI7SWtCOXNHNUIsdUJ2QmtEMEIsRUFBQTs7QXVCM0NsQztFQUNJLGtCQUFrQixFQUFBO0VoQlhkO0lnQlVSO01BSVEsb0JBQW1CLEVB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QlI5TmMsRUFBQTtJUXFPbEI7TUFJUSxjVnpKeUQ7TVU4SnpELHlCUjllSztNUW1mTCxxQlZuS3lEO01VcUs3RCxtQkFBbUIsRUFBQTtJQU92QjtNQUlRLHFCVmhMeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lROFJqRDtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFMEJnRXRCO0lsQmlDSSxxQ0FBZ0M7SUF5QjVCLFdrQk95SztJbEJPN0ssb0JBMUNnWTtJQTBDaFksb0JBMUNnWTtJQTBDaFksYUExQ2dZO0lBNEM1WCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLDJDQUErQztJQUMvQyxjUnRaYTtJUXVaYix5QlJwVVU7SVFxVVYsaUJIK2M0QjtJRzljNUIsa0JDalY0RDtJRGtWNUQsZ0JBOUNxQjtJQStDckIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBV1gscUJSbGFTO0lRb2FiLHFCQUFxQjtJQUNyQixjSDBieUI7SUd2YnJCLDJCQUFvRTtJQUV4RSxnQkFBZ0I7SUFDaEIsNEJSaExrQjtJUWdMbEIsb0JSaExrQixFQUFBO0lPL0ZkO01tQitKUjtRbEJ1SFEsV2tCdER5SztRbEJ1RHpLLDRDQUFrRSxFQUFBLEVrQnREakU7SWxCMkRMO01BQ0k7UUFDSSxjUmhjSztRUWljTCx5QlJ6YXFCO1FRNmFqQixxQlI3YWlCO1FRK2FyQixxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJUN2NXO01TaWRQLHFCVGpkTztNU21kWCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7SVFxT2xCO01BSVEsY1Z6SnlEO01VOEp6RCx5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M0JUO0lsQjVESSxxQ0FBZ0M7SUF1QjVCLFdrQitFOE07SWxCakVsTixnQmtCaUVzUTtJbEJoRXRRLFlrQmdFb1A7SWxCL0RwUCxvQmtCK0RtUztJbEIvRG5TLG9Ca0IrRG1TO0lsQi9EblMsYWtCK0RtUztJbEI3RC9SLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQiw0Q0FBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUNVlhO0lTNlliLHlCUnZaYTtJUXdaYixpQkgrYzRCO0lHOWM1QixrQkNqVjREO0lEa1Y1RCxnQkhra0g2QjtJR2prSDdCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVdYLHFCUmxhUztJUW9hYixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0I7SVEwUWQ7Ozs7Ozs7O1NabTVjQztJOEJyOWNELG1CQUFtQixFQUFBO0luQnZTbkI7TW1CNFBSO1FsQjBCUSwwQmtCZ0JrTztRbEJoQmxPLHVCa0JnQmtPO1FsQmhCbE8sa0JrQmdCa087UWxCZmxPLDRDQUFrRSxFQUFBLEVrQmlCckU7SWxCWkQ7TUFDSTtRQUNJLGNSaGNLO1FRaWNMLHlCVDlhSztRU2tiRCxxQlRsYkM7UVNvYkwscUJBQXFCO1FBQ3JCLDRCUnhNVTtRUXdNVixvQlJ4TVUsRUFBQTtRUTBNTjtVQUNDLGNSM2NBO1VRNGNBLDhCUjVNSztVUTRNTCxzQlI1TUssRUFBQTtRUWdOVjtVQUNJLHlCUmpkQztVUWtkRCx5Q1JsTk07VVFrTk4saUNSbE5NLEVBQUEsRVFtTlQ7SUFHVDtNQUVJLHlCVDljUztNU2tkTCxxQlRsZEs7TVNvZFQsNEJSOU5jO01ROE5kLG9CUjlOYyxFQUFBO0lRcU9sQjtNQUVRLGNSM2RxQjtNUWdlckIseUJSNWVLO01RbWZMLHFCVm5LeUQ7TVVxSzdELG1CQUFtQixFQUFBO01BRWY7UUFDQyxjVnhLd0QsRUFBQTtJVTRLakU7TUFJUSxxQlZoTHlELEVBQUE7SVVvTGpFO01BQ0ksYUFBYTtNQUNiLDREUjVQNkM7Y1E0UDdDLG9EUjVQNkMsRUFBQTtJUWlSN0M7TUFDSSxZSHpQQTtNRzBQQSxrQmtCOUZrQjtNbEIrRmxCLGlDUjFYMkI7TVEyWDNCLGVIKzlHbUQ7TUcxOUduRCxjUnhoQnFCO01ReWhCckIsOEJScFNVO01Rb1NWLHNCUnBTVSxFQUFBO0lRdVNsQjtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTtFMEI2SnRCO0lsQjVESSxxQ0FBZ0M7SUF1QjVCLFdrQitGeUs7SWxCakY3SyxnQmtCaUZpTztJbEJoRmpPLFlrQmdGK007SWxCL0UvTSxvQmtCK0U4UDtJbEIvRTlQLG9Ca0IrRThQO0lsQi9FOVAsYWtCK0U4UDtJbEI3RTFQLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBTTNCLGtCQUFrQjtJQUNsQiw0Q0FBa0U7SUFFbEUsZ0RBQStDO0lBQy9DLGNUNVlhO0lTNlliLHlCUnZaYTtJUXdaYixpQkgrYzRCO0lHOWM1QixrQkNqVjREO0lEa1Y1RCxnQkhra0g2QjtJR2prSDdCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQVdYLHFCUmxhUztJUW9hYixxQkFBcUI7SUFDckIsY0gwYnlCO0lHdmJyQiwyQkFBb0U7SUFFeEUsZ0JBQWdCO0lBQ2hCLDRCUmhMa0I7SVFnTGxCLG9CUmhMa0I7SVEwUWQ7Ozs7Ozs7O1NaZytjQztJOEJsaGRELG1CQUFtQixFQUFBO0luQnZUbkI7TW1CNFBSO1FsQjBCUSwwQmtCZ0M2TDtRbEJoQzdMLHVCa0JnQzZMO1FsQmhDN0wsa0JrQmdDNkw7UWxCL0I3TCw0Q0FBa0UsRUFBQSxFa0JpQ3JFO0lsQjVCRDtNQUNJO1FBQ0ksY1JoY0s7UVFpY0wseUJUOWFLO1FTa2JELHFCVGxiQztRU29iTCxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhN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LHlCUnZaYTtFUXdaYixpQkgrYzRCO0VHOWM1QixlQ2pWNEQ7RURrVjVELGdCSG1jZTtFR2xjZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBQ25CLGVBQWU7RUFTWCxxQlI3WndCO0VRaWE1QixxQkFBcUI7RUFDckIsY0gwYnlCO0VHdmJyQiwyQkFBb0U7RUFFeEUsZ0JBQWdCO0VBQ2hCLDRCUmhMa0I7RVFnTGxCLG9CUmhMa0IsRUFBQTtFTy9GZDtJb0JpcUNSO01uQjM0QlEsMEJtQjQ0QjBPO01uQjU0QjFPLHVCbUI0NEIwTztNbkI1NEIxTyxrQm1CNDRCME87TW5CMzRCMU8sNENBQWtFLEVBQUEsRW1CNDRCekU7RW5CdjRCRztJQUNJO01BQ0ksY1R0Yks7TVN1YkwseUJIaWN3RDtNRy9icEQscUJUemJDO01TNmJMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlQ5Y1M7SVNnZEwscUJUaGRLO0lTb2RULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QU8vRmQ7RW9Cc3FDUjtJQUdZLFdBQVcsRUFBQSxFQUVsQjs7QXBCM3FDRztFb0JzcUNSO0lBUVksVUFBVSxFQUFBLEVBRWpCOztBcEJockNHO0VvQnNxQ1I7SUFhWSxXQUFXLEVBQUEsRUFFbEI7O0FwQnJyQ0c7RW9Cc3FDUjtJQWtCWSxZQUFZLEVBQUEsRUFFbkI7O0FwQjFyQ0c7RW9Cc3FDUjtJQXVCWSxZQUFZLEVBQUEsRUFFbkI7O0FwQi9yQ0c7RW9Cc3FDUjtJQTRC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cUJpWFI7TUFRUSw4QkFBbUI7TUFBbkIsNkJBQW1CO1VBQW5CLHVCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsY0FBYztNQUNkLGdCQUFnQixFQUFBLEVBc0N2QjtFQWhERDtJQWNRLGM3QnZoQlM7STZCd2hCVCxvQm5CMWR3RDtJbUIyZHhELGdCdkJ5eEY4QjtJdUJ4eEY5QixvQnZCeXhGa0MsRUFBQTtFdUIxeUYxQztJcEJqTEkscUNBQWdDO0lBdUI1QixXb0JtTWtRO0lwQm5MdFEsb0JvQm1MbVM7SXBCbkxuUyxvQm9CbUxtUztJcEJuTG5TLGFvQm1MbVM7SXBCakwvUix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLHFEQUErQztJQUMvQyxjVDFZZTtJUzJZZix5QlJ2WmE7SVF3WmIsaUJIK2M0QjtJRzljNUIsZUNqVjREO0lEa1Y1RCxnQkhtY2U7SUdsY2Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCO0lRMFFkOzs7Ozs7OztTWnU4aEJDLEVZLzdoQkM7SURqWEY7TXFCaVhSO1FwQjNGUSwwQm9Cb0k4TztRcEJwSTlPLHVCb0JvSThPO1FwQnBJOU8sa0JvQm9JOE87UXBCbkk5Tyw0Q0FBa0UsRUFBQSxFb0JvSWpFO0lwQi9ITDtNQUNJO1FBQ0ksY1R0Yks7UVN1YkwseUJUamJPO1FTbWJILHFCVHpiQztRUzZiTCxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRME1OO1VBQ0MsY1RqY0E7VVNrY0EsOEJSNU1LO1VRNE1MLHNCUjVNSyxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJUcmNTO01TdWNMLHFCVGhkSztNU29kVCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7TVFnT1Y7UUFDQyxjUmplSSxFQUFBO0lRcWViO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFpZkwscUJWakt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7TUFFZjtRQUNDLGNWeEt3RCxFQUFBO0lVNEtqRTtNQUVRLHFCVjlLeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lRaVI3QztNQUNJLFlINVFGO01HNlFFLGtCb0Jja0I7TXBCYmxCLGlDUjFYMkI7TVEyWDNCLGVIMHlGMEI7TUdyeUYxQixjVHhoQk87TVN5aEJQLDhCUnBTVTtNUW9TVixzQlJwU1UsRUFBQTtJUXVTbEI7TUFDSSx5Q1J4U2M7TVF3U2QsaUNSeFNjLEVBQUE7RTRCa1J0QjtJcEJqTEkscUNBQWdDO0lBdUI1QixXb0J1TWtRO0lwQnZMdFEsb0JvQnVMbVM7SXBCdkxuUyxvQm9CdUxtUztJcEJ2TG5TLGFvQnVMbVM7SXBCckwvUix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQU0zQixrQkFBa0I7SUFDbEIsNENBQWtFO0lBRWxFLHFEQUErQztJQUMvQyxjVDFZZTtJUzJZZix5QlJ2WmE7SVF3WmIsaUJIK2M0QjtJRzljNUIsZUNqVjREO0lEa1Y1RCxnQkhtY2U7SUdsY2Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixlQUFlO0lBU1gscUJSN1p3QjtJUWlhNUIscUJBQXFCO0lBQ3JCLGNIMGJ5QjtJR3ZickIsMkJBQW9FO0lBRXhFLGdCQUFnQjtJQUNoQiw0QlJoTGtCO0lRZ0xsQixvQlJoTGtCO0lRMFFkOzs7Ozs7OztTWm9oaUJDLEVZNWdpQkM7SURqWEY7TXFCaVhSO1FwQjNGUSwwQm9Cd0k4TztRcEJ4STlPLHVCb0J3SThPO1FwQnhJOU8sa0JvQndJOE87UXBCdkk5Tyw0Q0FBa0UsRUFBQSxFb0J3SWpFO0lwQm5JTDtNQUNJO1FBQ0ksY1R0Yks7UVN1YkwseUJUamJPO1FTbWJILHFCVHpiQztRUzZiTCxxQkFBcUI7UUFDckIsNEJSeE1VO1FRd01WLG9CUnhNVSxFQUFBO1FRME1OO1VBQ0MsY1RqY0E7VVNrY0EsOEJSNU1LO1VRNE1MLHNCUjVNSyxFQUFBO1FRZ05WO1VBQ0kseUJSamRDO1VRa2RELHlDUmxOTTtVUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtJQUdUO01BQ0ksY1J2ZFM7TVF3ZFQseUJUcmNTO01TdWNMLHFCVGhkSztNU29kVCw0QlI5TmM7TVE4TmQsb0JSOU5jLEVBQUE7TVFnT1Y7UUFDQyxjUmplSSxFQUFBO0lRcWViO01BSVEsY1Z6SnlEO01VOEp6RCx5QlI5ZUs7TVFpZkwscUJWakt5RDtNVXFLN0QsbUJBQW1CLEVBQUE7TUFFZjtRQUNDLGNWeEt3RCxFQUFBO0lVNEtqRTtNQUVRLHFCVjlLeUQsRUFBQTtJVW9MakU7TUFDSSxhQUFhO01BQ2IsNERSNVA2QztjUTRQN0Msb0RSNVA2QyxFQUFBO0lRaVI3QztNQUNJLFlIOVFEO01HK1FDLGtCb0J1QmtCO01wQnRCbEIsaUNSMVgyQjtNUTJYM0IsZUgweUYwQjtNR3J5RjFCLGNUeGhCTztNU3loQlAsOEJScFNVO01Rb1NWLHNCUnBTVSxFQUFBO0lRdVNsQjtNQUNJLHlDUnhTYztNUXdTZCxpQ1J4U2MsRUFBQTs7QTRCb1V0QjtFcEJuT0kscUNBQWdDO0VBeUI1QixZb0IyTWlOO0VwQjdMck4sb0JBMUNnWTtFQTBDaFksb0JBMUNnWTtFQTBDaFksYUExQ2dZO0VBNEM1WCx5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQU0zQixrQkFBa0I7RUFDbEIsaURBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjVDVZYTtFUzZZYix5QlJ2WmE7RVF3WmIsaUJIK2M0QjtFRzljNUIsZUNqVjREO0VEa1Y1RCxnQkhtY2U7RUdsY2Ysa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCLEVBQUE7RU9wR2Q7SXFCd2FSO01wQmpKWSxrREFBb0UsRUFBQSxFb0JtSi9FO0VyQnJhTztJcUJtYVI7TXBCN0lRLFlvQjhJaU47TXBCN0lqTixtREFBa0UsRUFBQSxFb0I4SXpFO0VwQnpJRztJQUNJO01BQ0ksY1R0Yks7TVN1YkwseUJIaWN3RDtNRy9icEQscUJUemJDO01TNmJMLHFCQUFxQjtNQUNyQiw0QlJ4TVU7TVF3TVYsb0JSeE1VLEVBQUE7TVFnTlY7UUFDSSx5QlJqZEM7UVFrZEQseUNSbE5NO1FRa05OLGlDUmxOTSxFQUFBLEVRbU5UO0VBR1Q7SUFDSSxjUnZkUztJUXdkVCx5QlQ5Y1M7SVNnZEwscUJUaGRLO0lTb2RULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QTRCeVV0QjtFQUNJLGdCQUFnQixFQUFBO0VBRHBCO0lBR1EsU0FBUztJQUNULFVBQVUsRUFBQTtJQUpsQjtNQU1ZLGVBQWUsRUFBQTtFQU4zQjtJQVlnQix1QkFBdUI7SUFDdkIsbUJBQW1CO0lBQ25CLHFCNUI1a0JpQjtJNEI2a0JqQiw4RDVCeFZNO0k0QndWTixzRDVCeFZNO0k0QndWTiw4QzVCeFZNO0k0QndWTix1RTVCeFZNLEVBQUE7STRCeVV0QjtNQWtCb0IsZUFBZSxFQUFBO0lBbEJuQztNQXNCb0IseUI1Qm5tQkMsRUFBQTtJNEI2a0JyQjtNQXlCb0IsNEQ1QnpWaUM7YzRCeVZqQyxvRDVCelZpQztNNEIwVmpDLDJDNUJwV0U7TTRCb1dGLG1DNUJwV0U7TTRCb1dGLDJCNUJwV0U7TTRCb1dGLG9ENUJwV0UsRUFBQTtNNEIwVXRCO1FBNEJ3QixxQjdCNWxCUDtRNkI2bEJPLHFDNUJ2V0Y7UTRCdVdFLDZCNUJ2V0YsRUFBQTtFNEIwVXRCO0lBb0NRLGdCQUFnQjtJQUNoQiwyQzVCOVdjO0k0QjhXZCxtQzVCOVdjO0k0QjhXZCwyQjVCOVdjO0k0QjhXZCxvRDVCOVdjLEVBQUE7STRCeVV0QjtNQXdDZ0Isa0JBQWtCO01BQ2xCLG9CQUFhO01BQWIsb0JBQWE7TUFBYixhQUFhO01BQ2IseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUI7TUFDbkIsa0JuQjdpQmdEO01tQjhpQmhELGdCdkI4bEhpQjtNdUI3bEhqQixjN0I3bUJDLEVBQUE7TTZCZ2tCakI7UUErQ29CLFl2QjNXVDtRdUI2V1MscUJBQXFCO1FBQ3JCLHFCQUFxQjtRQUNyQixpQzVCemRtQjtRNEIwZG5CLGM1QmxuQmE7UTRCbW5CYixlQUFlO1FBQ2YscUM1Qi9YRTtRNEIrWEYsNkI1Qi9YRSxFQUFBO0k0QnlVdEI7TUEwRGdCLGlCQUFpQixFQUFBO0lBMURqQztNQTZEZ0IsY0FBYyxFQUFBO01BN0Q5QjtRQStEb0IsZW5CamtCNEM7UW1Ca2tCNUMsZ0JBQWdCO1FBQ2hCLGM1QnhvQkgsRUFBQTtFNEJ1a0JqQjtJQTBFWSxjN0Jqb0JLO0k2QmtvQkwsOEI1QnJaVTtJNEJxWlYsc0I1QnJaVSxFQUFBO0U0QjBVdEI7SUE4RVksYzdCN29CTztJNkI4b0JQLDhCNUJ4WlU7STRCd1pWLHNCNUJ4WlUsRUFBQTs7QXFCa090QjtFTzZMUSwyQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLG9CQUFvQjtFQUNwQix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixnQnZCODRCZ0I7RXVCNzRCaEIsVXZCODRCVTtFdUI3NEJWLGVuQjVsQndEO0VtQjZsQnhELGdCdkJpNUJtQjtFdUJoNUJuQixrQnZCaTVCcUI7RXVCaDVCckIsYzdCN3BCUztFNkI4cEJULHFCdkJ3NkJTO0V1QnY2QlQsNkI1QjVxQmE7RTRCNnFCYiw2QjVCN3FCYTtFNEI4cUJiLG9CdkI2NEJ1QjtFdUI1NEJ2Qix3RDVCM2FjO0U0QjJhZCxnRDVCM2FjLEVBQUE7RTRCNlp0QjtJQWdCWSxjN0IzcEJLO0k2QjRwQkwsMEJ2Qms2QnlDO0l1Qmo2QnpDLHlCNUJuckJTO0k0Qm9yQlQsNkI1QnByQlM7STRCcXJCVCw4RDVCbGJVO0k0QmtiVixzRDVCbGJVLEVBQUE7RTRCOFp0QjtJQXVCWSxjN0IxcUJPO0k2QjJxQlAsNkI1QnpyQlMsRUFBQTs7QTRCK3JCckI7RXBCMVZJLHFDQUFnQztFQXlCNUIsWW9Ca1VpTjtFcEJwVHJOLG9CQTFDZ1k7RUEwQ2hZLG9CQTFDZ1k7RUEwQ2hZLGFBMUNnWTtFQTRDNVgseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFNM0Isa0JBQWtCO0VBQ2xCLGlEQUFrRTtFQUVsRSxnREFBK0M7RUFDL0MsY1Q1WWE7RVM2WWIseUJSdlphO0VRd1piLGlCSCtjNEI7RUc5YzVCLGVDalY0RDtFRGtWNUQsZ0JIbWNlO0VHbGNmLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQVNYLHFCUjdad0I7RVFpYTVCLHFCQUFxQjtFQUNyQixjSDBieUI7RUd2YnJCLDJCQUFvRTtFQUV4RSxnQkFBZ0I7RUFDaEIsNEJSaExrQjtFUWdMbEIsb0JSaExrQixFQUFBO0VPcEdkO0lxQitoQlI7TXBCeFFZLGtEQUFvRSxFQUFBLEVvQjBRL0U7RXJCNWhCTztJcUIwaEJSO01wQnBRUSxZb0JxUWlOO01wQnBRak4sbURBQWtFLEVBQUEsRW9CcVF6RTtFcEJoUUc7SUFDSTtNQUNJLGNUdGJLO01TdWJMLHlCSGljd0Q7TUcvYnBELHFCVHpiQztNUzZiTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUOWNTO0lTZ2RMLHFCVGhkSztJU29kVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7RVFxT2xCO0lBRVEsY1Z2SnlEO0lVNEp6RCx5QlI1ZUs7SVFpZkwscUJWakt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7RUFPdkI7SUFFUSxxQlY5S3lELEVBQUE7RVVvTGpFO0lBQ0ksYUFBYTtJQUNiLDREUjVQNkM7WVE0UDdDLG9EUjVQNkMsRUFBQTtFUThSakQ7SUFDSSx5Q1J4U2M7SVF3U2QsaUNSeFNjLEVBQUE7O0E0QmljdEI7RUFDSSxtQkFBbUIsRUFBQTtFQUR2QjtJQUdRLG9CbkI3bkJ3RCxFQUFBOztBbUJrb0JoRTtFQUVRLGV2QnlHUyxFQUFBO0VFbnBCVDtJcUJ3aUJSO01BSVksZXZCd0dLLEVBQUEsRXVCdEdaOztBcEJncEREO0VBQ0ksbUJIcjNCVztFR3kzQlgsb0JDN3hFd0Q7RUQ4eEV4RCxnQkgzNEJHO0VHNDRCSCxrQkhwNEJNO0VHdzRCTixjVGoyRVM7RVNrMkVULGdCSHYxRWlCO0VHdzFFakIsNkJBQTZCLEVBQUE7RUFPN0I7SUFDSSxhQUFhLEVBQUE7RUFFakI7SUFDSSxTQUFTLEVBQUE7O0FBSWpCO0VBQ0ksbUJIaDVCVztFR281QlgsZUN6ekV3RDtFRDB6RXhELGdCSHQ2Qkc7RUd1NkJILGtCSC81Qk07RUdtNkJOLGNUNzNFUztFUzgzRVQsZ0JIbjNFaUIsRUFBQTtFRzAzRWpCO0lBQ0ksYUFBYSxFQUFBO0VBRWpCO0lBQ0ksU0FBUyxFQUFBOztBQUdqQjtFQUlJLG1CSDU2Qlc7RUc4NkJQLGVIdDZCRTtFR3c2Qk4sb0JDdDFFd0Q7RUR1MUV4RCxnQkhsOEJHO0VHbThCSCxrQkgzN0JNO0VHKzdCTixjVGo1RVM7RVNrNUVULGdCSGg1RWlCLEVBQUE7RUdvNUVqQjtJQUNJLGFBQWEsRUFBQTtFQUVqQjtJQUNJLFNBQVMsRUFBQTs7QUFHakI7RUFDSSxtQkhsOEJXO0VHbzhCUCxp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LGNBQWMsRUFBQSxFQUVyQjtFQXpDVDtJckJtQlEsV0FBVztJQUlmLGNBQWM7SUFDZCxrQkFSd0U7SUFTeEUsZUFBVztJQUNYLGdCQVZtRDtJQVduRCxrQkFBa0I7SUFDbEIsY1JyTGE7SVFzTGIseUJSMUs2QjtJUTRLN0IsNkJSM0xpQjtJUTRMakIscUJBQXFCO0lBQ3JCLDRCUnNFa0I7SVF0RWxCLG9CUnNFa0IsRUFBQTtJUXJFbEI7TUFDSSx5QlJoTHlCO01RaUx6Qix1Q1RuTFM7TVNvTFQsY1JsTHlCO01RbUx6Qiw0QlJrRWM7TVFsRWQsb0JSa0VjLEVBQUE7SVFoRWxCO01BQ0ksYUFBYTtNQUNiLHlCUnRNYTtNUXVNYiw0RFJzRTZDO2NRdEU3QyxvRFJzRTZDLEVBQUE7RTZCakhyRDtJckJtQlEsV0FBVztJQUlmLGNBQWM7SUFDZCxrQkFSd0U7SUFTeEUsZUFBVztJQUNYLGdCQVZtRDtJQVduRCxrQkFBa0I7SUFDbEIsY1JyTGE7SVFzTGIseUJUNUthO0lTOEtiLDZCUjNMaUI7SVE0TGpCLHFCQUFxQjtJQUNyQiw0QlJzRWtCO0lRdEVsQixvQlJzRWtCLEVBQUE7SVFyRWxCO01BQ0kseUJUbExTO01TbUxULHVDVG5MUztNU29MVCxjVHBMUztNU3FMVCw0QlJrRWM7TVFsRWQsb0JSa0VjLEVBQUE7SVFoRWxCO01BQ0ksYUFBYTtNQUNiLHlCUnRNYTtNUXVNYiw0RFJzRTZDO2NRdEU3QyxvRFJzRTZDLEVBQUE7RTZCakhyRDtJckJtQlEsV0FBVztJQUlmLGNBQWM7SUFDZCxrQkFSd0U7SUFTeEUsZUFBVztJQUNYLGdCQVZtRDtJQVduRCxrQkFBa0I7SUFDbEIsY1JyTGE7SVFzTGIseUJUNUthO0lTOEtiLDZCUjNMaUI7SVE0TGpCLHFCQUFxQjtJQUNyQiw0QlJzRWtCO0lRdEVsQixvQlJzRWtCO0k2QnBEZCxZQUFZLEVBQUE7SXJCakJoQjtNQUNJLHlCVGxMUztNU21MVCx1Q1RuTFM7TVNvTFQsY1RwTFM7TVNxTFQsNEJSa0VjO01RbEVkLG9CUmtFYyxFQUFBO0lRaEVsQjtNQUNJLGFBQWE7TUFD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QTtJUStuRGxCO01BQ0kscUJUdjNEUztNU3czRFQscUNSbG9EYztNUWtvRGQsNkJSbG9EYyxFQUFBO0VpQy9RdEI7SXpCdTNESSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLFlBQVk7SUFDWiwyQ1IxbURrQjtJUTBtRGxCLG1DUjFtRGtCO0lRMG1EbEIsMkJSMW1Ea0I7SVEwbURsQixvRFIxbURrQixFQUFBO0lRa25EZDtNQUNJLDREUjFtRHlDO2NRMG1EekMsb0RSMW1EeUM7TVEybUR6QywyQ1JybkRVO01RcW5EVixtQ1JybkRVO01RcW5EViwyQlJybkRVO01RcW5EVixvRFJybkRVLEVBQUE7RWlDL1F0QjtJQWVZLFlBQVksRUFBQTtFQWZ4QjtJQXFCWSw4QkFBOEI7SUFDOUIsMkJBQTJCLEVBQUE7RTFCc0ovQjtJMEI1S1I7TUE0QlEscUJBQWdCLEVBQUEsRUFLdkI7RTFCZ0pPO0kwQmpMUjtNQStCUSxxQkFBZ0IsRUFBQSxFQUV2Qjs7QXJDbWptQkQ7RVk5eWlCd0IsV0FBVyxFQUFBOztBRHJuRDNCO0VYdTZsQk47SVk5eWlCMEIsV0FBVyxFQUFBLEVBRWxCOztBRDNuRGI7RVgyNmxCTjtJWXZ5aUJjLG9CQUFvQixFQUFBLEVBRTNCOztBRHRvREQ7RVgrNmxCTjtJWXJ5aUJrQixjQUFtQztJQUNuQyxvQkFBb0IsRUFBQSxFQUUzQjs7QUQ3b0RMO0VYbzdsQk47SVlweWlCa0IsY0FBbUMsRUFBQSxFQUcxQzs7QURucERMO0VYdzdsQk47SVlseWlCa0IsY0FBbUMsRUFBQSxFQUcxQzs7QUR6cERMO0VYNDdsQk47SVloeWlCa0IsY0FBbUMsRUFBQSxFQUcxQzs7QUQvcERMO0VYZzhsQk47SVk5eGlCa0IsY0FBbUMsRUFBQSxFQUcxQzs7QURycURMO0VYbzhsQk47SVkxeGlCYyxjQUFtQyxFQUFBLEVBRzFDOztBRDdxREQ7RVh3OGxCTjtJWXh4aUJjLHVCQUF1QixFQUFBLEVBRzlCOztBRG5yREQ7RVg0OGxCTjtJWXR4aUJjLGNBQW1DLEVBQUEsRUFHMUM7O0FEenJERDtFWGc5bEJOO0lZcHhpQmMsdUJB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WXBpa0JVLGtCVGp3Q1k7SVNrd0NaLGlCVGx3Q1ksRUFBQTtJSHd5bUJwQjtNWW5pa0JZLGNBQWMsRUFBQTtFWnFpa0I1QjtJWS9oa0JVLGVBQWUsRUFBQTtFWmlpa0J6QjtJWTloa0JVLGtCVDl3Q1k7SVMrd0NaLGlCVC93Q1ksRUFBQTtJSCt5bUJwQjtNWTloa0JZLG1CQUFtQixFQUFBO0VaZ2lrQmpDO0lZNWhrQlUsa0JUcnhDWTtJU3N4Q1osaUJUdHhDWSxFQUFBO0VIb3ptQnRCO0lZMWhrQlUsZ0JBQWdCO0lBQ2hCLGlCVDN4Q1k7SVM0eENaLGdCSHl2QmdCLEVBQUE7SVRteWlCeEI7TVkxaGtCWSxhQUFhLEVBQUE7SVo0aGtCekI7TVl6aGtCWSxzQkhvdkJZO1VHcHZCWixtQkhvdkJZO2NHcHZCWixxQkhvdkJZLEVBQUE7SVR1eWlCeEI7TVl4aGtCWSwyQkFBcUI7VUFBckIsd0JBQXFCO2NBQXJCLHFCQUFxQjtNQUVqQix1QkFBMkI7VUFBM0Isb0JBQTJCO2NBQTNCLDJCQUEyQixFQUFBO0VaeWhrQjdDO0lZbGhrQlUsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix1Qkh1d0JTO1FHdndCVCxvQkh1d0JTO1lHdndCVCwyQkh1d0JTO0lHdHdCVCx5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixtQkFBZTtRQUFmLGVBQWU7SUFDZixTQUFTO0lBQ1QsbUJING5CcUIsRUFBQTtJRWo4RHpCO01YMDFtQkY7UVluaGtCVSx1Qkhrd0JLO1lHbHdCTCxvQkhrd0JLO2dCR2x3QkwsMkJIa3dCSztRR2p3QkwsUUFBUSxFQUFBLEVBRWY7RVptaGtCUDtJWWhoa0JVLGdCQUFnQixFQUFBO0Vaa2hrQjFCO0lZOWdrQlUsVUhnd0JpQjtJRy92QmpCLG1CSCttQnFCLEVBQUE7RVRpNmlCL0I7SVk1Z2tCYyxZQUFZLEVBQUE7RVo4Z2tCMUI7SVl4Z2tCYyxjVHAvQ0M7SVNxL0NELDBCQUFzRTtJQUN0RSw4QlJod0NNO0lRZ3dDTixzQlJod0NNLEVBQUE7RUowd21CcEI7SVlyZ2tCYyxjVGwvQ0MsRUFBQTtFSHkvbUJmO0lZMy9qQlUsNkJScGhEUyxFQUFBO0VKaWhuQm5CO0lZMS9qQlUsb0JIa2pCeUI7SUdqakJ6Qix5QlJyaERLLEVBQUE7SUppaG5CYjtNWTEvakJZLHFCQUFnRixFQUFBO0laNC9qQjVGO01Zei9qQlksY0FBYyxFQUFBO0laMi9qQjFCO01ZdC9qQlksZ0JUMTJDUSxFQUFBO01IazJtQmxCO1FZcC9qQmMsVUFBVSxFQUFBO0Vacy9qQjVCO0lZcnFqQlUsNERSMW1EeUM7WVEwbUR6QyxvRFIxbUR5QztJUTJtRHpDLDJDUnJuRFU7SVFxbkRWLG1DUnJuRFU7SVFxbkRWLDJCUnJuRFU7SVFxbkRWLG9EUnJuRFUsRUFBQTs7QUo2eG1CdEI7RVluL2pCUSxXQUFXLEVBQUE7O0Facy9qQm5CO0VZbC9qQlEsV0FBVztFQUtYLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2Isd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFDdkIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUI7RUFDbkIsY1Q5M0NTLEVBQUE7RVF0QlQ7SVhxNG1CSjtNWTUrakJRLFNUbDRDQSxFQUFBLEVTeTRDUDtFWnUrakJIO0lZMStqQlUsb0JBQWM7UUFBZCxjQUFjLEVBQUE7O0FaNitqQjFCO0VZeCtqQlEsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEIsa0JUajVDZ0I7RVNrNUNoQixpQlRsNUNnQixFQUFBO0VINDNtQnRCO0lZeCtqQlUsY1J0a0RLO0lRdWtETCxnQkgwcEJrQztJR3pwQmxDLG1CQ25nRG9ELEVBQUE7RWI2K21COUQ7SVl2K2pCVSxpQkhxL0RtRTtJR3AvRG5FLGNSNWtESztJUTZrREwsbUJDeGdEb0QsRUFBQTs7QWJrL21CaEU7RVl0K2pCUSxpREFBa0Q7RUFDbEQsK0NUemxENkM7RVMwbEQ3QyxvQkM5Z0R3RDtFRCtnRHhELGdCQUFnQjtFQUNoQix5QkFBeUI7RUFDekIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQiw4QlIxMUNjO0VRMDFDZCxzQlIxMUNjLEVBQUE7RUprMG1CcEI7SVlyK2pCVSx3Q0FBd0M7SUFDeEMsMEJBQTBCO0lBQzFCLDhCUmgyQ1U7SVFnMkNWLHNCUmgyQ1UsRUFBQTs7QUp3MG1CdEI7RVlwNmpCUSxjUjVvRHlCO0VRNm9EekIsb0JDN2xEd0Q7RUQ4bER4RCxnQkh1aUJzQztFR3RpQnRDLGdCVDUrQ2dDLEVBQUE7RUhrNW1CdEM7SVlwNmpCVSxjVC9wREs7SVNncURMLDBCQUEwQixFQUFBO0VaczZqQnBDO0lZbjZqQlUsY1QxcERLLEVBQUE7O0FIZ2tuQmpCO0VZOStqQlEsY1I3a0R5QjtFUThrRHpCLG9CQzloRHdEO0VEK2hEeEQsZ0JINm1CZ0M7RUc1bUJoQyxnQlQ3NkNnQztFUzg2Q2hDLG9CSHNtQm9DO0VHcm1CcEMsOEJSejJDYztFUXkyQ2Qsc0JSejJDYyxFQUFBO0VKeTFtQnBCO0lZOStqQlUsU0FBUztJQUNULFVBQVUsRUFBQTs7QVppL2pCdEI7RVk3K2pCUSxjUnpsRHlCLEVBQUE7O0FKeWtuQmpDO0VZNStqQlksU0FBUztFQUNULFVBQVUsRUFBQTs7QVorK2pCdEI7RVkzK2pCUSxjUnZuRFM7RVF3bkRULG9CQ25qRHdELEVBQUE7O0FGcUZ4RDtFWDY4bUJOO0lZOTFsQmMsYUFBYSxFQUFBLEVBT3BCOztBRHRuQkQ7RVhpOW1CTjtJWTkxbEJrQixjQUFjLEVBQUEsRUFFckI7O0FaKzFsQmI7RVkxMWxCUSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUN0QixtQkFBWTtNQUFaLG9CQUFZO1VBQVosWUFBWTtFQUNaLG1CQ2x0QndELEVBQUE7RWI4aW5COUQ7SVkxMWxCVSxTQUFTO0lBSUwsZ0JIem1CTyxFQUFBO0VUazhtQnJCO0lZcjFsQlUsV0FBVztJQUVYLDJCQUFvQjtJQUFwQiwyQkFBb0I7SUFBcEIsb0JBQW9CO0lBQ3BCLDJCQUFxQjtRQUFyQix3QkFBcUI7WUFBckIscUJBQXFCO0lBQ3JCLGdCSDJpRlc7SUcxaUZYLGdCVDltQjRCLEVBQUE7SUhvOG1CcEM7TVloMWxCWSxtQkFBZTtVQUFmLGVBQWUsRUFBQTtJWmsxbEIzQjtNWS8wbEJZLGNSL3lCQztNUWd6QkQsZ0JINW5CTyxFQUFBO01UNjhtQmpCO1FZMTBsQmMsaUJBQWlCLEVBQUE7TVo0MGxCL0I7UVl6MGxCYyxXQUFXO1FBRVgsa0JBQWtCO1FBQ2xCLGlCQUFpQixFQUFBO1FEbnFCN0I7VVg4K21CRTtZWXowbEJjLDBCQUFrQjtZQUFsQix1QkFBa0I7WUFBbEIsa0JBQWtCLEVBQUEsRUFFekI7SVp5MGxCYjtNWXQwbEJZLGNWdmZxRDtNVXdmckQsZ0JIanBCTyxFQUFBO01FckJmO1FYKyttQkE7VVl2MGxCWSxpQkFBaUIsRUFBQSxFQUV4QjtJWnUwbEJUO01ZbjBsQm9CLGNSNzBCUDtNUWkxQkcsZ0JINW9CSTtNRzhvQkEseUJINW9CVSxFQUFBO0lUNjhtQjlCO01ZdHpsQmdCLGNSOTFCSDtNUSsxQkcsZ0JIM3FCRztNRzRxQkgsbUJDM3hCNEM7TUQ2eEJ4Qyx5QkhqcUJNO01Hb3FCTiw2QkFBNkIsRUFBQTtJWnF6bEJqRDtNWXR4bEJ3QixlQUFlO01BQ2YsaUJBQWlCO01BQ2pCLGlCQUFpQixFQUFBOztBWnl4bEI3QztFWWh4bEJZLG1CQzEwQm9ELEVBQUE7O0FiNmxuQmhFO0VZL3dsQmdCLCtDVDE1QnFDLEVBQUE7O0FINHFuQnJEO0VZMXdsQlEsU1Q5dkJRLEVBQUE7RUgwZ25CZDtJWXh3bEJVLG1CQzExQm9ELEVBQUE7O0FicW1uQmhFO0VZdndsQlEsMEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLGtCQUFrQjtFQUNsQixjUmo1QnlCO0VRazVCekIsa0JDbDJCd0Q7RURtMkJ4RCxnQkhzNkVtQjtFR3I2RW5CLGdCQUFnQjtFQUNoQixtQkFBbUIsRUFBQTs7QVowd2xCM0I7RVl0amtCUSxnQkFBZ0IsRUFBQTs7QVp5amtCeEI7RVl0amtCUSxTQUFTLEVBQUE7O0FaeWprQmpCO0VZdGprQlEscUJBQXFCLEVBQUE7O0FaeWprQjdCO0VZcGprQlksZUFBZTtFQUNmLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsa0JBQWtCLEVBQUE7RVpzamtCNUI7SVlwamtCYyxhQUFhLEVBQUE7RVpzamtCM0I7SVluamtCYyxXQUFXLEVBQUE7O0Fac2prQjNCO0VZamprQlEsMkJBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIseUJBQW1CO01BQW5CLHNCQUFtQjtVQUFuQixtQkFBbUIsRUFBQTtFWm1qa0J6QjtJWWpqa0JVLGFBQWEsRUFBQTs7QUQxL0NqQjtFMEJoSVI7SUFNd0IsV0FBVztJQUNYLFU1QnV3RVY7STRCdHdFVSxXNUJ1d0VUO0k0QnR3RVMseUJqQ25CUztJaUNvQlQsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sU0FBUztJQUNULE9BQU87SUFDUCxZQUFZLEVBQUEsRUFDZjs7QUFPckI7RUFDSSxVQUFVLEVBQUE7RUFEZDtJQUdRLFlBQVksRUFBQTs7QXJDc3FuQnBCO0VxQ2pxbkJJLG1CQUFPO01BQVAsV0FBTztVQUFQLE9BQU8sRUFBQTs7QUFLWDtFQUNJLFk1QjBzRVksRUFBQTtFNEIzc0VoQjs7SUFJUSxXNUJ1c0VRO0k0QnRzRVIsWTVCc3NFUSxFQUFBOztBRS9tRVI7RTBCbEZSO0lBS29CLFdBQXVELEVBQUEsRUFFOUQ7O0ExQjJFTDtFMEJsRlI7SUFVb0IsVUFBc0QsRUFBQSxFQUU3RDs7QTFCc0VMO0UwQmxGUjtJQXFCb0IsYUFBb0QsRUFBQSxFQUUzRDs7QTFCMkRMO0UwQmxGUjtJQTBCb0IsWUFBbUQsRUFBQSxFQUUxRDs7QUFRYjtFQUlZLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFNBQVM7RUFDVCxZQUFZO0VBdUJoQixZNUI2bkVPLEVBQUE7RUU5bUVQO0kwQjlDUjtNQWlDWSxZNUI2bkVHLEVBQUEsRTRCM25FVjs7QUFuQ0w7O0VBc0NRLFc1QnNuRU87RTRCcm5FUCxZNUJxbkVPLEVBQUE7RUU5bUVQO0kwQjlDUjs7TUF5Q1ksVzVCcW5FRztNNEJwbkVILFk1Qm9uRUcsRUFBQSxFNEJsbkVWOztBQUdMO0VBQ0ksWTVCNG1FVztFNEIzbUVYLFlBQVksRUFBQTtFQUZoQjs7SUFLUSxXNUJ3bUVPO0k0QnZtRVAsWTVCdW1FTztJNEJybUVILHlEakM4RnNDO1lpQzlGdEMsaURqQzhGc0M7SWlDNUYxQyx5Q2pDb0ZjO0lpQ3BGZCxpQ2pDb0ZjLEVBQUE7SWlDOUZ0Qjs7TUFZWSx5QmpDL0tLO01pQ2lMRCx5RGpDd0ZrQztjaUN4RmxDLGlEakN3RmtDO01pQ3RGdEMseUNqQzZFVTtNaUM3RVYsaUNqQzZFVSxFQUFBO0lpQzdGdEI7O01BbUJZLFdBQXVEO01BQ3ZELFlBQXdELEVBQUE7RTFCckI1RDtJMEJDUjtNekJsSkksWXlCNEtpRztNekIzS2pHLFd5QjJLaUc7TXpCMUtqRyxZQUFZO01BQ1oseUJUVmE7TVNXYix5QkFBeUI7TUFDekIsa0NBQTZCO2NBQTdCLDBCQUE2QixFQUFBLEV5QnlLeEI7RTFCN0JEO0kwQkNSO016QmxKSSxZeUJtTGtHO016QmxMbEcsV3lCa0xrRztNekJqTGxHLFlBQVk7TUFDWix5QlRWYTtNU1diLHlCQUF5QjtNQUN6QixpQ0FBNkI7Y0FBN0IseUJBQTZCLEVBQUEsRXlCZ0x4Qjs7QUFJVDtFQUNJLFdBQVcsRUFBQTtFQURmOztJQU9RLHlCakNqTlM7SWlDa05ULFk1QjIyREs7STRCMTJETCwwRWpDOENjO0lpQzlDZCxrRWpDOENjLEVBQUE7SU9wR2Q7TTBCNkNSOztRQVlnQix5RGpDbURrQztnQmlDbkRsQyxpRGpDbURrQyxFQUFBLEVpQ3BCN0M7STFCbkZHO00wQndDUjs7UUFnQlksWTVCazJERztRNEJoMkRDLHlEakM2Q2tDO2dCaUM3Q2xDLGlEakM2Q2tDLEVBQUEsRWlDcEI3QztJQTNDTDs7TUFzQlkscUJBQXFCO01BSXJCLHlCakNwT0s7TWlDc09ELHlEakNtQ2tDO2NpQ25DbEMsaURqQ21Da0M7TWlDakN0QyxZNUJxMURDO000QnAxREQsdURqQ3VCVTtNaUN2QlYsK0NqQ3VC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QmcwRG9CO0U2Qi96RHBCLGtCbENxUWU7RWtDcFFmLDREbEN5UWtCO0VrQ3pRbEIsb0RsQ3lRa0IsRUFBQTtFa0MvUXRCO0lBUVEseUJsQ01TO0lrQ0xULHlCN0I0ekRjO0k2QjN6RGQsNERsQ29RYztJa0NwUWQsb0RsQ29RYyxFQUFBO0lrQzlRdEI7TUFZWSx5QnBDa1Z5RDtNb0NqVnpELHlDbENpUVU7TWtDalFWLGlDbENpUVUsRUFBQTtFa0M5UXRCO0lBaUJRLHlCbENIUztJa0NJVCx5QjdCb3pEZSxFQUFBO0k2QnQwRHZCO01Bb0JZLHlCbkNhSyxFQUFBO0VtQ2pDakI7SUEyQmdCLHlCbEMwR0YsRUFBQTtFa0NySWQ7SUFnQ2dCLHlCbENxR0YsRUFBQTs7QWtDNUZkO0VBQ0ksVzdCcXlEMkI7RTZCcHlEM0IsWTdCb3lEMkI7RTZCbnlEM0Isb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYix3QkFBdUI7TUFBdkIscUJBQXVCO1VBQXZCLHVCQUF1QjtFQUN2Qix5QkFBbUI7TUFBbkIsc0JBQW1CO1VBQW5CLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIsVUFBVTtFQUVWLGlCQUFpQjtFQUNqQix5QmxDckNhO0VrQ3NDYix5QmxDaENhO0VrQ2lDYixtQjdCOHhEOEI7RTZCN3hEOUIsZUFBZTtFQUNmLFVBQVU7RUFDViwyQ2xDdU5rQjtFa0N2TmxCLG1DbEN1TmtCO0VrQ3ZObEIsMkJsQ3VOa0I7RWtDdk5sQixvRGxDdU5rQixFQUFBO0VrQ3RPdEI7SUFpQlEsV0FBVztJQUNYLFdBQVc7SUFDWCxZQUFZO0lBQ1oseUJuQzVCUztJbUM2QlQsbUI3QnF4RDBCO0k2QnB4RDFCLHlCbENqRFMsRUFBQTtFa0MyQmpCO0lBMEJRLDREbENxTjZDO1lrQ3JON0Msb0RsQ3FONkM7SWtDcE43QywyQ2xDME1jO0lrQzFNZCxtQ2xDME1jO0lrQzFNZCwyQmxDME1jO0lrQzFNZCxvRGxDME1jLEVBQUE7O0FrQ3RNdEI7RUFDSSxVQUFVLEVBQUE7O0FBS2Q7RUFDSSxrQkFBa0I7RUFDbEIsTUFBTTtFQUNOLFNB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LHVCQUEyQjtRQUEzQixvQkFBMkI7WUFBM0IsMkJBQTJCO0lBQzNCLGdCQUFnQixFQUFBO0lEMXlEaEI7TUNzeURKO1FBTVEsa0JIYlcsRUFBQSxFR2VsQjtFQUVEO0lBQ0ksZUgyNURTLEVBQUE7SUU1c0hUO01DZ3pESjtRQUdRLGVIMDVETSxFQUFBLEVHeDVEYjtFQUdEO0lBaUtBLHlCVjN5RGlFO0lVNHlEakUseUJSamhFVTtJUW1oRU4sZ0JWem5FYSxFQUFBO0lVNG5FWjtNQUNHLFlINTFEQyxFQUFPO0lHZzJEWjtNQUNJLGNSNWhFRSxFQUFBO0lRaWlFTjtNQUNJLFlIdjJEQztNR3cyREQsY1JuaUVFLEVBQUE7SVFzaUVWO01BQ0ksY1J2aUVNLEVBQUE7RVFrM0RWO0lBbUlBLHlCVmh4RGlFO0lVaXhEakUseUJSaC9EVTtJUWsvRE4sZ0JWOWxFYSxFQUFBO0lVaW1FYjtNQUNJLFlIaDBEQyxFQUFPO0lHbzBEWjtNQUNJLGNSMy9ERSxFQUFBO0lRZ2dFTjtNQUNJLFlIMzBEQztNRzQwREQsY1JsZ0VFLEVBQUE7SVFxZ0VWO01BQ0ksY1J0Z0VNLEVBQUE7RVErMkRWO0lBcUdBLHlCVnJ2RGlFO0lVc3ZEakUseUJSLzhEVTtJUWk5RE4sZ0JWbmtFYSxFQUFBO0lVc2tFYjtNQUNJLFlIcHlERCxFQUFPO0lHd3lEVjtNQUNJLGNSMTlERSxFQUFBO0lRKzlETjtNQUNJLFlIL3lERDtNR2d6REMsY1JqK0RFLEVBQUE7SVFvK0RWO01BQ0ksY1JyK0RNLEVBQUE7RVFvN0RWO0lBQ0ksY1I3aEV5QjtJUThoRXpCLGdCQUFnQixFQUFBO0VBdkVwQjtJQTRFQSx5QlZsdURpRTtJVW11RGpFLHlCUmhqRWEsRUFBQTtJUWtqRVQ7TUFDSSxZSDV2REssRUFBTztJR2d3RGhCO01BQ0ksY1J4akVLLEVBQUE7SVEyakViO01BQ0ksY1I1akVTO01RNmpFVCxnQkFBZ0IsRUFBQTtFQXJGcEI7SUFDSSx1QkFBYyxFQUFBO0lBQ2Q7TUFDSSxZSDNqRFEsRUFBTztFR2drRHZCO0lBQ0ksaUJBQWlCLEVBQUE7RUFJckI7SUFF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QjtRQUNqQixxQnZDNVdDO1F1QzZXRCxxQ3ZDaEhNO1F1Q2dITiw2QnZDaEhNLEVBQUE7SXVDNEJ0QjtNQXdGWSxrQkFBa0I7TUFDbEIsYUFBYTtNQUNiLHlCdkN0WEs7TXVDdVhMLGVBQWU7TUFDZixtQkFBbUI7TUFDbkIseUJ2QzVYUztNdUM2WFQsZ0J6Q3JYUztNeUNzWFQscUN2QzFIVTtNdUMwSFYsNkJ2QzFIVSxFQUFBO01RK2xFbEI7UUFDSSxtQkhyM0JXO1FHeTNCWCxvQkM3eEV3RDtRRDh4RXhELGdCSDM0Qkc7UUc0NEJILGtCSHA0Qk07UUd3NEJOLGNUajJFUztRU2syRVQsZ0JIdjFFaUI7UUd3MUVqQiw2QkFBNkIsRUFBQTtRQU83QjtVQUNJLGFBQWEsRUFBQTtRQUVqQjtVQUNJLFNBQVMsRUFBQTtNQUlqQjtRQUNJLG1CSGg1Qlc7UUdvNUJYLGVDenpFd0Q7UUQwekV4RCxnQkh0NkJHO1FHdTZCSCxrQkgvNUJNO1FHbTZCTixjVDczRVM7UVM4M0VULGdCSG4zRWlCLEVBQUE7UUcwM0VqQjtVQUNJLGFBQWEsRUFBQTtRQUVqQjtVQUNJLFNBQVMsRUFBQTtNQUdqQjtRQUlJLG1CSDU2Qlc7UUc4NkJQLGVIdDZCRTtRR3c2Qk4sb0JDdDFFd0Q7UUR1MUV4RCxnQkhsOEJHO1FHbThCSCxrQkgzN0JNO1FHKzdCTixjVGo1RVM7UVNrNUVULGdCSGg1RWlCLEVBQUE7UUdvNUVqQjtVQUNJLGFBQWEsRUFBQTtRQUVqQjtVQUNJLFNBQVMsRUFBQTtNQUdqQjtRQUNJLG1CSGw4Qlc7UUdvOEJQLGlCSDU3Qkk7UUc4N0JSLG1CQzcyRXdEO1FEODJFeEQsZ0JIeDlCRztRR3k5Qkgsa0JIajlCTTtRR3E5Qk4sY1RqN0VTO1FTazdFVCxnQkh2NkVpQixFQUFBO1FHMjZFakI7VUFDSSxhQUFhLEVBQUE7UUFFakI7VUFDSSxTQUFTLEVBQUE7TUFHakI7UUFDSSxtQkh4OUJXO1FHNDlCWCxtQkNwNEV3RDtRRHE0RXhELGdCSDkrQkc7UUcrK0JILGtCSHYrQk07UUcyK0JOLGNSLzhFUztRUWc5RVQsZ0JIOTdF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LEVBQUE7UTRDTXJCO1VBeUV3QixjN0MvREwsRUFBQTtJNkNWbkI7TUFpRmdCLFdBQXNDO01BQ3RDLFlBQXVDO01BQ3ZDLGdCQUFnQjtNQUNoQixlQUFlLEVBQUE7TUFwRi9CO1FBc0ZvQixlQUFvQyxFQUFBO0lBdEZ4RDtNQWlHWSxXQUFXO01BQ1gscUI3Q2lIMEI7VTZDakgxQixrQjdDaUgwQjtjNkNqSDFCLHlCN0NpSDBCLEVBQUE7RTZDbk50QztJQStHUSxXdkNxNEpzQjtJdUNwNEp0QixZdkNvNEpzQjtJdUNuNEp0QiwyQkFBb0I7SUFBcEIsMkJBQW9CO0lBQXBCLG9CQUFvQjtJQUNwQix3QkFBdUI7UUFBdkIscUJBQXVCO1lBQXZCLHVCQUF1QjtJQUN2Qix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIseUI1Q3hIUztJNEN5SFQsaUJ2QyszSnVCO0l1QzkzSnZCLG1CQUFtQjtJQUNuQixxQjVDM0hTO0k0QzRIVCxtQjVDaUk0QjtJNENoSTVCLG9ENUNvSWM7STRDcElkLDRDNUNvSWMsRUFBQTtJNEM5UHRCO01BNEhZLGV2QzI0Slk7TXVDMTRKWixrQzVDbUM2QjtNNENsQzdCLGM1QzlISztNNEMrSEwsOEI1QytIVTtNNEMvSFYsc0I1QytIVSxFQUFBO0k0QzlQdEI7TUFrSVkseUI3Q2xISztNNkNtSEwscUI3Q25ISztNNkNxSEQsVXZDazNKYztNdUNoM0psQixvRTVDc0hVO000Q3RIViw0RDVDc0hVLEVBQUE7TTRDN1B0QjtRQXlJZ0IsYzVDNUlDO1E0QzZJRCw4QjVDbUhNO1E0Q25ITixzQjVDbUhNLEVBQUE7STRDN1B0QjtNQThJWSx5QjdDdklLO002Q3dJTCxxQjdDeElLLEVBQUE7TTZDUGpCO1FBaUpnQixjNUNwSkMsRUFBQTtJNENHakI7TUFtS2dCLFl2Q2lERixFQUFPO0l1Q3BOckI7TUF1TGdCLFl2QzhCSCxFQUFPO0l1Q3JOcEI7TUEyTWdCLFl2Q1lGLEVBQU87SXVDdk5yQjtNQTZPZ0IsWXZDdkJEO011Q3dCQyxZQUFZLEVBQUE7SUE5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RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcERtVytFLEVBQUE7RW9EcFduRjtJQUNJLHlCbERzR0UsRUFBQTtFa0R2R047SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBENlZ5RCxFQUFBO0VvRDlWN0Q7SUFDSSx5QnBEbVcrRSxFQUFBO0VvRHBXbkY7SUFDSSx5QmxENEdFLEVBQUE7RWtEN0dOO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRDZWeUQsRUFBQTtFb0Q5VjdEO0lBQ0kseUJwRG1XK0UsRUFBQTtFb0RwV25GO0lBQ0kseUJsRGtIRSxFQUFBO0VrRG5ITjtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlELEVBQUE7RW9EOVY3RDtJQUNJLHlCcEQ2VnlE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dkM7SUE4QmdCLFloRHVCdUI7SWdEdEJ2QixtQ3JEelAyQixFQUFBO0VxRDBOM0M7SUEwQ29CLGFBQWEsRUFBQTtFQTFDakM7SUE2Q29CLGlCQUFjLEVBQUE7RUE3Q2xDO0lBeURZLHlCdEQ1YU87SXNENmFQLHlDckR4TFU7SXFEd0xWLGlDckR4TFUsRUFBQTtJcUQ4SHRCO01BNERnQixjckQzYkM7TXFENGJELDhCckQzTE07TXFEMkxOLHNCckQzTE0sRUFBQTtJcUQ4SHRCO01BZ0VnQixjckQvYkM7TXFEZ2NELHdFckQvTE07TXFEK0xOLGdFckQvTE0sRUFBQTtJcUQ4SHRCO01BcUVnQix5QnREeGJHO01zRHliSCx3RXJEck1NO01xRHFNTixnRXJEck1NLEVBQUE7TXFEK0h0QjtRQXdFb0IsY3JEdmNIO1FxRHdjRyw4QnJEeE1FO1FxRHdNRixzQnJEeE1FLEVBQUE7TXFEK0h0QjtRQTRFb0IsY3JEM2NILEVBQUE7UXFEK1hqQjtVQThFd0IsY3JEN2NQO1VxRDhjTyw4QnJEOU1GO1VxRDhNRSxzQnJEOU1GLEVBQUE7SXFEK0h0QjtNQXFGZ0IseUJ0RHZjRyxFQUFBO01zRGtYbkI7UUF1Rm9CLGNyRHRkSCxFQUFBO01xRCtYakI7UUEwRm9CLGNyRHpkSCxFQUFBO1FxRCtYakI7VUE0RndCLGNyRDNkUCxFQUFBO0VxRCtYakI7SUFvR29CLHlCdER0ZEQsRUFBQTtJc0RrWG5CO01Bc0d3QixjckRyZVAsRUFBQTtJcUQrWGpCO01BeUd3QixjckR4ZVAsRUFBQTtNcUQrWGpCO1FBMkc0QixjckQxZVgsRUFBQTtFcUQrWGpCO0lBbUhRLGVBQWUsRUFBQTtFQW5IdkI7SUF1SFEsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYix5QkFBbUI7UUFBbkIsc0JBQW1CO1lBQW5CLG1CQUFtQjtJQUNuQixnQmhEMjJDb0I7SWdEMTJDcEIscUJBQXFCO0lBQ3JCLG9CaEQwMkN3QjtJZ0R6MkN4QixnQkFBZ0IsRUFBQTtJQTVIeEI7TUFvSVksbURoRHNMbUM7TWdEckxuQyxjdkRwTHlEO011RHFMekQsZUFBZTtNQUNmLG9CQUFvQixFQUFBO01BdkloQztRQXlJZ0IsV0FBVyxFQUFBO0lBekkzQjtNQTZJWSxZaEQ3UEY7TWdEOFBFLGlCQUFpQjtNQUNqQixlaER1MUNlO01nRHQxQ2YsaUNyRDNXMkI7TXFENFczQixjckRqZ0JxQixFQUFBO0lxRGdYakM7TUFxSlksWUFBWTtNQUNaLFlBQVk7TUFDWiwyQkFBb0I7TUFBcEIsMkJBQW9CO01BQXBCLG9CQUFvQjtNQUNwQiw0QkFBNEI7TUFDNUIsMkJBQTJCLEVBQUE7SUF6SnZDO01BNEpZLGtCQUFrQjtNQUNsQiw0QkFBUztVQUFULGtCQUFTO2NBQVQsU0FBUyxFQUFBO0VBN0pyQjtJQWtLWSxjdER2aEJLLEVBQUE7RXNEcVhqQjtJQXVLWSxnQkFBZ0I7SUFDaEIsb0RoRHkxQ2tDLEVBQUE7SWdEamdEOUM7TUEwS2dCLFloRDVSUjtNZ0Q2UlEsd0NoRHN6QzZCLEVBQUE7RWdEaitDN0M7SUFnTFEsbUJBL0tvQixFQUFBO0VBRDVCO0lBMkxRLG1CQUFtQjtJQUNuQixxQnJEbGpCd0I7SXFEbWpCeEIsMkJBQXVJLEVBQUE7O0FBSS9JO0VBQ0ksU0FBUztFQUNULHlCQUF5QjtFQUN6QixnQkFBZ0IsRUFBQTtFQUhwQjtJQUtRLFlBQVk7SUFDWixrQmhEaXlDWSxFQUFBO0lFcnNEWjtNOEM4WlI7UUFRWSxrQmhEZ3lDUSxFQUFBLEVnRDl4Q2Y7O0FBR0w7RUFDSSxvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLG1CQUFlO01BQWYsZUFBZSxFQUFBOztBQUluQjtFQUVRLG9CQUFhO0VBQWIsb0JBQWE7RUFBYixhQUFhO0VBQ2IseUJBQThCO01BQTlCLHNCQUE4QjtVQUE5Qiw4QkFBOEI7RUFDOUIsbUJBQWU7TUFBZixlQUFlO0VBQ2YsVUFBVTtFQUNWLGdCQUFnQixFQUFBO0U5QzViaEI7SThDc2JSO01BU2dCLG1CQUFhO1VBQWIsaUJBQWE7Y0FBYixhQUFhLEVBQUEsRUFLcEI7RTlDL2JEO0k4Q2liUjtNQVlnQixtQkFBYTtVQUFiLGlCQUFhO2NBQWIsYUFBYSxFQUFBLEVBRXBCOztBQWRUO0VBaUJRLGtCQUFrQjtFQUNsQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CO0VBQ25CLGlCaERsWTBCO0VnRG1ZMUIsY3JEcm1CUztFcURzbUJULGdCaER0WXFCO0VnRHVZckIsb0I1Q2xpQndEO0U0Q21pQnhELDhCckQxV2M7RXFEMFdkLHNCckQxV2MsRUFBQTtFcURrVnRCO0lBMEJZLGN0RDFsQks7SXNEMmxCTCw4QnJEOVdVO0lxRDhXVixzQnJEOVdVLEVBQUE7RXFEbVZ0QjtJQThCWSxjckRsbUJxQjtJcURtbUJyQiw4QnJEbFhVO0lxRGtYVixzQnJEbFhVLEVBQUE7SXFEbVZ0QjtNQWlDZ0IsY3JEcm1CaUI7TXFEc21CakIsOEJyRHJYTTtNcURxWE4sc0JyRHJYTSxFQUFBO0VxRG1WdEI7SUFzQ1ksWWhEbFlDO0lnRG1ZRCxtQ3JEcmQrQjtJcURzZC9CLDhCdERobkJPO0lzRGluQlAsa0JBQWtCO0lBQ2xCLGVoRDNaVSxFQUFBOztBZ0RpWHRCO0VBK0NZLFloRHJaRTtFZ0RzWkYsbUNyRDlkK0I7RXFEK2QvQiw0QnREMW5CSyxFQUFBOztBc0R5a0JqQjtFQXNEWSxZaEQzWkk7RWdENFpKLGlDckR0ZTJCO0VxRHVlM0IsNEJ0RGpvQkssRUFBQTs7QXNEeWtCakI7RUE2RFksWWhEamFPO0VnRGthUCxpQ3JEN2UyQjtFcUQ4ZTNCLDRCdER4b0JLLEVBQUE7O0FzRHlrQmpCO0VBb0VZLFloRHZhRjtFZ0R3YUUsaUNyRHBmMkI7RXFEcWYzQixjckRoa0JFLEVBQUE7O0FxRDBmZDtFQTJFWSxZaEQ3YUk7RWdEOGFKLGlDckQzZjJCO0VxRDRmM0IsOEJ0RDdvQkssRUFBQTs7QXNEZ2tCakI7RUFrRlksWWhEbmJEO0VnRG9iQyxpQ3JEbGdCMkI7RXFEbWdCM0IsY3REN3BCSyxFQUFBOztBc0R5a0JqQjtFQXlGWSxZaER6Ykg7RWdEMGJHLG1DckR4Z0IrQjtFcUR5Z0IvQixjdkQ5VnlELEVBQUE7O0F1RG1R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QUFPO0VtRCtNL0I7SUE0QlEsWW5EMU9lLEVBQU87O0FtRDhPOUI7RUFDSSxjbkQ0MkhzQyxFQUFBOztBb0QvK0kxQzs7O0M3RGdoekJDO0E2RDNnekJEO0VBQ0ksV3BEb29KVztFb0Rub0pYLFlwRHVvSlc7RW9EdG9KWCxlQUFlO0VBRVgsV3BEMG9KTztFb0R6b0pQLFlBQThEO0VBTWxFLGFBQWEsRUFBQTtFbER1S1Q7SWtEbkxSO01BY1EsV3BEd25KTztNb0R2bkpQLFlwRDJuSk87TW9Eem5KSCxXcEQrbkpHO01vRDluSkgsWUFBOEQsRUFBQSxFQU96RTs7QUFFRDtFQUNJLFdBQVc7RUFDWCxZQUFZO0VBQ1osVUFBVTtFQUNWLGVBQWU7RUFDZiw0QnpEa1BrQjtFeURsUGxCLG9CekRrUGtCLEVBQUE7RXlEdlB0QjtJQU9RLFlwRDRQQTtJb0QzUEEsV0FBVztJQUNYLFlBQVk7SUFDWixvQkFBYTtJQUFiLG9CQUFhO0lBQWIsYUFBYTtJQUNiLHdCQUF1QjtRQUF2QixxQkFBdUI7WUFBdkIsdUJBQXVCO0lBQ3ZCLHlCQUFtQjtRQUFuQixzQkFBbUI7WUFBbkIsbUJBQW1CO0lBQ25CLG1CcEQwbUp3QjtJb0R6bUp4Qix5QjFEZFM7STBEZVQsZXBEdWxKTztJb0R0bEpQLGlDekQwSStCO0l5RHpJL0IsY0FBYztJQUNkLGtCQUFrQjtJQUNsQixtQjFEYlc7STBEY1gsYzFEcEJTO0kwRHFCVCw0QnpEa09jO0l5RGxPZCxvQnpEa09jLEVBQUE7SU8vRmQ7TWtEeEpSO1FBdUJZLGVwRGdsSkcsRUFBQSxFb0Q5a0pWO0VBekJMO0lBMkJRLFVBQVU7SUFDVixnQ3pEME5jO0l5RDFOZCx3QnpEME5jLEVBQUE7SXlEdFB0QjtNQWlDZ0IsbUIxRGpDQztNMERtQ0wsY3pEN0NLO015RDhDTCx5RHpEMk5zQztjeUQzTnRDLGlEekQyTnNDO015RDFOdEMscUIxRHJDSztNMERzQ0wsNEJ6RGdOVTtNeURoTlYsb0J6RGdOVSxFQUFBO0V5RHRQdEI7SUEyQ1ksbUIxRGxDSztJMERtQ0wsY3pEdERLO0l5RHVETCxxQjFEcENL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R1Q7SUFDSSxjUnZkUztJUXdkVCx5QlRyY1M7SVN1Y0wscUJUdmNLO0lTMmNULDRCUjlOYztJUThOZCxvQlI5TmMsRUFBQTtFUXFPbEI7SUFFUSxjVnZKeUQ7SVU0SnpELHlCUjVlSztJUWlmTCxxQlZqS3lEO0lVcUs3RCxtQkFBbUIsRUFBQTtFQU92QjtJQUVRLHFCVjlLeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VROFJqRDtJQUNJLHlDUnhTYztJUXdTZCxpQ1J4U2MsRUFBQTs7QThEakh0QjtFQUNJLGlCQUFpQjtFQUNqQixjQUFjLEVBQUE7RUFGbEI7SUFJUSxZekQrTk07SXlEOU5OLGlDOURlK0I7SThEZC9CLGVBQWU7SUFDZixjL0QxSVc7SStEMklYLDhCOUR5R2M7SThEekdkLHNCOUR5R2MsRUFBQTtFOERqSHRCO0lBWVksYy9EeklLO0krRDBJTCw4QjlEbUdVO0k4RG5HVixzQjlEbUdVLEVBQUE7RThEaEh0QjtJQWtCWSxjL0R4SkssRUFBQTs7QStENEpqQjtFQUNJLGdCQUFnQjtFQUNoQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZLEVBQUE7RXZEUFI7SXVESVI7TUFLUSxpQkFBaUI7TUFDakIsMkJBQW9CO01BQXBCLDJCQUFvQjtNQUFwQixvQkFBb0IsRUFBQSxFQUUzQjs7QUFDRDtFQUNJLG1CQUFZO01BQVosb0JBQVk7VUFBWixZQUFZO0VBQ1oseUI5RHhLNEI7RThEeUs1QiwyQzlEK0VrQjtFOEQvRWxCLG1DOUQrRWtCO0U4RC9FbEIsMkI5RCtFa0I7RThEL0VsQixvRDlEK0VrQixFQUFBO0U4RGxGdEI7SUFLUSx5RDlEcUYwQztZOERyRjFDLGlEOURxRjBDO0k4RHBGMUMsMkM5RDJFYztJOEQzRWQsbUM5RDJFYztJOEQzRWQsMkI5RDJFYztJOEQzRWQsb0Q5RDJFYyxFQUFBOztBOER4RXRCO0VBQ0ksZ0JBQWdCO0VBQ2hCLG1CckRsSDREO0VxRG1INUQsYzlE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QVosWUFBWTtFQUdoQixrQkFBa0I7RUFDbEIsNENBQWtFO0VBRWxFLGdEQUErQztFQUMvQyxjUm5aYTtFUW9aYix5QlJ2WmE7RVF3WmIsaUJIK2M0QjtFRzljNUIsb0JDalY0RDtFRGtWNUQsZ0JINEkrQjtFRzNJL0Isa0JBQWtCO0VBQ2xCLG1CQUFtQjtFQUNuQixlQUFlO0VBU1gscUJSN1p3QjtFUWlhNUIscUJBQXFCO0VBQ3JCLGNIMGJ5QjtFR3ZickIsMkJBQW9FO0VBRXhFLGdCQUFnQjtFQUNoQiw0QlJoTGtCO0VRZ0xsQixvQlJoTGtCO0VRMFFkOzs7Ozs7OztTWm1oMEJDLEVZM2cwQkM7RURqWEY7STREbkxSO00zRHljUSwwQjJEeGNpUztNM0R3Y2pTLHVCMkR4Y2lTO00zRHdjalMsa0IyRHhjaVM7TTNEeWNqUyw0Q0FBa0UsRUFBQSxFMkR4Y3pFO0UzRDZjRztJQUNJO01BQ0ksY1JoY0s7TVFpY0wseUJUOWFLO01TZ2JELHFCVGhiQztNU29iTCxxQkFBcUI7TUFDckIsNEJSeE1VO01Rd01WLG9CUnhNVSxFQUFBO01RME1OO1FBQ0MsY1IzY0E7UVE0Y0EsOEJSNU1LO1FRNE1MLHNCUjVNSyxFQUFBO01RZ05WO1FBQ0kseUJSamRDO1FRa2RELHlDUmxOTTtRUWtOTixpQ1JsTk0sRUFBQSxFUW1OVDtFQUdUO0lBQ0ksY1J2ZFM7SVF3ZFQseUJUOWNTO0lTZ2RMLHFCVGhkSztJU29kVCw0QlI5TmM7SVE4TmQsb0JSOU5jLEVBQUE7SVFnT1Y7TUFDQyxjUmplSSxFQUFBO0VRcWViO0lBSVEsY1Z6SnlEO0lVOEp6RCx5QlI5ZUs7SVFtZkwscUJWbkt5RDtJVXFLN0QsbUJBQW1CLEVBQUE7SUFFZjtNQUNDLGNWeEt3RCxFQUFBO0VVNEtqRTtJQUlRLHFCVmhMeUQsRUFBQTtFVW9MakU7SUFDSSxhQUFhO0lBQ2IsNERSNVA2QztZUTRQN0Msb0RSNVA2QyxFQUFBO0VRaVI3QztJQUNJLFlIaktxQjtJR2tLckIsa0JIcWZVO0lHcGZWLHVCUjVVc0I7SVE2VXRCLGVIMGZFO0lHdmZFLGdCQUFnQjtJQUVw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d1FtRTtFc0Z2UW5FLGdCL0U0Y29FO0UrRTNjcEUseUJwRjFFZTtFb0YyRWYscUJ2RXVYYztVdUV2WGQsYXZFdVhjO0V1RXJYZCwrQ3JGakZtRDtFcUZrRm5ELG1CM0VOOEQ7RTJFTzlELG1CdkVQMkI7RXVFUTNCLGdCL0UzRHVCO0UrRTREdkIsY3BGekQrQjtFb0Y0RDdCLDhEcEY2S2tCO0VvRjdLbEIsc0RwRjZLa0I7RW9GN0tsQiw4Q3BGNktrQjtFb0Y3S2xCLHVFcEY2S2tCO0VvRnhKbEIsd0JBQWdCO0tBQWhCLHFCQUFnQjtVQUFoQixnQkFBZ0IsRUFBQTtFeEY4KytCbEI7O0l3RjkvK0JFLGFBQWE7SUFDYix5QnRGc1BpRTtJc0ZyUGpFLHlCcEYzRmE7SW9GNEZiLDREcEY4S2lEO1lvRjlLakQsb0RwRjhLaUQ7SW9GM0svQyw4RHBGa0tnQjtJb0ZsS2hCLHNEcEZrS2dCO0lvRmxLaEIsOENwRmtLZ0I7SW9GbEtoQix1RXBGa0tnQixFQUFBOztBaUZyRXBCO0VHOUVFLGVBQWUsRUFBQTtFQURqQjtJQUlJLFlBQVksRUFBQTs7QUFJaEI7OztFQUtJLG1EL0UrakJ5QztFK0U5akJ6QyxtQnZFeVU2QixFQUFBOztBakJzcStCbkM7O0V3RngrK0JJLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCO0VBQ2hCLGdCdEY5SGlCLEVBQUE7O0FjMjlFckI7RXdFeDFFSSw4QkFBc0I7VUFBdEIsc0JBQXNCLEVBQUE7O0FBaUJ4QjtFQUNFLGNwRnhJNkIsRUFBQTs7QW9GdUkvQjtFQUNFLGNwRnhJNkIsRUFBQTs7QW9GdUkvQjtFQUNFLGNwRnhJNkIsRUFBQTs7QW9GdUkvQjtFQUNFLGNwRnhJNkIsRUFBQTs7QW9GdUkvQjtFQUNFLGNwRnhJNkIsRUFBQTs7QUptbS9CakM7OztFeUYvbi9CSSxnQjVFa0Y0RCxFQUFBOztBYmtqL0JoRTs7RXlGOW4vQkkscUJBQXFCO0VBQ3JCLHdCQUF3QjtFQUV4QixtQkFBa0Q7RUFDbEQsa0I1RXdFNEQ7RTRFdkU1RCxnQkFBZ0IsRUFBQTtFekZnby9CbEI7O0l5RjduL0JJLGVBQWUsRUFBQTs7QUFLbkI7O0VBRUUsb0JBQW1ELEVBQUE7O0F6RjhuL0J2RDtFeUZ6bi9CSSxXQUFXLEVBQUE7O0FDS2I7RUFsQkEsY0FBYztFQUNkLFNBQVM7RUFFVCxtQjdFa0U4RDtFNkVqRTlELG1CekVpRTJCO0V5RWhFM0IsZ0J6RTBhMEI7RXlFemExQixjdEZOZSxFQUFBO0VzRmtCZjtJQU5BLGdCN0V5RDhEO0k2RXhEOUQsZ0JqRkt1QjtJaUZKdkIsb0JBQWdFLEVBQUE7O0FDbEJoRTtFQUdFLG1CQUZ1QztFQUd2QyxvQjlFcUU0RDtFOEVwRTVELGtCMUVzYXdCO0UwRXJheEIsY3ZGRmEsRUFBQTs7QXdGQ2Y7RUFDRSxvQkFBaUM7RUFBakMsb0JBQWlDO0VBQWpDLGFBQWlDO0VBQ2pDLFdBQVc7RUFDWCxtQi9FaUU0RDtFK0U5RDFELDBCQUFvQjtNQUFwQix1QkFBb0I7VUFBcEIsb0JBQW9CLEVBQUE7RUFOeEI7SUFXTSxzQm5Gc2dCOEQsRUFBQTtFbUZqaEJwRTtJQWlCTSxzQkFBaUgsRUFBQTs7QUFLdkg7Ozs7RUFDRSxTQUFTO0VBQ1QsbUJBQW1CLEVBQUE7O0FBUXJCO0VBRUUsZTNFd1l1QjtFMkV2WXZCLHlCeEYzQjZCO0V3RjRCN0IsbUJ4Ri9CNEI7RXdGaUM1QixjeEZ2Q2E7RXdGd0NiLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFHakIsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYixtQkFBYztNQUFkLGtCQUFjO1VBQWQsY0FBYztFQUNkLHlCQUFtQjtNQUFuQixzQkFBbUI7VUFBbkIsbUJBQW1CLEVBQUE7RUFidkI7SUFzQk0sZUFBaUMsRUFBQTtFQXRCdkM7SUEwQk0sY0FBZ0MsRUFBQTs7QUFLdEM7RUFFRSxnQkFBZ0I7RUFHZCxtQkFBYTtNQUFiLGlCQUFhO1VBQWIsYUFBYTtFQUNiLFlBQVksRUFBQTs7QUFJaEI7RUFFRSxjQUFjO0VBQ2QsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUdoQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjLEVBQUE7RUFSbEI7Ozs7SUFzQk0sNEJBQW1CO1FBQW5CLG1CQUFtQjtJQUNuQixZQUFZO0lBS2QsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixtQi9FbkMwRCxFQUFBOztBd0UwRjlEO0VRakpFLFNBQVM7RUFDVCxVQUFVO0VBQ1YsU0FBUyxFQUFBOztBUndKWDtFUXBKRSxlQUFlO0VBQ2YscUJBQWtDLEVBQUE7O0FBR3BDO0VBeEJBLGtCaEYwRVc7RWdGekVYLGdCaEZvRThEO0VnRm5FOUQseUJ6Rk8rQixFQUFBO0V5RkwvQjtJQUVFLFNBQVM7SUFDVCx1QmhGOEQ0RDtJZ0Y3RDVELG9CaEY2RDRELEVBQUE7O0F5RThHOUQ7RVFyTEEsaUJBRnNKO0VBR3RKLGdCakZzRThEO0VpRnJFOUQsZTdFOGIrQjtFNkU1Yi9CLHdCQUFnQjtLQUFoQixxQkFBZ0I7VUFBaEIsZ0JBQWdCO0VBQ2hCLHlCNUYwVW1FO0U0RnpVbkUsZ0I1RkZtQjtFNEZHbkIseUIxRlJlO0UwRlVmLCtDM0ZkbUQ7RTJGZW5ELG1CakY2RDhEO0VpRjVEOUQsbUI3RTREMkI7RTZFM0QzQixnQnJGUXVCO0VxRlB2QixjMUZVK0I7RW1Gd0cvQix3T0FBeU47RU85R3ZOLDhCQUE4QjtFQUM5Qix1Q0FBMEQ7RUFDMUQsNEJBQTRCO0VBQzVCLHdCQUF3QjtFQUV4QixxQkFBdUQ7RUFJdkQsOEQxRnNPa0I7RTBGdE9sQixzRDFGc09rQjtFMEZ0T2xCLDhDMUZzT2tCO0UwRnRPbEIsdUUxRnNPa0IsRUFBQTtFbUYvSHBCO0lEb0RBO01DakRJLHVXQUF1VyxFQUFBLEVPbkUxVztFQW5DRDtJQUNFLGFBQWE7SUFDYix5QjVGK1NpRTtJNEY5U2pFLHlCMUZsQ2E7STBGbUNiLDREMUZ1T2lEO1kwRnZPakQsb0QxRnVPaUQ7STBGcE8vQyw4RDFGMk5nQjtJMEYzTmhCLHNEMUYyTmdCO0kwRjNOaEIsOEMxRjJOZ0I7STBGM05oQix1RTFGMk5nQixFQUFBO0UwRnROcEI7SUFDRSxtRHJGNm9CMkM7SXFGNW9CM0MsbUI3RXVaK0IsRUFBQTtFNkVuWmpDO0lBQ0UsYUFBYSxFQUFBO0VBR2Y7SUFDRSxZQUFZO0lBQ1osc0JBQXNCLEVBQUE7RUFFeEI7SUFDRSxjQUFjO0lBQ2QsaUJBQWlCLEVBQUE7O0FDckNuQjtFQUNFLHFCM0ZnR1U7RTJGL0ZWLHlCQUErRCxFQUFBO0VBRS9EO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7RTJGN0ZWO0lBQ0UsYzNGNEZRLEVBQUE7O0FZKy9CZ0M7RStFaGtDeEMsYzNGaUVRLEVBQUE7O0EyRjVEWjtFQXpCQSxhQUFhO0VBQ2IsbUJBQWdDO0VBQ2hDLG1CbEZvQzhEO0VrRmxDOUQsbUJsRmtDOEQ7RWtGakM5RCxnQnRGa2dCMkI7RXNGamdCM0IsYzNGK0VZLEVBQUE7RTJGNURaO0lBSUksY0FBYyxFQUFBOztBekM0WXBCO0U1QnhiTSx1QkFBNkQ7RUFBN0Qsc0JBQTZEO0VzRXZCakUsaUJ2Rk9tQjtFdUZObkIsaUJBQWlCO0VBQ2pCLGtCQUFrQixFQUFBO0VDUmxCO0l2RTZCSSx1QkFBNkQ7SUFBN0Qsc0JBQTZEO0lzRXZCakUsZUNGbUM7SURHbkMsaUJBQWlCO0lBQ2pCLGtCQUFrQixFQUFBO0VDUmxCO0l2RTZCSSxnQkFBNkQ7SUFBN0QsZUFBNkQ7SXNFdkJqRSxlQ0VtQztJRERuQyxpQkFBaUI7SUFDakIsa0JBQWtCLEVBQUE7O0FDS2xCO0VEU0Esb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw4QkFIcUI7RUFHckIsNkJBSHFCO01BR3JCLHVCQUhxQjtVQUdyQixtQkFIcUIsRUFBQTs7QUNIckI7RXBFcUdBLG1CQUFNO01BQU4sa0JBQU07VUFBTixjQUFNO0VBSUosYUFBYTtFQUNiLFlBQVk7RUFzQ1osV0EvRWlDLEVBQUE7RW9FakVuQztJcEVxR0EsbUJBQU07UUFBTixpQkFBTTtZQUFOLFdBQU0sRUFBQTtFb0VyR047SXBFcUdBLG1CQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7O0FvRXpGTjtFcEVvSUUsV0EzRlksRUFBQTs7QW9FekNkO0VwRW9JRSxXQTNGWSxFQUFBOztBb0V6Qlo7RUFNSSw2QkFBZ0I7TUFBaEIsZ0JBQWdCLEVBQUE7O0F0Rm9IaEI7RXNGMUhKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBdEZ3SEM7RXNGL0hKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBdEZ3SEM7RXNGL0hKO0lBTUksNkJBQWdCO1FBQWhCLGdCQUFnQixFQUFBLEVBQ2pCOztBQVlIO0VwRXNERixtQkFBTTtNQUFOLGtCQUFNO1VBQU4sY0FBTSxFQUFBOztBb0V2Q0Y7RXBFa0ZGLGVxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixnQnFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLFVxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixnQnFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLGdCcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsVXFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLGdCcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsZ0JxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixVcUU1QmdFLEVBQUE7O0FEdEQ5RDtFcEVrRkYsZ0JxRTVCZ0UsRUFBQTs7QUR0RDlEO0VwRWtGRixnQnFFNUJnRSxFQUFBOztBRHREOUQ7RXBFa0ZGLFdxRTVCZ0UsRUFBQTs7QXZGa0M1RDtFc0Y1R0Y7SXBFMkRKLG1CQUFNO1FBQU4saUJBQU07WUFBTixXQUFNO0lBMkNKLFdBM0ZZLEVBQUE7RW9FTlo7SXBFc0RGLG1CQUFNO1FBQU4sa0JBQU07WUFBTixjQUFNLEVBQUE7RW9FaERGO0lwRTJGRixXQTNGWSxFQUFBO0VvRVNWO0lwRWtGRixlcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsV3FFNUJnRSxFQUFBLEVEbkQ3RDs7QXRGMEZDO0VzRmpIRjtJcEUyREosbUJBQU07UUFBTixpQkFBTTtZQUFOLFdBQU07SUEyQ0osV0EzRlksRUFBQTtFb0VOWjtJcEVzREYsbUJBQU07UUFBTixrQkFBTTtZQUFOLGNBQU0sRUFBQTtFb0VoREY7SXBFMkZGLFdBM0ZZLEVBQUE7RW9FU1Y7SXBFa0ZGLGVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixXcUU1QmdFLEVBQUEsRURuRDdEOztBdEYwRkM7RXNGakhGO0lwRTJESixtQkFBTTtRQUFOLGlCQUFNO1lBQU4sV0FBTTtJQTJDSixXQTNGWSxFQUFBO0VvRU5aO0lwRXNERixtQkFBTTtRQUFOLGtCQUFNO1lBQU4sY0FBTSxFQUFBO0VvRWhERjtJcEUyRkYsV0EzRlksRUFBQTtFb0VTVjtJcEVrRkYsZXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFVxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsVXFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLGdCcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixVcUU1QmdFLEVBQUE7RUR0RDlEO0lwRWtGRixnQnFFNUJnRSxFQUFBO0VEdEQ5RDtJcEVrRkYsZ0JxRTVCZ0UsRUFBQTtFRHREOUQ7SXBFa0ZGLFdxRTVCZ0UsRUFBQSxFRG5EN0Q7O0FBS0w7RUFDRSxXQUFXLEVBQUE7O0FBSWI7RUFDRSxZQUFZLEVBQUE7O0FBOEJkO0V2RXZHTSx1QkFBNkQ7RUFBN0Qsd0JBQTZELEVBQUE7RWZtSjdEO0lzRjVDTjtNdkV2R00sc0JBQTZEO01BQTdELHVCQUE2RCxFQUFBLEV1RXNJbEU7RUEvQkQ7SXBFc0NFLDRCQXREMEU7SUg5RXhFLHNCQUE2RDtJQUE3RCx1QkFBNkQsRUFBQTtFZjBJM0Q7SXNGNUNOO01wRXNDRSwyQkF0RDBFO01IOUV4RSxxQkFBNkQ7TUFBN0Qsc0JBQTZELEVBQUEsRXVFMkcxRDtFQXJDUDtJcEU4REUsV0EzRlksRUFBQTtFb0VpQ2Q7SXBFMERFLFdBM0ZZLEVBQUE7RW9FeUNaO0lwRWtEQSxnQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSwyQkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFdBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxXQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsK0JBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsV0EzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFdBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSwrQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwwQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFdBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxXQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsK0JBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMEJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxXQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsV0EzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLCtCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDBCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQSxFb0VNekU7O0FBOENIO0V2RTNJTSx3QkFBNkQ7RUFBN0QsdUJBQTZELEVBQUE7RWZtSjdEO0lzRlJOO012RTNJTSx1QkFBNkQ7TUFBN0Qsc0JBQTZELEVBQUEsRXVFZ0poRTs7QUFJRDtFdkVwSkksd0JBQTZEO0VBQTdELHVCQUE2RCxFQUFBO0VmbUo3RDtJc0ZDSjtNdkVwSkksdUJBQTZEO01BQTdELHNCQUE2RCxFQUFBLEV1RXNKaEU7O0FBWEg7RXZFM0lNLHdCQUE2RDtFQUE3RCx1QkFBNkQsRUFBQTtFZm1KN0Q7SXNGUk47TXZFM0lNLHVCQUE2RDtNQUE3RCxzQkFBNkQsRUFBQSxFdUUySmhFOztBRTNKSDtFdEU2SUUsV3FFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFVxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxnQnFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFVxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxVcUU1QmdFLEVBQUE7O0FDakhsRTtFdEU2SUUsZ0JxRTVCZ0UsRUFBQTs7QUNqSGxFO0V0RTZJRSxnQnFFNUJnRSxFQUFBOztBQ2pIbEU7RXRFNklFLFlxRTVCZ0UsRUFBQTs7QXZGa0M1RDtFd0ZuSk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0F4RnNKSztFd0Z4Sk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0F4RnNKSztFd0Z4Sk47SXRFNklFLFdxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFVxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLGdCcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxVcUU1QmdFLEVBQUE7RUNqSGxFO0l0RTZJRSxnQnFFNUJnRSxFQUFBO0VDakhsRTtJdEU2SUUsZ0JxRTVCZ0UsRUFBQTtFQ2pIbEU7SXRFNklFLFlxRTVCZ0UsRUFBQSxFQy9HakU7O0FBRkQ7RXRFNklFLDRCQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsMkJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSxpQ0F0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLDJCQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsMkJBdEQwRSxFQUFBOztBc0V2RjVFO0V0RTZJRSxpQ0F0RDBFLEVBQUE7O0FzRXZGNUU7RXRFNklFLGlDQXREMEUsRUFBQTs7QXNFdkY1RTtFdEU2SUUsNkJBdEQwRSxFQUFBOztBbEI0RHRFO0V3Rm5KTjtJdEU2SUUsMkJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDRCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwyQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsNEJBdEQwRSxFQUFBLEVzRXJGM0U7O0F4RnNKSztFd0Z4Sk47SXRFNklFLDJCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSwwQkF0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLGdDQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSw0QkF0RDBFLEVBQUEsRXNFckYzRTs7QXhGc0pLO0V3RnhKTjtJdEU2SUUsMkJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsMEJBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDBCQXREMEUsRUFBQTtFc0V2RjVFO0l0RTZJRSxnQ0F0RDBFLEVBQUE7RXNFdkY1RTtJdEU2SUUsZ0NBdEQwRSxFQUFBO0VzRXZGNUU7SXRFNklFLDRCQXREMEUsRUFBQSxFc0VyRjNFOztBRnFNRztFRzlNRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtFQXNCeEI7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUE7RXZGa0M1RDtJeUYvSEk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEO0V6RmtJTDtJeUZwSUk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEO0V6RmtJTDtJeUZwSUk7TXZFeUhSLGVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixVcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLFVxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixnQnFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsVXFFNUJnRSxFQUFBO0lFN0Z4RDtNdkV5SFIsZ0JxRTVCZ0UsRUFBQTtJRTdGeEQ7TXZFeUhSLGdCcUU1QmdFLEVBQUE7SUU3RnhEO012RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBSHVMUDtFRzdLRSxlQUEwQjtFQUExQixjQUEwQixFQUFBO0VBRzVCO0lBRUksZ0JBQTRCO0lBQTVCLGVBQTRCLEVBQUE7O0F6RjhHOUI7RXNGb0RGO0lHOU1FLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxlQUEwQjtNQUExQixjQUEwQixFQUFBLEVBRTdCOztBekZtSkM7RXlGeElJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGc0lMO0V5Ri9ISTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFeUZwSUk7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBekZrSUw7RXlGcElJO0l2RXlIUixlcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsV3FFNUJnRSxFQUFBLEVFM0Z2RDs7QXpGNkhMO0VzRjBERjtJRzdLRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZ0JBQTRCO01BQTVCLGVBQTRCLEVBQUEsRUFFL0I7O0F6RmlIQztFc0YrQ0Y7SUc5TUUsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGVBQTBCO01BQTFCLGNBQTBCLEVBQUEsRUFFN0I7O0F6RndKQztFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGN0lJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGMklMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFeUZwSUk7SXZFeUhSLGVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixXcUU1QmdFLEVBQUEsRUUzRnZEOztBekZrSUw7RXNGcURGO0lHN0tFLGVBQTBCO0lBQTFCLGNBQTBCLEVBQUE7SUFHNUI7TUFFSSxnQkFBNEI7TUFBNUIsZUFBNEIsRUFBQSxFQUUvQjs7QXpGaUhDO0VzRitDRjtJRzlNRSxlQUEwQjtJQUExQixjQUEwQixFQUFBO0lBRzVCO01BRUksZUFBMEI7TUFBMUIsY0FBMEIsRUFBQSxFQUU3Qjs7QXpGd0pDO0V5RjdJSTtJdkVrSVIsZXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFdxRTVCZ0UsRUFBQSxFRXBHdkQ7O0F6RjJJTDtFeUY3SUk7SXZFa0lSLGVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixXcUU1QmdFLEVBQUEsRUVwR3ZEOztBekYySUw7RXlGN0lJO0l2RWtJUixlcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsVXFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixVcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsZ0JxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLFVxRTVCZ0UsRUFBQTtFRXRHeEQ7SXZFa0lSLGdCcUU1QmdFLEVBQUE7RUV0R3hEO0l2RWtJUixnQnFFNUJnRSxFQUFBO0VFdEd4RDtJdkVrSVIsV3FFNUJnRSxFQUFBLEVFcEd2RDs7QXpGMklMO0V5RnBJSTtJdkV5SFIsZXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFVxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsVXFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLGdCcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixVcUU1QmdFLEVBQUE7RUU3RnhEO0l2RXlIUixnQnFFNUJnRSxFQUFBO0VFN0Z4RDtJdkV5SFIsZ0JxRTVCZ0UsRUFBQTtFRTdGeEQ7SXZFeUhSLFdxRTVCZ0UsRUFBQSxFRTNGdkQ7O0F6RmtJTDtFc0ZxREY7SUc3S0UsZUFBMEI7SUFBMUIsY0FBMEIsRUFBQTtJQUc1QjtNQUVJLGdCQUE0QjtNQUE1QixlQUE0QixFQUFBLEVBRS9COztBSG9MRDtFSW5NRixlQUE2QixFQUFBOztBSnVNM0I7RUl2TUYsb0NBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixxQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDBDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QUptTTNCO0VJbk1GLGdCQUE2QixFQUFBOztBSnVNM0I7RUl2TUYscUNBQTZCLEVBQUE7O0FKbU0zQjtFSW5NRixzQkFBNkIsRUFBQTs7QUp1TTNCO0VJdk1GLDJDQUE2QixFQUFBOztBSm1NM0I7RUluTUYsc0JBQTZCLEVBQUE7O0FKdU0zQjtFSXZNRiwyQ0FBNkIsRUFBQTs7QTFGMkh6QjtFc0Z3RUY7SUluTUYsZUFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsbUNBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHFCQUE2QixFQUFBO0VKdU0zQjtJSXZNRix5Q0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixnQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsb0NBQTZCLEVBQUE7RUptTTNCO0lJbk1GLHNCQUE2QixFQUFBO0VKdU0zQjtJSXZNRiwwQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBLEVKeU0xQjs7QXRGekVDO0VzRm1FRjtJSW5NRixlQUE2QixFQUFBO0VKdU0zQjtJSXZNRixtQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYscUJBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLHlDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7RUp1TTNCO0lJdk1GLDBDQUE2QixFQUFBO0VKbU0zQjtJSW5NRixzQkFBNkIsRUFBQTtFSnVNM0I7SUl2TUYsMENBQTZCLEVBQUE7RUptTTNCO0lJbk1GLGdCQUE2QixFQUFBO0VKdU0zQjtJSXZNRixvQ0FBNkIsRUFBQTtFSm1NM0I7SUluTUYsc0JBQTZCLEVBQUE7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TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFlxRTVCZ0UsRUFBQSxFRHlMM0Q7RXRGbEpEO0lzRnlGTjtNcEUvSUEsbUJBQU07VUFBTixpQkFBTTtjQUFOLFdBQU07TUEyQ0osWUEzRlksRUFBQTtJb0UrTGQ7TXBFL0lBLG1CQUFNO1VBQU4sa0JBQU07Y0FBTixjQUFNLEVBQUE7SW9FK0lOO01wRXBHRSxZQTNGWSxFQUFBO0lvRStMZDtNcEVwR0UsZ0JxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxZcUU1QmdFLEVBQUEsRUR5TDNEO0V0RmxKRDtJc0Z5Rk47TXBFL0lBLG1CQUFNO1VBQU4saUJBQU07Y0FBTixXQUFNO01BMkNKLFlBM0ZZLEVBQUE7SW9FK0xkO01wRS9JQSxtQkFBTTtVQUFOLGtCQUFNO2NBQU4sY0FBTSxFQUFBO0lvRStJTjtNcEVwR0UsWUEzRlksRUFBQTtJb0UrTGQ7TXBFcEdFLGdCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsV3FFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxXcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsaUJxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLFdxRTVCZ0UsRUFBQTtJRGdJbEU7TXBFcEdFLGlCcUU1QmdFLEVBQUE7SURnSWxFO01wRXBHRSxpQnFFNUJnRSxFQUFBO0lEZ0lsRTtNcEVwR0UsWXFFNUJnRSxFQUFBLEVEeUwzRDs7QUFPTDtFdkVqVEksc0JBQTZEO0VBQTdELHlCQUE2RCxFQUFBO0VmbUo3RDtJc0Y4Sko7TXZFalRJLHFCQUE2RDtNQUE3RCx3QkFBNkQsRUFBQSxFdUVxVDlEOztBQUpIO0V2RWpUSSxzQkFBNkQ7RUFBN0QseUJBQTZELEVBQUE7RWZtSjdEO0lzRjhKSjtNdkVqVEkscUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEV1RTBUOUQ7O0FBbk5MO0V2RXZHTSxzQkFBNkQ7RUFBN0QseUJBQTZELEVBQUE7RWZtSjdEO0lzRjVDTjtNdkV2R00scUJBQTZEO01BQTdELHdCQUE2RCxFQUFBLEV1RXNJbEU7RUEvQkQ7SXBFc0NFLDZCQXREMEU7SUg5RXhFLHFCQUE2RDtJQUE3RCx3QkFBNkQsRUFBQTtFZjBJM0Q7SXNGNUNOO01wRXNDRSw0QkF0RDBFO01IOUV4RSxvQkFBNkQ7TUFBN0QsdUJBQTZELEVBQUEsRXVFMkcxRDtFQXJDUDtJcEU4REUsWUEzRlksRUFBQTtFb0VpQ2Q7SXBFMERFLFlBM0ZZLEVBQUE7RW9FeUNaO0lwRWtEQSxpQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw2QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsWUEzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFlBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7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Q0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw0QkF0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSxrQ0F0RDBFLEVBQUE7RW9FSTFFO0lwRWtEQSw2QkF0RDBFLEVBQUE7RWxCNER0RTtJc0ZwRU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBO0lvRVI1RTtNcEU4REUsWUEzRlksRUFBQTtJb0VpQ2Q7TXBFMERFLFlBM0ZZLEVBQUE7SW9FeUNaO01wRWtEQSxnQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSwyQkF0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSxpQ0F0RDBFLEVBQUE7SW9FSTFFO01wRWtEQSw0QkF0RDBFLEVBQUEsRW9FTXpFO0V0RjJERztJc0Z6RU47TXBFOERFLFlBM0ZZLEVBQUE7SW9FaUNkO01wRTBERSxZQTNGWSxFQUFBO0lvRXlDWjtNcEVrREEsZ0NBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsMkJBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsaUNBdEQwRSxFQUFBO0lvRUkxRTtNcEVrREEsNEJBdEQwRSxFQUFBLEVvRU16RTtFdEYyREc7SXNGekVOO01wRThERSxZQTNGWSxFQUFBO0lvRWlDZDtNcEUwREUsWUEzRlksRUFBQTtJb0V5Q1o7TXBFa0RBLGdDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDJCQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLGlDQXREMEUsRUFBQTtJb0VJMUU7TXBFa0RBLDRCQXREMEUsRUFBQSxFb0VNekU7O0FBa1REO0VLdFlJLDhCQUFtQyxFQUFBO0UzRjBJbkM7SXNGNFBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0QztFdEZ6UEc7SXNGdVBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0QztFdEZ6UEc7SXNGdVBKO01LdFlJLDZCQUFtQyxFQUFBLEVMd1l0Qzs7QXRGOVBHO0VzRmdRRjtJSzFZRSw2QkFBbUMsRUFBQSxFTDRZcEM7O0F0RjdQQztFc0YyUEY7SUsxWUUsNkJBQW1DLEVBQUEsRUw0WXBDOztBdEY3UEM7RXNGMlBGO0lLMVlFLDZCQUFtQyxFQUFBLEVMNFlwQzs7QXREelhNO0U0RG1DWCxrQkFBa0I7RUFDbEIsV3RGK1FzQjtFc0Y5UXRCLGNuRzVEK0I7RW1HNkQvQixlQUFlLEVBQUE7RXZHd2xqQ2Y7SXVGaC9pQ0UsVUFBVSxFQUFBO0VnQnRHWjtJQUVFLGNuRzdFYSxFQUFBO0VtR2tGZjtJQXhCQSxjdEYrUmM7SXNGOVJkLFd0RmtTYTtJc0ZqU2IsZ0J0RnFTWTtJc0ZwU1osY3RGdVN3QixFQUFBO0VzRmxSeEI7SUF4QkEsV3RGZ1NZO0lzRi9SWixTdEZtU1k7SXNGbFNaLGN0RnNTVztJc0ZyU1gsY3RGdVN3QixFQUFBOztBdUZyS3hCO0VBbEpBLGtCQUFrQjtFQUNsQixtQnZGb0JrQjtFdUZuQmxCLFVBQVU7RUFHVixtQjNGbUI4RDtFMkZsQjlELGlCQUFpQjtFQUNqQixjcEd2RGU7RW9HeURmLHlCQUFpQjtLQUFqQixzQkFBaUI7TUFBakIscUJBQWlCO1VBQWpCLGlCQUFpQjtFQTJJZixZdkYrakJnQixFQUFBOztBdUYzakJsQjtFQTFJQSxrQkFBa0I7RUFDbEIsZ0JBQWdCO0VBQ2hCLFVBQVUsRUFBQTs7QUE2SVY7RUFuSUEsa0JBQWtCO0VBQ2xCLGNBQWM7RUFDZCxXQVBpQztFQVFqQyxZdkZzckJrQjtFdUZwckJsQixnQnRHMUVtQjtFc0cyRW5CLG1Cckc3RGU7RXFHOERmLHNDdkYyckIyQztFdUYzckIzQyw4QnZGMnJCMkM7RXVGeHJCM0Msb0JB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QjtVQy9CaEIsUUQrQmdCLEVBQUE7O0FBQ1o7RUNoQ0osNEJEK0JnQjtNQy9CaEIsaUJEK0JnQjtVQy9CaEIsUUQrQmdCLEVBQUE7O0E5R3NFVjtFOEdyRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0E5R3dFQztFOEcxRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBO0VBQ1o7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFEK0JnQixFQUFBLEVBR1g7O0E5R3dFQztFOEcxRUY7SUNoQ0osNEJEK0JnQjtRQy9CaEIsaUJEK0JnQjtZQy9CaEIsUUQrQmdCLEVBQUE7RUFDWjtJQ2hDSiw0QkQrQmdCO1FDL0JoQixpQkQrQmdCO1lDL0JoQixRRCtCZ0IsRUFBQTtFQUNaO0lDaENKLDRCRCtCZ0I7UUMvQmhCLGlCRCtCZ0I7WUMvQmhCLFFE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ZSxFQUFBO01BbHZCL0I7UUFxdkJnQixpQkFBaUI7UUFDakIsY3hIaHhCQztRd0hpeEJELG1CL0c1c0JnRDtRK0c2c0JoRCxnQkFBZ0IsRUFBQTtRQXh2QmhDO1VBMHZCb0IsY3pIcHdCSCxFQUFBO1F5SFVqQjtVQTZ2Qm9CLGN6SGh4QkgsRUFBQTtJeUhtQmpCO01BbXdCWSxrQ0FBdUUsRUFBQTtJQW53Qm5GO01BdXdCWSxjekgxeEJLLEVBQUE7SVF3SlQ7TWlIcklSO1FBMndCZ0IseUJ4SHh5QkMsRUFBQTtRd0g2QmpCO1VBZ3hCNEIsY3pIbnlCWCxFQUFBLEV5SG95QlE7SWpINW9CakI7TWlIcklSO1FBeXhCd0IsWW5IemlCaEI7UW1IMGlCZ0IsY3hIeHlCUyxFQUFBLEV3SHl5Qlo7O0FBUXJCO0VBSWdCLHFCQUFxQjtFQUVyQixrQm5IeW5EcUI7RW1IeG5EckIsZ0JuSHluRG1CO0VtSHhuRG5CLGN4SHgwQkM7RXdIeTBCRCxpQ3hIcnFCdUI7RXdIc3FCdkIseUJ6SDl6Qkc7RXlIK3pCSCxnQjFIdDBCSztFMEh1MEJMLHFEeEgza0JNO0V3SDJrQk4sNkN4SDNrQk0sRUFBQTs7QXdIK2pCdEI7RUFnQm9CLGN4SGgxQkg7RXdIaTFCRyx5QnpIdjBCSDtFeUh3MEJHLHFEeEhsbEJFO0V3SGtsQkYsNkN4SGxsQkUsRUFBQTs7QXdIZ2tCdEI7RUF1Qm9CLGN4SHYxQkg7RXdIdzFCRyx5QnpIcjBCSCxFQUFBOztBeUg2eUJqQjtFQWlDZ0IsWW5IcGpCTDtFbUh3akJLLGVuSHlsRGUsRUFBQTs7QW1IOW5EL0I7RUFnRGdCLFluSGxrQkQ7RW1Ic2tCQyxpQ0FBK0M7VUFBL0MseUJBQStDO0VBQy9DLGlCbkh5bER1QjtFbUh4bER2Qixlbkh3a0RlLEVBQUE7O0FtSDNpRC9CO0VBQ0ksZ0JBQWdCO0VBQ2hCLGtCQUFrQixFQUFBOztBQXhlVDtFQTZlVCxZQUFZO0VBQ1osWUFBWTtFQUVSLHNCMUh4NUJhLEVBQUE7RVM2SmI7SWlIdXZCUjtNaEhvMUVRLG9CSDNmZ0M7TUc2ZnBDLDREUnIrRmlEO2NRcStGakQs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QztReUhvSHJDLDJDekg5SE07UXlIOEhOLG1Dekg5SE07UXlIOEhOLDJCekg5SE07UXlIOEhOLG9Eekg5SE0sRUFBQTtNeUh6SHRCO1FBZ1FnQiwwQkFBc0I7WUFBdEIsc0JBQXNCO1FBQ3RCLHFCQUFxQixFQUFBO1FsSHRPN0I7VWtIM0JSO1lBbVFvQixZcEg5WUk7WW9IaVpKLFlwSHNvR0wsRUFBQSxFb0hub0dGO01BelFiO1FBMlFnQix5QkFBcUI7UUFXckIseUJ6SHBaZ0I7UXlIc1paLGdCM0gxWkM7UTJINFpMLHlCekhqYUM7UXlIa2FELDRCekhqS007UXlIaUtOLG9CekhqS00sRUFBQTtRT3BHZDtVa0h0QlI7WUE2Um9CLDRCcEg0b0dRO2dCb0g1b0dSLGlCcEg0b0dRO29Cb0g1b0dSLFFwSDRvR1EsRUFBQSxFb0gxbkdmO1FsSHBSTDtVa0gzQlI7WUFpU29CLG9CQUFhO1lBQWIsb0JBQWE7WUFBYixhQUFhO1lBQ2IsZ0JBQWdCLEVBQUEsRUFhdkI7UUEvU2I7VUF5U29CLFlBQVk7VUFFUixnQjNIN2FILEVBQUE7TVV3b0JqQjtRaUhwTlksb0JBQWE7UUFBYixvQkFBYTtRQUFiLGFBQWE7UUFDYiw0QkFBc0I7UUFBdEIsNkJBQXNCO1lBQXRCLDBCQUFzQjtnQkFBdEIsc0JBQXNCO1FBQ3RCLFNwSHFsRzZCO1FvSHBsRzdCLFNwSHNsR0osRUFBQTtRRXIzR0o7VUNnZko7WWlIL01nQiw0QnBIbW5HYztnQm9Ibm5HZCxpQnBIbW5HYztvQm9Ibm5HZCxRcEhtbkdjLEVBQUEsRW9IOWxHckI7UWxIalRMO1VDMmVKO1lpSDFNZ0IsbUJBQU87Z0JBQVAsV0FBTztvQkFBUCxPQUFPO1lBQ1AsY3BIK2tHSCxFQUFBLEVvSGhrR0o7UUE1VWI7VUFnVW9CLGdCQUFnQjtVQUNoQixvQmhIaFk0QyxFQUFBO1FEMmxENUQ7VUFDSSxjUjVvRHlCO1VRNm9EekIsb0JDN2xEd0Q7VUQ4bER4RCxnQkh1aUJzQztVR3RpQnRDLGdCVDUrQ2dDLEVBQUE7VVM2K0NoQztZQUNJLGNUL3BESztZU2dxREwsMEJBQTBCLEVBQUE7VUFFOUI7WUFDSSxjVDFwREssRUFBQTtRMEhvSGpCO1VBcVVvQixtQmhIcFk0QztVZ0hxWTVDLGdCcEh5a0c2QjtVb0h4a0c3QixjekgzY0gsRUFBQTtVeUhvSWpCO1lBeVV3QixTQUFTLEVBQUE7TWpIZ003QjtRaUh4TFksb0JoSGhaZ0QsRUFBQTtRRnFGeEQ7VUNtZko7WWlIdExnQiw0QnBId2xHTztnQm9IeGxHUCxpQnBId2xHTztvQm9IeGxHUCxRcEh3bEdPLEVBQUEsRW9IL2tHZDtRbEhqVUw7VUM4ZUo7WWlIbkxnQixVcEgwa0dOO1lvSHprR00sbUJBQVk7Z0JBQVosb0JBQVk7b0JBQVosWUFBWTtZQUNaLFNBQVM7WUFDVCxlcEgwa0dIO1lvSHprR0csZ0JBQWdCLEVBQUEsRUFFdkI7TWpIZ0xUO1FpSDlLWSxnQkFBZ0I7UUFHaEIsb0JoSGhhZ0Q7UWdIaWFoRCxnQkFBZ0I7UUFDaEIsYzFIaGVDLEVBQUE7UVFtSlQ7VUNzZko7WWlIdktnQiw0QnBIdWtHUTtnQm9IdmtHUixpQnBIdWtHUTtvQm9IdmtHUixRcEh1a0dRLEVBQUEsRW9IMWpHZjtRbEh2Vkw7VUNpZko7WWlIcEtnQixlQUFlO1lBQ2YsVXBIb2pHTjtZb0huakdNLGVwSGdqR0gsRUFBQSxFb0h4aUdKO01BbFhiO1FBb1hnQixXQUFXLEVBQUE7UWxIOVZuQjtVa0h0QlI7WUF3WG9CLDRCcEhzakdnQjtnQm9IdGpHaEIsaUJwSHNqR2dCO29Cb0h0akdoQixRcEhzakdnQixFQUFBLEVvSDlpR3ZCO1FsSHJXTDtVa0gzQlI7WUEyWG9CLGNwSHVrR08sRUFBQSxFb0hsa0dkO01sSHJXTDtRQ3FmSjtVaUg3SWdCLHdCQUF1QjtjQUF2QixxQkFBdUI7a0JBQXZCLHVCQUF1QixFQUFBLEVBRTlCO01BclliO1FBdVlnQixpQkFBaUIsRUFBQTtNQXZZakM7UUEwWWdCLFdBQVcsRUFBQTtRbEgvV25CO1VrSDNCUjtZQTRZb0IsY3BIc2pHTyxFQUFBLEVvSC9pR2Q7TUFuWmI7UUFxWmdCLFdBQVc7UUFDWCxvQkFBYTtRQUFiLG9CQUFhO1FB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SUFNUSxpQkFBaUI7SUFDakIsbUMxSHVGYztJMEh2RmQsMkIxSHVGYyxFQUFBOztBeUUvUXRCO0VqRTYwR1EscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsd0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHVDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsdUNBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxzQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCx1Q0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHNDQUF1RDtFbUhqcUczRCx1QkFBZTtFQUVmLHVCQUFlO0VuSCtwR1gscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHNDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQscUNBQXVEO0VBQXZELHFDQUF1RDtFQUF2RCxxQ0FBdUQ7RUFBdkQsc0NBQXVEO0VBQXZELG1DQUF1RDtFQUF2RCxtQ0FBdUQ7RUFBdkQsbUNBQXVEO0VBQXZELG1DQUF1RDtFQUF2RCxtQ0FBdUQ7RUFBdkQsbUNBQXVEO0VBQXZELG1DQUF1RDtFQUF2RCxtQ0FBdUQ7RUFBdkQsbUNBQXVEO0VBQXZELG1DQUF1RDtFQUF2RCxvQ0FBdUQ7RW1IbnBHM0QscUNBQThCO0VBQzlCLHVDQUFnQztFQUk1Qiw0Q0FBa0I7RUFJdEIsNkJBQXVCO0VBQ3ZCLDBCQUFxQjtFQUNyQixzQkFBa0I7RUFDbEIsdUJBQWtCO0VBSWxCLHlCQUFxQjtFQUVyQixzQ0FBOEI7RUFHOUIsMEJBQXdCLEVBQUE7O0FuSHN2R3hCO0VBQ0ksNkJBQWdDO0VBQ2hDLG1CQUEwQjtFQUMxQixpQlR2N0dpQjtFU3c3R2pCLHFCVHY3R3dCO0VTdzdHeEIsd0JUdjdHd0I7RVN3N0d4QixxQlR2N0d3QixFQUFBOztBa0ZOOUI7RTBDK01FLGlCQUFpQjtFQUNqQixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLDRCQUFzQjtFQUF0Qiw2QkFBc0I7TUFBdEIsMEJBQXNCO1VBQXRCLHNCQUFzQjtFQUV0QixrQkFBa0IsRUFBQTs7QUFFdEI7RUFDSSxrQkFBa0IsRUFBQTs7QUFRdEI7RUFHSSxXQUFXO0VBQ1gsb0JBQWE7RUFBYixvQkFBYTtFQUFiLGFBQWE7RUFDYiw0QkFBc0I7RUFBdEIsNkJBQXNCO01BQXRCLDBCQUFzQjtVQUF0QixzQkFBc0I7RUFFdEIsd0JBQXVCO01BQXZCLHFCQUF1QjtVQUF2Qix1QkFBdUI7RUFFdkIsbUJBQVk7TUFBWixvQkFBWTtVQUFaLFlBQVksRUFBQTtFQVRoQjtJQVdRLFdBQVcsRUFBQTs7QW5GN01uQjtFbUZtTkksZ0JBQWdCLEVBQUE7O0FwSDVFWjtFc0YvSk47SThCZ1BNLGlCdEg5T3FDLEVBQUEsRXNIdVA1Qzs7QUFYRDtFQU1RLGVBQWU7RUFDZixXQUFXO0VBRVgsY0FBYyxFQUFBOztBekVpTnRCO0V5RTNNSSxXQUFXLEVBQUE7RXBIOUZQO0kyQ3lTUjtNeUV6TVEsVUFBVSxFQUFBLEVBYWpCO0VBakJEO0lBUVEsb0JBQWE7SUFBYixvQkFBYTtJQUFiLGFBQWE7SUFDYiw0QkFBc0I7SUFBdEIsNkJBQXNCO1FBQXRCLDBCQUFzQjtZQUF0QixzQkFBc0I7SUFDdEIsbUJBQVk7UUFBWixvQkFBWTtZQUFaLFlBQVksRUFBQTtJQVZwQjtNQVlZLG1CQUFZO1VBQVosb0JBQVk7Y0FBWixZQUFZO01BQ1oseUJBQW1CO1VBQW5CLHNCQUFtQjtjQUFuQixtQkFBbUIsRUFBQTs7QXBIOUd2QjtFRHNVUjtJcUg5TVksY0FBYyxFQUFBLEVBRXJCOztBQUdMO0VBQ0ksZ0J0SDQxRlc7RXNIMzFGWCxtQnRIMjFGVyxFQUFBO0VFcjlGUDtJb0h3SFI7TUFJUSxnQnRIMDFGTztNc0h6MUZQLG1CdEh5MUZPLEVBQUEsRXNIdjFGZDs7QUFFRDtFQUNJLG1CQUFtQixFQUFBOztBcEhsSWY7RW9IcUlSO0lDdlNJLHVCQUZ1QztJQUd2QyxzQkFIdUM7SUNOekMsZ0IvQm1Ja0U7SWdDOUdsRSxXNUMyRnlELEVBQUEsRXlDc010RDtFcEhqSkc7SW9IMElSO01DdlNJLHdCQUZ1QztNQUd2Qyx1QkFIdUMsRUFBQSxFRGdUdEM7O0FwSDVJRztJb0hxSVI7TUl6U00sVzdDMEdxRDtNNkN6R3JELFdBQVcsRUFBQTtJSndTakI7TUlsU1EsWTdDb0dvRCxFQUFBLEU2Q25HckQ7O0FKMlNQO0VBQ0ksbUJBQW1CLEVBQUE7O0FBR3ZCO0VBQ0ksa0JBQWtCLEVBQUE7O0FBR3RCO0VBRVEsVUFBVTtFQUNWLG1CQUFtQjtFQUNuQix5RDNIckQwQztVMkhxRDFDLGlEM0hyRDBDO0UySHNEMUMsZ0M1SHBUUyxFQUFBOztBNEh3VGpCO0VBQ0ksZ0JBQWdCLEVBQUE7O0FBR3BCO0VBQ0ksV0FBVztFQUNYLGNBQWM7RUFDZCxpQkFBaUI7RUFDakIsYzVIaFVhO0U0SGlVYixnQnRIMGR1QztFc0h6ZHZDLGtCdEgyZHlDO0VzSDFkekMsb0JsSHJRNEQ7RWtIc1E1RCwrQzVIbFZpRCxFQUFBO0U0SDBVckQ7SUFhUSxjNUhoVVMsRUFBQTtFNEhtVGpCO0lBZ0JRLGM1SDFVVyxFQUFBOztBNEgrVW5CO0VBQ0ksYUFBYTtFQUNiLHlCM0hwVjRCO0UySHFWNUIsb0JBQW9CLEVBQUE7O0FBR3hCO0VBRVEsa0JBQWtCLEVBQUE7O0FBSTFCO0VuSGd3RVEsaUJBQWlCO0VBQ2pCLGtCQUFrQjtFQUNsQixrQkh2Z0NZO0VHd2dDWixvQkFBYTtFQUFiLG9CQUFhO0VBQWIsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQix5QlJ2bEZ5QjtFUXdsRnpCLHlCUjlsRnlCO0VRK2xGekIsb0JDdGlGd0Q7RUR1aUZ4RCxpQkFBaUI7RUFDakIsZ0JBQWdCO0VBQ2hCLHFCQUFxQjtFQUNyQixnQkFBZ0I7RUFDaEIscUNSbDNFYztFUWszRWQsNkJSbDNFYyxFQUFBO0VPL0ZkO0lvSHFNUjtNbkg4d0VZLGtCSGxoQ1EsRUFBQSxFR2drQ2Y7RW1INXpFTDtJbkhpeEVZLHFCUmhtRnFCO0lRaW1GckIscUNSejNFVTtJUXkzRVYsNkJSejNFVSxFQUFBO0UySHVHdEI7SW5IcXhFWSx3QkFBZ0I7SUFBaEIsZ0JBQWdCO0lBQ2hCLE1BQU07SUFDTix1QkFBdUI7SUFDdkIsbUJBQW1CLEVBQUE7RW1IeHhFL0I7SW5IMnhFWSxrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFlBQVk7SUFDWixjQUFjO0lBQ2QseUJSdm5GcUI7SVF3bkZyQixxRVJ0NEVVO0lRczRFViw2RFJ0NEVVLEVBQUE7STJIc0d0QjtNbkhreUVnQixZSGh2RUk7TUdpdkVKLG1DUnIrRTJCO01RcytFM0IsZUFBZTtNQUNmLGNSNW9GQztNUTZvRkQsOENSNTRFTTtNUTQ0RU4sc0NSNTRFTSxFQUFBO0kySHNHdEI7TW5IeXlFZ0IseUJUdG9GQztNU3VvRkQseUNSajVFTTtNUWk1RU4saUNSajVFTSxFQUFBO0kySHVHdEI7TW5INnlFZ0IseUJUMW9GQyxFQUFBO000SDZWakI7UW5IK3lFb0IsaUNSbC9FbUIsRUFBQTtJMkhtTXZDO01uSG16RWdCLGFBQWE7TUFDYixXQUFXO01BQ1gsOENSNTVFTTtNUTQ1RU4sc0NSNTVFTSxFQUFBO00ySHVHdEI7UW5IdXpFb0IsZUFBZTtRQUNmLGtDUi81RUU7UVErNUVGLDBCUi81RUUsRUFBQSIsImZpbGUiOiJmdW50aW1lZ2lmdHMvYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxyXG5cclxuVGhpcyBpcyB0aGUgYmFzZSBvZiB0aGUgYXBwLmNzcyBmaWxlLCB0byBtb2RpZnkgdGhlIGNvbmZpZ3VyYXRpb24gb3QgYSBzaXRlIGxldmVsIGdvIHRvIC9icmFuZGluZy5zY3NzIGlmIHlvdSBuZWVkIG1vZGlmeSB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gb2YgYWxsIHNpdGVzIGdvIHRvIC9nbG9iYWwvdmFyaWFibGVzLnNjc3MuXHJcblxyXG5bIElNUE9SVEFOVCBdIC0gTm8gQkVTUE9LRSBDU1MgUlVMRSdTIHNob3VsZCBiZSBzcGVjaWZpZWQgaGVyZSBvciBpbiBicmFuZGluZy5zY3NzLCBpZiB5b3UgbmVlZCB0byBtb2RpZnkgdGhlIGNzcyBkbyBpdCBpbiBlaXRoZXIgL2dsb2JhbCBvciBpbiAvY29tcG9uYW50cyBvdGhlcndpc2UgaXQgd2lsbCBjYXVzZSB0ZWFycywgSUYgeW91IHJlYWxseSBoYXZlIHRvIHRvIGl0IGluIHRoZSBzaXRlIHNwZWNpZmljIGJyYW5kaW5nLnNjc3MgdW5kZXIgYWxsIG9mIHRoZSBTQVNTIG92ZXJyaWRlcy5cclxuXHJcbioqL1xuLypcclxuXHJcbnZhbHVlcyBjYW4gYmUgZWl0aGVyIGEgbGlzdCBvciBtYXAuXHJcblxyXG5CcmVha3BvaW50IHZhbHVlczpcclxuU21hbGwgPSAxXHJcbk1lZGl1bSA9IDJcclxuTGFyZ2UgPSAzXHJcbnhMYXJnZSA9IDRcclxueHhMYXJnZSA9IDVcclxuXHJcbiovXG4vKipcclxuXHJcblNpdGUgc3BlY2lmaWMgYnJhbmRpbmcgKCBjb2xvdXJzICYgZm9udHMgKSBhbnkgc2FzcyBvdmVycmlkZXMgZ2V0IGRlZmluZWQgaGVyZSBhcyB3ZWxsLlxyXG5cclxuWyBJTVBPUlRBTlQgXSAtIFlvdSBtYXliZSBjb21wZWxsZWQgdG8gd3JpdGUgYmVzcG9rZSBjc3MgcnVsZXMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZmlsZSBqdXN0IHRvIG1ha2UgYSBcIiBxdWljayBcIiBzaXRlIHNwZWNpZmljIGNoYW5nZSBidXQgdGhpcyBXSUxMIGNvbmZsaWN0IHdpdGggdGhlIGNzcyBiZWluZyBkZWZpbmVkIGluIC9nbG9iYWwgYW5kIC9jb21wb25lbnQgZWl0aGVyIGZyb20gYSBjb25maWd1cmF0aW9uIHN0YW5jZSBvciByZXNwb25zaXZlIHBvaW50IG9mIHZpZXcsIHNvIHBsZWFzZSBjb25zdWx0L21vZGlmeSB0aG9zZSAyIGRpcmVjdG9yaWVzIGFzIG5lZWRlZCwgdGhpcyBmaWxlIHdhcyBvbmx5IHRvIGRlc2lnbmVkIGZvciBTQVNTIHZhcmlhYmxlcy5cclxuXHJcbioqL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PUtodWxhOndnaHRAMzAwOzQwMDs2MDA7NzAwOzgwMCZkaXNwbGF5PXN3YXBcIik7XG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbjpyb290LCA6aG9zdCB7XG4gIC0tZmEtc3R5bGUtZmFtaWx5LWJyYW5kczogJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7XG4gIC0tZmEtZm9udC1icmFuZHM6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDYgQnJhbmRzJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL3dlYmZvbnRzL2ZhLWJyYW5kcy00MDAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi5mYWIsXG4uZmEtYnJhbmRzIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uZmEtbW9uZXJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QwXCI7IH1cblxuLmZhLWhvb2xpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI3XCI7IH1cblxuLmZhLXllbHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZTlcIjsgfVxuXG4uZmEtY2MtdmlzYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmMFwiOyB9XG5cbi5mYS1sYXN0Zm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDJcIjsgfVxuXG4uZmEtc2hvcHdhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1YjVcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlOFwiOyB9XG5cbi5mYS1hd3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzVcIjsgfVxuXG4uZmEtcmVkaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2JjXCI7IH1cblxuLmZhLXlvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmIxXCI7IH1cblxuLmZhLWNsb3VkZmxhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwN2RcIjsgfVxuXG4uZmEtdXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2UwXCI7IH1cblxuLmZhLXBpeGl2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjQwXCI7IH1cblxuLmZhLXdwZXhwbG9yZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZGVcIjsgfVxuXG4uZmEtZHlhbG9nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzk5XCI7IH1cblxuLmZhLWJpdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2FcIjsgfVxuXG4uZmEtc3RhY2twYXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODQyXCI7IH1cblxuLmZhLWJ1eXNlbGxhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMGRcIjsgfVxuXG4uZmEtZmlyc3Qtb3JkZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjBcIjsgfVxuXG4uZmEtbW9keDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4NVwiOyB9XG5cbi5mYS1ndWlsZGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdlXCI7IH1cblxuLmZhLXZudjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwYlwiOyB9XG5cbi5mYS1zcXVhcmUtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjlcIjsgfVxuXG4uZmEtanMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2I5XCI7IH1cblxuLmZhLW1pY3Jvc29mdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjYVwiOyB9XG5cbi5mYS1xcTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkNlwiOyB9XG5cbi5mYS1vcmNpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhkMlwiOyB9XG5cbi5mYS1qYXZhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU0XCI7IH1cblxuLmZhLWludmlzaW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2IwXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGVkXCI7IH1cblxuLmZhLWNlbnRlcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODBcIjsgfVxuXG4uZmEtZ2xpZGUtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNlwiOyB9XG5cbi5mYS1kcnVwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYTlcIjsgfVxuXG4uZmEtaGlyZS1hLWhlbHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiMFwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLWJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU3XCI7IH1cblxuLmZhLXVuaXR5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ5XCI7IH1cblxuLmZhLXdobWNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBkXCI7IH1cblxuLmZhLXJvY2tldGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZThcIjsgfVxuXG4uZmEtdms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODlcIjsgfVxuXG4uZmEtdW50YXBwZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwNVwiOyB9XG5cbi5mYS1tYWlsY2hpbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OWVcIjsgfVxuXG4uZmEtY3NzMy1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOGJcIjsgfVxuXG4uZmEtc3F1YXJlLXJlZGRpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMlwiOyB9XG5cbi5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEyXCI7IH1cblxuLmZhLXZpbWVvLXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyN2RcIjsgfVxuXG4uZmEtY29udGFvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZkXCI7IH1cblxuLmZhLXNxdWFyZS1mb250LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YWRcIjsgfVxuXG4uZmEtZGVza3BybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZlwiOyB9XG5cbi5mYS1icmF2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYzY1wiOyB9XG5cbi5mYS1zaXN0cml4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VlXCI7IH1cblxuLmZhLXNxdWFyZS1pbnN0YWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTVcIjsgfVxuXG4uZmEtaW5zdGFncmFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NVwiOyB9XG5cbi5mYS1iYXR0bGUtbmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM1XCI7IH1cblxuLmZhLXRoZS1yZWQteWV0aTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjY5ZFwiOyB9XG5cbi5mYS1zcXVhcmUtaGFja2VyLW5ld3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWZcIjsgfVxuXG4uZmEtaGFja2VyLW5ld3Mtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FmXCI7IH1cblxuLmZhLWVkZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODJcIjsgfVxuXG4uZmEtdGhyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxOFwiOyB9XG5cbi5mYS1uYXBzdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2QyXCI7IH1cblxuLmZhLXNxdWFyZS1zbmFwY2hhdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhZFwiOyB9XG5cbi5mYS1zbmFwY2hhdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWRcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkNVwiOyB9XG5cbi5mYS1hcnRzdGF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzdhXCI7IH1cblxuLmZhLW1hcmtkb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjBmXCI7IH1cblxuLmZhLXNvdXJjZXRyZWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZDNcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjNcIjsgfVxuXG4uZmEtZGlhc3BvcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTFcIjsgfVxuXG4uZmEtZm91cnNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4MFwiOyB9XG5cbi5mYS1zdGFjay1vdmVyZmxvdzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2Y1wiOyB9XG5cbi5mYS1naXRodWItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTEzXCI7IH1cblxuLmZhLXBob2VuaXgtc3F1YWRyb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MTFcIjsgfVxuXG4uZmEtcGFnZWxpbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMThjXCI7IH1cblxuLmZhLWFsZ29saWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmNcIjsgfVxuXG4uZmEtcmVkLXJpdmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UzXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2E6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWZcIjsgfVxuXG4uZmEtc2FmYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY3XCI7IH1cblxuLmZhLWdvb2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhMFwiOyB9XG5cbi5mYS1zcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM1Y1wiOyB9XG5cbi5mYS1mb250LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzVjXCI7IH1cblxuLmZhLWF0bGFzc2lhbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc3YlwiOyB9XG5cbi5mYS1saW5rZWRpbi1pbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiOyB9XG5cbi5mYS1kaWdpdGFsLW9jZWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkxXCI7IH1cblxuLmZhLW5pbWJscjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhOFwiOyB9XG5cbi5mYS1jaHJvbWVjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM4XCI7IH1cblxuLmZhLWV2ZXJub3RlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmODM5XCI7IH1cblxuLmZhLWhhY2tlci1uZXdzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ0XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjBcIjsgfVxuXG4uZmEtYWR2ZXJzYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmFcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI1ZVwiOyB9XG5cbi5mYS13YXRjaG1hbi1tb25pdG9yaW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg3XCI7IH1cblxuLmZhLWZvbnRpY29uczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MFwiOyB9XG5cbi5mYS13ZWl4aW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDdcIjsgfVxuXG4uZmEtc2hpcnRzaW5idWxrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE0XCI7IH1cblxuLmZhLWNvZGVwZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2JcIjsgfVxuXG4uZmEtZ2l0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MVwiOyB9XG5cbi5mYS1seWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2MzXCI7IH1cblxuLmZhLXJldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjViMlwiOyB9XG5cbi5mYS13aW5kb3dzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdhXCI7IH1cblxuLmZhLXdpemFyZHMtb2YtdGhlLWNvYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzMwXCI7IH1cblxuLmZhLXNxdWFyZS12aWFkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWFcIjsgfVxuXG4uZmEtdmlhZGVvLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhYVwiOyB9XG5cbi5mYS1tZWV0dXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZTBcIjsgfVxuXG4uZmEtY2VudG9zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzg5XCI7IH1cblxuLmZhLWFkbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MFwiOyB9XG5cbi5mYS1jbG91ZHNtaXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg0XCI7IH1cblxuLmZhLW9wZW5zdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjJiXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE4XCI7IH1cblxuLmZhLXNxdWFyZS1kcmliYmJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5N1wiOyB9XG5cbi5mYS1kcmliYmJsZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTdcIjsgfVxuXG4uZmEtY29kaWVwaWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODRcIjsgfVxuXG4uZmEtbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxOVwiOyB9XG5cbi5mYS1taXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzY2JcIjsgfVxuXG4uZmEtc3RlYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjZcIjsgfVxuXG4uZmEtY2MtYXBwbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDE2XCI7IH1cblxuLmZhLXNjcmliZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4YVwiOyB9XG5cbi5mYS1kZWJpYW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGJcIjsgfVxuXG4uZmEtb3BlbmlkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTliXCI7IH1cblxuLmZhLWluc3RhbG9kOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgxXCI7IH1cblxuLmZhLWV4cGVkaXRlZHNzbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzZVwiOyB9XG5cbi5mYS1zZWxsY2FzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkYVwiOyB9XG5cbi5mYS1zcXVhcmUtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiOyB9XG5cbi5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MVwiOyB9XG5cbi5mYS1yLXByb2plY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjdcIjsgfVxuXG4uZmEtZGVsaWNpb3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE1XCI7IH1cblxuLmZhLWZyZWVic2Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTRcIjsgfVxuXG4uZmEtdnVlanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWZcIjsgfVxuXG4uZmEtYWNjdXNvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNjlcIjsgfVxuXG4uZmEtaW94aG9zdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOFwiOyB9XG5cbi5mYS1mb250aWNvbnMtZmk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTJcIjsgfVxuXG4uZmEtYXBwLXN0b3JlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzZmXCI7IH1cblxuLmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjFcIjsgfVxuXG4uZmEtaXR1bmVzLW5vdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjVcIjsgfVxuXG4uZmEtZ29sYW5nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNDBmXCI7IH1cblxuLmZhLWtpY2tzdGFydGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JiXCI7IH1cblxuLmZhLWdyYXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDZcIjsgfVxuXG4uZmEtd2VpYm86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGFcIjsgfVxuXG4uZmEtdW5jaGFydGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg0XCI7IH1cblxuLmZhLWZpcnN0ZHJhZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTFcIjsgfVxuXG4uZmEtc3F1YXJlLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzFcIjsgfVxuXG4uZmEteW91dHViZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MzFcIjsgfVxuXG4uZmEtd2lraXBlZGlhLXc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjZcIjsgfVxuXG4uZmEtd3ByZXNzcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNFwiOyB9XG5cbi5mYS1yZW5kYWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U0XCI7IH1cblxuLmZhLWFuZ2VsbGlzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwOVwiOyB9XG5cbi5mYS1nYWxhY3RpYy1yZXB1YmxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwY1wiOyB9XG5cbi5mYS1uZmMtZGlyZWN0aW9uYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1MzBcIjsgfVxuXG4uZmEtc2t5cGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2VcIjsgfVxuXG4uZmEtam9nZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjdcIjsgfVxuXG4uZmEtZmVkb3JhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk4XCI7IH1cblxuLmZhLXN0cmlwZS1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJhXCI7IH1cblxuLmZhLW1ldGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0OWJcIjsgfVxuXG4uZmEtbGFyYXZlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiZFwiOyB9XG5cbi5mYS1ob3RqYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjFcIjsgfVxuXG4uZmEtYmx1ZXRvb3RoLWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyOTRcIjsgfVxuXG4uZmEtc3F1YXJlLWxldHRlcmJveGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MmVcIjsgfVxuXG4uZmEtc3RpY2tlci1tdWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y3XCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtemVybzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmM1wiOyB9XG5cbi5mYS1oaXBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDUyXCI7IH1cblxuLmZhLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjRcIjsgfVxuXG4uZmEtcmVkZGl0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWExXCI7IH1cblxuLmZhLWRpc2NvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTJcIjsgfVxuXG4uZmEtY2hyb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY4XCI7IH1cblxuLmZhLWFwcC1zdG9yZS1pb3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzBcIjsgfVxuXG4uZmEtY2MtZGlzY292ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZjJcIjsgfVxuXG4uZmEtd3BiZWdpbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5N1wiOyB9XG5cbi5mYS1jb25mbHVlbmNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzhkXCI7IH1cblxuLmZhLXNob2VsYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjBjXCI7IH1cblxuLmZhLW1kYjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhjYVwiOyB9XG5cbi5mYS1kb2NodWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTRcIjsgfVxuXG4uZmEtYWNjZXNzaWJsZS1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzY4XCI7IH1cblxuLmZhLWViYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjRcIjsgfVxuXG4uZmEtYW1hem9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjcwXCI7IH1cblxuLmZhLXVuc3BsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDdjXCI7IH1cblxuLmZhLXlhcm46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3ZTNcIjsgfVxuXG4uZmEtc3F1YXJlLXN0ZWFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWI3XCI7IH1cblxuLmZhLXN0ZWFtLXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFiN1wiOyB9XG5cbi5mYS01MDBweDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2ZVwiOyB9XG5cbi5mYS1zcXVhcmUtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOTRcIjsgfVxuXG4uZmEtdmltZW8tc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTk0XCI7IH1cblxuLmZhLWFzeW1tZXRyaWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzJcIjsgfVxuXG4uZmEtZm9udC1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmI0XCI7IH1cblxuLmZhLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjRcIjsgfVxuXG4uZmEtZ3JhdGlwYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxODRcIjsgfVxuXG4uZmEtYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzlcIjsgfVxuXG4uZmEtaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3ZlwiOyB9XG5cbi5mYS1naXRrcmFrZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTZcIjsgfVxuXG4uZmEta2V5YmFzZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNVwiOyB9XG5cbi5mYS1hcHBsZS1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTVcIjsgfVxuXG4uZmEtcGFkbGV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNGEwXCI7IH1cblxuLmZhLWFtYXpvbi1wYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MmNcIjsgfVxuXG4uZmEtc3F1YXJlLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5MlwiOyB9XG5cbi5mYS1naXRodWItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDkyXCI7IH1cblxuLmZhLXN0dW1ibGV1cG9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE0XCI7IH1cblxuLmZhLWZlZGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzk3XCI7IH1cblxuLmZhLXBob2VuaXgtZnJhbWV3b3JrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RjXCI7IH1cblxuLmZhLXNob3BpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTdcIjsgfVxuXG4uZmEtbmVvczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjYxMlwiOyB9XG5cbi5mYS1zcXVhcmUtdGhyZWFkczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxOVwiOyB9XG5cbi5mYS1oYWNrZXJyYW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWY3XCI7IH1cblxuLmZhLXJlc2VhcmNoZ2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmOFwiOyB9XG5cbi5mYS1zd2lmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlMVwiOyB9XG5cbi5mYS1hbmd1bGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIwXCI7IH1cblxuLmZhLXNwZWFrYXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZjNcIjsgfVxuXG4uZmEtYW5ncnljcmVhdGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2ZVwiOyB9XG5cbi5mYS15LWNvbWJpbmF0b3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyM2JcIjsgfVxuXG4uZmEtZW1waXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQxXCI7IH1cblxuLmZhLWVudmlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OVwiOyB9XG5cbi5mYS1nb29nbGUtc2Nob2xhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYzYlwiOyB9XG5cbi5mYS1zcXVhcmUtZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWFlXCI7IH1cblxuLmZhLWdpdGxhYi1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YWVcIjsgfVxuXG4uZmEtc3R1ZGlvdmluYXJpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y4XCI7IH1cblxuLmZhLXBpZWQtcGlwZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWVcIjsgfVxuXG4uZmEtd29yZHByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTlhXCI7IH1cblxuLmZhLXByb2R1Y3QtaHVudDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4OFwiOyB9XG5cbi5mYS1maXJlZm94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjY5XCI7IH1cblxuLmZhLWxpbm9kZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJiOFwiOyB9XG5cbi5mYS1nb29kcmVhZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYThcIjsgfVxuXG4uZmEtc3F1YXJlLW9kbm9rbGFzc25pa2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjsgfVxuXG4uZmEtb2Rub2tsYXNzbmlraS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNjRcIjsgfVxuXG4uZmEtanNmaWRkbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2NcIjsgfVxuXG4uZmEtc2l0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxMlwiOyB9XG5cbi5mYS10aGVtZWlzbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYjJcIjsgfVxuXG4uZmEtcGFnZTQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDdcIjsgfVxuXG4uZmEtaGFzaG5vZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0OTlcIjsgfVxuXG4uZmEtcmVhY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWJcIjsgfVxuXG4uZmEtY2MtcGF5cGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY0XCI7IH1cblxuLmZhLXNxdWFyZXNwYWNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWJlXCI7IH1cblxuLmZhLWNjLXN0cmlwZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmNVwiOyB9XG5cbi5mYS1jcmVhdGl2ZS1jb21tb25zLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGYyXCI7IH1cblxuLmZhLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzlcIjsgfVxuXG4uZmEta2V5Y2RuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2JhXCI7IH1cblxuLmZhLW9wZXJhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZhXCI7IH1cblxuLmZhLWl0Y2gtaW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2FcIjsgfVxuXG4uZmEtdW1icmFjbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhlOFwiOyB9XG5cbi5mYS1nYWxhY3RpYy1zZW5hdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1MGRcIjsgfVxuXG4uZmEtdWJ1bnR1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2RmXCI7IH1cblxuLmZhLWRyYWZ0MmRpZ2l0YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTZcIjsgfVxuXG4uZmEtc3RyaXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDI5XCI7IH1cblxuLmZhLWhvdXp6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjdjXCI7IH1cblxuLmZhLWdnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYwXCI7IH1cblxuLmZhLWRobDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc5MFwiOyB9XG5cbi5mYS1zcXVhcmUtcGludGVyZXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQzXCI7IH1cblxuLmZhLXBpbnRlcmVzdC1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDNcIjsgfVxuXG4uZmEteGluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2OFwiOyB9XG5cbi5mYS1ibGFja2JlcnJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdiXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtcGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWNcIjsgfVxuXG4uZmEtcGxheXN0YXRpb246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGZcIjsgfVxuXG4uZmEtcXVpbnNjYXBlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDU5XCI7IH1cblxuLmZhLWxlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWRcIjsgfVxuXG4uZmEtYmxvZ2dlci1iOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzdkXCI7IH1cblxuLmZhLW9wZW5jYXJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjNkXCI7IH1cblxuLmZhLXZpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxY2FcIjsgfVxuXG4uZmEtc2lnbmFsLW1lc3NlbmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTY2M1wiOyB9XG5cbi5mYS1wYXlwYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWRcIjsgfVxuXG4uZmEtZ2l0bGFiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjk2XCI7IH1cblxuLmZhLXR5cG8zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJiXCI7IH1cblxuLmZhLXJlZGRpdC1hbGllbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI4MVwiOyB9XG5cbi5mYS15YWhvbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5ZVwiOyB9XG5cbi5mYS1kYWlseW1vdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1MlwiOyB9XG5cbi5mYS1hZmZpbGlhdGV0aGVtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM2YlwiOyB9XG5cbi5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWE3XCI7IH1cblxuLmZhLWJvb3RzdHJhcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzNlwiOyB9XG5cbi5mYS1vZG5va2xhc3NuaWtpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYzXCI7IH1cblxuLmZhLW5mYy1zeW1ib2w6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1MzFcIjsgfVxuXG4uZmEtbWludGJpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYyZlwiOyB9XG5cbi5mYS1ldGhlcmV1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZVwiOyB9XG5cbi5mYS1zcGVha2VyLWRlY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4M2NcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1uYy1ldTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlOVwiOyB9XG5cbi5mYS1wYXRyZW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q5XCI7IH1cblxuLmZhLWF2aWFuZXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNzRcIjsgfVxuXG4uZmEtZWxsbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmMVwiOyB9XG5cbi5mYS1nb2ZvcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYTdcIjsgfVxuXG4uZmEtYmltb2JqZWN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzc4XCI7IH1cblxuLmZhLWJyYXZlLXJldmVyc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2M2RcIjsgfVxuXG4uZmEtZmFjZWJvb2stZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM5ZVwiOyB9XG5cbi5mYS1zcXVhcmUtZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDRcIjsgfVxuXG4uZmEtZ29vZ2xlLXBsdXMtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ0XCI7IH1cblxuLmZhLW1hbmRhbG9yaWFuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTBmXCI7IH1cblxuLmZhLWZpcnN0LW9yZGVyLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwYVwiOyB9XG5cbi5mYS1vc2k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWFcIjsgfVxuXG4uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlZVwiOyB9XG5cbi5mYS1kLWFuZC1kLWJleW9uZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjYVwiOyB9XG5cbi5mYS1wZXJpc2NvcGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZGFcIjsgfVxuXG4uZmEtZnVsY3J1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwYlwiOyB9XG5cbi5mYS1jbG91ZHNjYWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzgzXCI7IH1cblxuLmZhLWZvcnVtYmVlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjExXCI7IH1cblxuLmZhLW1penVuaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjY1wiOyB9XG5cbi5mYS1zY2hsaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZWFcIjsgfVxuXG4uZmEtc3F1YXJlLXhpbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjsgfVxuXG4uZmEteGluZy1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjlcIjsgfVxuXG4uZmEtYmFuZGNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyZDVcIjsgfVxuXG4uZmEtd3Bmb3JtczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5OFwiOyB9XG5cbi5mYS1jbG91ZHZlcnNpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzODVcIjsgfVxuXG4uZmEtdXNwczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdlMVwiOyB9XG5cbi5mYS1tZWdhcG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVhM1wiOyB9XG5cbi5mYS1tYWdlbnRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M0XCI7IH1cblxuLmZhLXNwb3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmNcIjsgfVxuXG4uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzY1wiOyB9XG5cbi5mYS1mbHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTdcIjsgfVxuXG4uZmEtYXZpYXRvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDIxXCI7IH1cblxuLmZhLWl0dW5lczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNiNFwiOyB9XG5cbi5mYS1jdXR0bGVmaXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzhjXCI7IH1cblxuLmZhLWJsb2dnZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2NcIjsgfVxuXG4uZmEtZmxpY2tyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZlXCI7IH1cblxuLmZhLXZpYmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA5XCI7IH1cblxuLmZhLXNvdW5kY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmVcIjsgfVxuXG4uZmEtZGlnZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhNlwiOyB9XG5cbi5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQ1XCI7IH1cblxuLmZhLWxldHRlcmJveGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MmRcIjsgfVxuXG4uZmEtc3ltZm9ueTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZFwiOyB9XG5cbi5mYS1tYXhjZG46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMzZcIjsgfVxuXG4uZmEtZXRzeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkN1wiOyB9XG5cbi5mYS1mYWNlYm9vay1tZXNzZW5nZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWZcIjsgfVxuXG4uZmEtYXVkaWJsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3M1wiOyB9XG5cbi5mYS10aGluay1wZWFrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjczMVwiOyB9XG5cbi5mYS1iaWxpYmlsaTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTNkOVwiOyB9XG5cbi5mYS1lcmxhbmc6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWRcIjsgfVxuXG4uZmEteC10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjFiXCI7IH1cblxuLmZhLWNvdHRvbi1idXJlYXU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4OWVcIjsgfVxuXG4uZmEtZGFzaGN1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTBcIjsgfVxuXG4uZmEtNDItZ3JvdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODBcIjsgfVxuXG4uZmEtaW5ub3NvZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODBcIjsgfVxuXG4uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOGRcIjsgfVxuXG4uZmEtZWxlbWVudG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDMwXCI7IH1cblxuLmZhLXNxdWFyZS1waWVkLXBpcGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDFlXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWJcIjsgfVxuXG4uZmEtcGFsZmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q4XCI7IH1cblxuLmZhLXN1cGVycG93ZXJzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmRkXCI7IH1cblxuLmZhLXJlc29sdmluZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlN1wiOyB9XG5cbi5mYS14Ym94OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEyXCI7IH1cblxuLmZhLXNlYXJjaGVuZ2luOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2ViXCI7IH1cblxuLmZhLXRpa3RvazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3YlwiOyB9XG5cbi5mYS1zcXVhcmUtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwODJcIjsgfVxuXG4uZmEtZmFjZWJvb2stc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDgyXCI7IH1cblxuLmZhLXJlbnJlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE4YlwiOyB9XG5cbi5mYS1saW51eDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3Y1wiOyB9XG5cbi5mYS1nbGlkZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJhNVwiOyB9XG5cbi5mYS1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4Y1wiOyB9XG5cbi5mYS1odWJzcG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2IyXCI7IH1cblxuLmZhLWRlcGxveWRvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZVwiOyB9XG5cbi5mYS10d2l0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZThcIjsgfVxuXG4uZmEtcmF2ZWxyeTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJkOVwiOyB9XG5cbi5mYS1taXhlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1NlwiOyB9XG5cbi5mYS1zcXVhcmUtbGFzdGZtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjAzXCI7IH1cblxuLmZhLWxhc3RmbS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDNcIjsgfVxuXG4uZmEtdmltZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGFcIjsgfVxuXG4uZmEtbWVuZGVsZXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YjNcIjsgfVxuXG4uZmEtdW5pcmVnaXN0cnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MDRcIjsgfVxuXG4uZmEtZmlnbWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3OTlcIjsgfVxuXG4uZmEtY3JlYXRpdmUtY29tbW9ucy1yZW1peDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRlZVwiOyB9XG5cbi5mYS1jYy1hbWF6b24tcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDJkXCI7IH1cblxuLmZhLWRyb3Bib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNmJcIjsgfVxuXG4uZmEtaW5zdGFncmFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7IH1cblxuLmZhLWNtcGxpZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTM2MFwiOyB9XG5cbi5mYS11cHdvcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2NDFcIjsgfVxuXG4uZmEtZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWFcIjsgfVxuXG4uZmEtZ3JpcGZpcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWNcIjsgfVxuXG4uZmEtamVkaS1vcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUwZVwiOyB9XG5cbi5mYS11aWtpdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwM1wiOyB9XG5cbi5mYS1mb3J0LWF3ZXNvbWUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2EzXCI7IH1cblxuLmZhLXBoYWJyaWNhdG9yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2RiXCI7IH1cblxuLmZhLXVzc3VubmFoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDA3XCI7IH1cblxuLmZhLWVhcmx5YmlyZHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOWFcIjsgfVxuXG4uZmEtdHJhZGUtZmVkZXJhdGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxM1wiOyB9XG5cbi5mYS1hdXRvcHJlZml4ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MWNcIjsgfVxuXG4uZmEtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzJcIjsgfVxuXG4uZmEtc2xpZGVzaGFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFlN1wiOyB9XG5cbi5mYS1nb29nbGUtcGxheTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNhYlwiOyB9XG5cbi5mYS12aWFkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYTlcIjsgfVxuXG4uZmEtbGluZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjMFwiOyB9XG5cbi5mYS1nb29nbGUtZHJpdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYWFcIjsgfVxuXG4uZmEtc2VydmljZXN0YWNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2VjXCI7IH1cblxuLmZhLXNpbXBseWJ1aWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjE1XCI7IH1cblxuLmZhLWJpdGJ1Y2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE3MVwiOyB9XG5cbi5mYS1pbWRiOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMmQ4XCI7IH1cblxuLmZhLWRlZXplcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3N1wiOyB9XG5cbi5mYS1yYXNwYmVycnktcGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YmJcIjsgfVxuXG4uZmEtamlyYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjdiMVwiOyB9XG5cbi5mYS1kb2NrZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzOTVcIjsgfVxuXG4uZmEtc2NyZWVucGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNTcwXCI7IH1cblxuLmZhLWJsdWV0b290aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI5M1wiOyB9XG5cbi5mYS1naXR0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjZcIjsgfVxuXG4uZmEtZC1hbmQtZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM4ZFwiOyB9XG5cbi5mYS1taWNyb2Jsb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMWFcIjsgfVxuXG4uZmEtY2MtZGluZXJzLWNsdWI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGNcIjsgfVxuXG4uZmEtZ2ctY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjYxXCI7IH1cblxuLmZhLXBpZWQtcGlwZXItaGF0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNGU1XCI7IH1cblxuLmZhLWtpY2tzdGFydGVyLWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYmNcIjsgfVxuXG4uZmEteWFuZGV4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDEzXCI7IH1cblxuLmZhLXJlYWRtZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRkNVwiOyB9XG5cbi5mYS1odG1sNTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzYlwiOyB9XG5cbi5mYS1zZWxsc3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTNcIjsgfVxuXG4uZmEtc2FzczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQxZVwiOyB9XG5cbi5mYS13aXJzaW5kaGFuZHdlcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyZDBcIjsgfVxuXG4uZmEtd3NoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMmQwXCI7IH1cblxuLmZhLWJ1cm9tb2JlbGV4cGVydGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzN2ZcIjsgfVxuXG4uZmEtc2FsZXNmb3JjZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzYlwiOyB9XG5cbi5mYS1vY3RvcHVzLWRlcGxveTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MlwiOyB9XG5cbi5mYS1tZWRhcHBzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2M2XCI7IH1cblxuLmZhLW5zODpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNkNVwiOyB9XG5cbi5mYS1waW50ZXJlc3QtcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzMVwiOyB9XG5cbi5mYS1hcHBlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjM3MVwiOyB9XG5cbi5mYS1mb3J0LWF3ZXNvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODZcIjsgfVxuXG4uZmEtd2F6ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjgzZlwiOyB9XG5cbi5mYS1jYy1qY2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyNGJcIjsgfVxuXG4uZmEtc25hcGNoYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWJcIjsgfVxuXG4uZmEtc25hcGNoYXQtZ2hvc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYWJcIjsgfVxuXG4uZmEtZmFudGFzeS1mbGlnaHQtZ2FtZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY2ZGNcIjsgfVxuXG4uZmEtcnVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3YVwiOyB9XG5cbi5mYS13aXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1Y2ZcIjsgfVxuXG4uZmEtc3F1YXJlLWJlaGFuY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjsgfVxuXG4uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYjVcIjsgfVxuXG4uZmEtc3VwcGxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y5XCI7IH1cblxuLmZhLXdlYmZsb3c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2NWNcIjsgfVxuXG4uZmEtcmViZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDBcIjsgfVxuXG4uZmEtY3NzMzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEzY1wiOyB9XG5cbi5mYS1zdGF5bGlua2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y1XCI7IH1cblxuLmZhLWthZ2dsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVmYVwiOyB9XG5cbi5mYS1zcGFjZS1hd2Vzb21lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNWFjXCI7IH1cblxuLmZhLWRldmlhbnRhcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxYmRcIjsgfVxuXG4uZmEtY3BhbmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzg4XCI7IH1cblxuLmZhLWdvb2RyZWFkcy1nOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2E5XCI7IH1cblxuLmZhLXNxdWFyZS1naXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZDJcIjsgfVxuXG4uZmEtZ2l0LXNxdWFyZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkMlwiOyB9XG5cbi5mYS1zcXVhcmUtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTc0XCI7IH1cblxuLmZhLXR1bWJsci1zcXVhcmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNzRcIjsgfVxuXG4uZmEtdHJlbGxvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTgxXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtbmMtanA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZWFcIjsgfVxuXG4uZmEtZ2V0LXBvY2tldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI2NVwiOyB9XG5cbi5mYS1wZXJieXRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgzXCI7IH1cblxuLmZhLWdydW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FkXCI7IH1cblxuLmZhLXdlZWJseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjVjY1wiOyB9XG5cbi5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwZVwiOyB9XG5cbi5mYS1sZWFucHViOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjEyXCI7IH1cblxuLmZhLWJsYWNrLXRpZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjI3ZVwiOyB9XG5cbi5mYS10aGVtZWNvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNWM2XCI7IH1cblxuLmZhLXB5dGhvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlMlwiOyB9XG5cbi5mYS1hbmRyb2lkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTdiXCI7IH1cblxuLmZhLWJvdHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUzNDBcIjsgfVxuXG4uZmEtZnJlZS1jb2RlLWNhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzVcIjsgfVxuXG4uZmEtaG9ybmJpbGw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY1OTJcIjsgfVxuXG4uZmEtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjhcIjsgfVxuXG4uZmEtaWRlYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTNcIjsgfVxuXG4uZmEtZ2l0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWQzXCI7IH1cblxuLmZhLWRldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjY1wiOyB9XG5cbi5mYS1za2V0Y2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY3YzZcIjsgfVxuXG4uZmEteWFuZGV4LWludGVybmF0aW9uYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTRcIjsgfVxuXG4uZmEtY2MtYW1leDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFmM1wiOyB9XG5cbi5mYS11YmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDAyXCI7IH1cblxuLmZhLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5YlwiOyB9XG5cbi5mYS1waHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0NTdcIjsgfVxuXG4uZmEtYWxpcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjQyXCI7IH1cblxuLmZhLXlvdXR1YmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNjdcIjsgfVxuXG4uZmEtc2t5YXRsYXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMTZcIjsgfVxuXG4uZmEtZmlyZWZveC1icm93c2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDA3XCI7IH1cblxuLmZhLXJlcGx5ZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNlNlwiOyB9XG5cbi5mYS1zdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2Q2XCI7IH1cblxuLmZhLWplbmtpbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzYjZcIjsgfVxuXG4uZmEtdHdpdHRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA5OVwiOyB9XG5cbi5mYS1yb2Nrcm1zOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2U5XCI7IH1cblxuLmZhLXBpbnRlcmVzdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkMlwiOyB9XG5cbi5mYS1idWZmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzdcIjsgfVxuXG4uZmEtbnBtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Q0XCI7IH1cblxuLmZhLXlhbW1lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjg0MFwiOyB9XG5cbi5mYS1idGM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxNWFcIjsgfVxuXG4uZmEtZHJpYmJibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxN2RcIjsgfVxuXG4uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWEzXCI7IH1cblxuLmZhLWludGVybmV0LWV4cGxvcmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMjZiXCI7IH1cblxuLmZhLXN0dWJiZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU1YzdcIjsgfVxuXG4uZmEtdGVsZWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjsgfVxuXG4uZmEtdGVsZWdyYW0tcGxhbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyYzZcIjsgfVxuXG4uZmEtb2xkLXJlcHVibGljOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNTEwXCI7IH1cblxuLmZhLW9keXNlZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTVjNlwiOyB9XG5cbi5mYS1zcXVhcmUtd2hhdHNhcHA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MGNcIjsgfVxuXG4uZmEtd2hhdHNhcHAtc3F1YXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDBjXCI7IH1cblxuLmZhLW5vZGUtanM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDNcIjsgfVxuXG4uZmEtZWRnZS1sZWdhY3k6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzhcIjsgfVxuXG4uZmEtc2xhY2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOThcIjsgfVxuXG4uZmEtc2xhY2staGFzaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5OFwiOyB9XG5cbi5mYS1tZWRydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjNjOFwiOyB9XG5cbi5mYS11c2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODdcIjsgfVxuXG4uZmEtdHVtYmxyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTczXCI7IH1cblxuLmZhLXZhYWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQwOFwiOyB9XG5cbi5mYS1xdW9yYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjJjNFwiOyB9XG5cbi5mYS1zcXVhcmUteC10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjFhXCI7IH1cblxuLmZhLXJlYWN0ZXVyb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNzVkXCI7IH1cblxuLmZhLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiOyB9XG5cbi5mYS1tZWRpdW0tbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIzYVwiOyB9XG5cbi5mYS1hbWlsaWE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzNmRcIjsgfVxuXG4uZmEtbWl4Y2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyODlcIjsgfVxuXG4uZmEtZmxpcGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNDRkXCI7IH1cblxuLmZhLXZpYWNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMzdcIjsgfVxuXG4uZmEtY3JpdGljYWwtcm9sZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjZjOVwiOyB9XG5cbi5mYS1zaXRyb3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0NGFcIjsgfVxuXG4uZmEtZGlzY291cnNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMzkzXCI7IH1cblxuLmZhLWpvb21sYTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFhYVwiOyB9XG5cbi5mYS1tYXN0b2RvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmNlwiOyB9XG5cbi5mYS1haXJibmI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4MzRcIjsgfVxuXG4uZmEtd29sZi1wYWNrLWJhdHRhbGlvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjUxNFwiOyB9XG5cbi5mYS1idXktbi1sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjhhNlwiOyB9XG5cbi5mYS1ndWxwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2FlXCI7IH1cblxuLmZhLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmctcGx1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjRmMVwiOyB9XG5cbi5mYS1zdHJhdmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjhcIjsgfVxuXG4uZmEtZW1iZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MjNcIjsgfVxuXG4uZmEtY2FuYWRpYW4tbWFwbGUtbGVhZjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjc4NVwiOyB9XG5cbi5mYS10ZWFtc3BlYWs6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0ZjlcIjsgfVxuXG4uZmEtcHVzaGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2UxXCI7IH1cblxuLmZhLXdvcmRwcmVzcy1zaW1wbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY0MTFcIjsgfVxuXG4uZmEtbnV0cml0aW9uaXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYzZDZcIjsgfVxuXG4uZmEtd29kdTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4OFwiOyB9XG5cbi5mYS1nb29nbGUtcGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc5XCI7IH1cblxuLmZhLWludGVyY29tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmN2FmXCI7IH1cblxuLmZhLXpoaWh1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmNjNmXCI7IH1cblxuLmZhLWtvcnZ1ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjQyZlwiOyB9XG5cbi5mYS1waXg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU0M2FcIjsgfVxuXG4uZmEtc3RlYW0tc3ltYm9sOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmM2Y2XCI7IH1cblxuLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG46cm9vdCwgOmhvc3Qge1xuICAtLWZhLXN0eWxlLWZhbWlseS1jbGFzc2ljOiAnRm9udCBBd2Vzb21lIDYgRnJlZSc7XG4gIC0tZmEtZm9udC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNiBGcmVlJzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXJlZ3VsYXItNDAwLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi93ZWJmb250cy9mYS1yZWd1bGFyLTQwMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuLmZhcixcbi5mYS1yZWd1bGFyIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4vKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbjpyb290LCA6aG9zdCB7XG4gIC0tZmEtc3R5bGUtZmFtaWx5LWNsYXNzaWM6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgLS1mYS1mb250LXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNiBGcmVlJzsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWRpc3BsYXk6IGJsb2NrO1xuICBzcmM6IHVybChcIi4uL3dlYmZvbnRzL2ZhLXNvbGlkLTkwMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vd2ViZm9udHMvZmEtc29saWQtOTAwLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG4uZmFzLFxuLmZhLXNvbGlkIHtcbiAgZm9udC13ZWlnaHQ6IDkwMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgQnJhbmRzJztcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtYnJhbmRzLTQwMC53b2ZmMlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLWJyYW5kcy00MDAud29mZlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLWJyYW5kcy00MDAudHRmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBzd2FwOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBTb2xpZCc7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXNvbGlkLTkwMC53b2ZmMlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXNvbGlkLTkwMC53b2ZmXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtc29saWQtOTAwLnR0ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgZm9udC1zaXplOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgUmVndWxhcic7XG4gIHNyYzogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXJlZ3VsYXItNDAwLndvZmYyXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGF3ZXNvbWUvZmEtcmVndWxhci00MDAud29mZlwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRhd2Vzb21lL2ZhLXJlZ3VsYXItNDAwLnR0ZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogc3dhcDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgc3JjOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZXhwcmVzcy9mb250ZWxsby5lb3RcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1leHByZXNzL2ZvbnRlbGxvLnN2Z1wiKSBmb3JtYXQoXCJzdmdcIiksIHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2Nzcy93ZWJmb250cy9mb250ZWxsby1leHByZXNzL2ZvbnRlbGxvLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvY3NzL3dlYmZvbnRzL2ZvbnRlbGxvLWV4cHJlc3MvZm9udGVsbG8ud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9jc3Mvd2ViZm9udHMvZm9udGVsbG8tZXhwcmVzcy9mb250ZWxsby53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LWRpc3BsYXk6IHN3YXA7IH1cblxuLyoqIFxyXG4gICAgLS0tLS0gRW1haWwgVGVtcGxhdGVzIC0tLS0tIFxyXG5cclxuICAgIFRISU5LIS4uLi4uLiBMSUtFIFJFQUxMWSBUSElOSyBPVVRMT09LIEJFRk9SRSBNQUtJTkcgQ0hBTkdFUywgdGhpbmdzIHRoYXQgdGhlc2UgdmFyaWFibGVzIHdpbGwgZWZmZWN0OiBcclxuICAgIC0gRnJhZ21lbnRzICggYXJlIGNvbG91cnMgZ2VuZXJpYyApIFxyXG4gICAgLSBPdXRsb29rIFxyXG4gICAgLSBEaXBsb21hdCBlbWFpbCBwYXJhbWV0ZXJzXHJcblxyXG4qKi9cbi5tb2JpbGUtYnJlYWsge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2JpbGUtYnJlYWsge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvIDhweDsgfSB9XG5cbi5wYWdlLWhlYWRpbmctbW9kdWxlIGgxIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5wYWdlLWhlYWRpbmctbW9kdWxlIGgxLnByZXNldDEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucGFnZS1oZWFkaW5nLW1vZHVsZSBoMS5wcmVzZXQxOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLnBhZ2UtaGVhZGluZy1tb2R1bGUgaDEucHJlc2V0MTpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cblxuYm9keSBoMSB7XG4gIG1hcmdpbjogMCAwIDI1cHg7IH1cblxuaDEge1xuICBjb2xvcjogIzAxNDE2ZjtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIGgxLnByZXNldDEge1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIGgxLnByZXNldDIge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgaDEucHJlc2V0MjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIGgxLnByZXNldDI6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBmb250LWZhbWlseTogXCJLaHVsYVwiLCBcIktodWxhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuICBoMi5wcmVzZXQxIHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MWJmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgaDIucHJlc2V0MiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHdvcmQtc3BhY2luZzogbm9ybWFsOyB9XG4gIGgyLnByZXNldDMge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIGgyLnByZXNldDM6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICBoMi5wcmVzZXQzOmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICBoMi5wcmVzZXQ0IHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MWJmO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBoMi5wcmVzZXQ0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDsgfSB9XG5cbmgzIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJLaHVsYVwiLCBcIktodWxhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMDE0MTZmOyB9XG4gIGgzLnByZXNldDEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODFiZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgaDMucHJlc2V0MiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgY29sb3I6ICMwMTQxNmY7IH1cbiAgICBoMy5wcmVzZXQyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cblxuaDQge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuaDUge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuaDYge1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5jYWxsb3V0LmFsZXJ0IGg1LCAuY2FsbG91dC5hbGVydCBwIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnRleHQtY29udGFpbmVyIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnRleHQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRleHQtY29udGFpbmVyLmFsaWduLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzAxNDE2Zik7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgb3BhY2l0eSAwLjhzOyB9XG4gIGEuc3VjY2VzcyB7XG4gICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICBhLnN1Y2Nlc3M6YmVmb3JlLCBhLnN1Y2Nlc3M6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgYS53YXJuaW5nIHtcbiAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIGEud2FybmluZzpiZWZvcmUsIGEud2FybmluZzphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICBhLmFsZXJ0IHtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIGEuYWxlcnQ6YmVmb3JlLCBhLmFsZXJ0OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIGEuZWRpdCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBhLmVkaXQ6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgYRcIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICBhLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNDsgfVxuICBhLm5ld3MtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICBhLm5ld3MtYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74eqXCI7XG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTIpO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGEubmV3cy1idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLm5ld3MtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgYS5uZXdzLWJ1dHRvbjphY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgYS5uZXdzLWJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIGEuYmxvZy1idXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgIGEuYmxvZy1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgoZcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgYS5ibG9nLWJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgIGEuYmxvZy1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICBhLmJsb2ctYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLmJsb2ctYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgYS5ldmVudHMtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICBhLmV2ZW50cy1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbNcIjtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMik7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgYS5ldmVudHMtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgYS5ldmVudHMtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgYS5ldmVudHMtYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICBhLmV2ZW50cy1idXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBhLmV4dGVybmFsLWxpbmstaWNvbjphZnRlciB7XG4gICAgY29udGVudDogXCLvgo5cIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjNjcxNTZhKTtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTAsICM0ODQ4NDgpOyB9XG4gIGEucGRmLWRvd25sb2FkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIGEucGRmLWRvd25sb2FkOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+HgVwiO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBhLnBkZi1kb3dubG9hZDpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbm9sIGxpIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBoci5tb2JpbGUtc2VwZXJhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuYWRkcmVzcyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICBhZGRyZXNzIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnNwYW5bY2xhc3MqPVwiLWljb25cIl0gLmljb24tdGV4dCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSAuaWNvbi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4ucHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5wcmljZXMgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsICsgLnZhbHVlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wcmljZS1jb250YWluZXIgLmxhYmVsLCAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5wcmljZSB7XG4gIG1hcmdpbjogMDsgfVxuICAucHJpY2UgLmN1cnJlbmN5IHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG5cbi52YXQge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbmhyIHtcbiAgbWFyZ2luOiAyNXB4IDA7IH1cblxuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlc1xuICogVmVyc2lvbiA2LjcuNVxuICogaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi50YWJsZS1mb290ZXItc3BhY2VyLnByZXNldC0xIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRhYmxlLWZvb3Rlci1zcGFjZXIucHJlc2V0LTEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG5cbi50YWJsZS1mb290ZXItc3BhY2VyLnByZXNldC0yIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRhYmxlLWZvb3Rlci1zcGFjZXIucHJlc2V0LTIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbi50YWJsZS1mb290ZXItc3BhY2VyIGhyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNhZWFlYWU7IH1cblxudGFibGUge1xuICAtLWJvcmRlci1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy03KTtcbiAgLS1ib3JkZXItaG92ZXItY29sb3VyOiAjYWVhZWFlO1xuICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgdGFibGUuc3RyaXBlZCB0ciB7XG4gICAgcGFkZGluZzogMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2hvdy1ib3JkZXItYm90dG9tIHRyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgICB0YWJsZS5zaG93LWJvcmRlci1ib3R0b20gdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAgICAgdGFibGUuc2hvdy1ib3JkZXItYm90dG9tIHRyOm5vdCg6bGFzdC1jaGlsZCk6aG92ZXIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWhvdmVyLWNvbG91cik7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH0gfVxuICB0YWJsZS5zaG93LWJvcmRlcnMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgdGFibGUuc2hvdy1ib3JkZXJzIHRoLCB0YWJsZS5zaG93LWJvcmRlcnMgdGQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0cjpmaXJzdC1jaGlsZCB0aCwgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyOmZpcnN0LWNoaWxkIHRkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHI6bGFzdC1jaGlsZCB0aCwgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0aCwgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRkIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGg6Zmlyc3QtY2hpbGQsIHRhYmxlLnNob3ctaW50ZXJuYWwtYm9yZGVycyB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICB0YWJsZS5zaG93LWludGVybmFsLWJvcmRlcnMgdHIgdGg6bGFzdC1jaGlsZCwgdGFibGUuc2hvdy1pbnRlcm5hbC1ib3JkZXJzIHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7IH0gfVxuICB0YWJsZS5oaWdobGlnaHQtZmlyc3QtY29sdW1uIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgdGFibGUucHJlc2V0LTEge1xuICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUucHJlc2V0LTEge1xuICAgICAgICBtYXJnaW46IDE1cHggMDsgfSB9XG4gICAgdGFibGUucHJlc2V0LTEgdGQsIHRhYmxlLnByZXNldC0xIHRoIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnByZXNldC0xLnJvdy1zcGFjaW5nIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogLTEwcHg7IH0gfVxuICAgIHRhYmxlLnByZXNldC0xIHRib2R5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgIHRhYmxlLnByZXNldC0xIHRib2R5IHRyIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSB0ciB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogNXB4IDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogN3B4IDVweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgdGQuaW1hZ2UtY29sIHtcbiAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSB0ZC5pbWFnZS1jb2wgLmltYWdlIHtcbiAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YzZjNmMzsgfVxuICAgIHRhYmxlLnByZXNldC0xIHRib2R5IGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSk6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgdGFibGUucHJlc2V0LTEgdGJvZHkgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pOmhvdmVyIHNwYW4ge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSk6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICMwMTQxNmY7IH1cbiAgICB0YWJsZS5wcmVzZXQtMSB0Ym9keSBhOm5vdCgucGRmLWRvd25sb2FkKSB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5wcmVzZXQtMiB7XG4gICAgICBtYXJnaW46IDQ1cHggMCA0MHB4OyB9IH1cbiAgdGFibGUucHJlc2V0LTIgdGJvZHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDEwcHg7IH1cbiAgdGFibGUucHJlc2V0LTMgdGQsIHRhYmxlLnByZXNldC0zIHRoIHtcbiAgICBwYWRkaW5nOiAwIDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnByZXNldC0zIHRkLCB0YWJsZS5wcmVzZXQtMyB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDFweCA1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucHJlc2V0LTMucm93LWFkZGl0aW9uYWwtcGFkZGluZyB0ZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnByZXNldC0zIHRib2R5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgdGFibGUucHJlc2V0LTMgdGJvZHkgdHIge1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnByZXNldC0zIHRib2R5IHRyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIHRhYmxlLnByZXNldC0zIHRib2R5IHRkLCB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0aCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICB0YWJsZS5wcmVzZXQtMyB0Ym9keSB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnByZXNldC0zIHRib2R5IHRkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgdGFibGUucHJlc2V0LTMgdGJvZHkgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIHRhYmxlLnByZXNldC0zIHRib2R5IGE6aG92ZXIge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIHRhYmxlLnByZXNldC0zIHRib2R5IGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gIHRhYmxlLnJvdy1zcGFjaW5nIHtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDAgMTBweDsgfVxuICAgIHRhYmxlLnJvdy1zcGFjaW5nOmhhcygucm93LWlucHV0LXRvZ2dsZSkge1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAycHg7IH1cbiAgdGFibGUgdGJvZHkgc3Bhbi5jb2wtbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUgdGJvZHkgc3Bhbi5jb2wtbGFiZWwge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIHRhYmxlIHRkIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlIHRkLm5vLXBkZi1kb3dubG9hZCBzcGFuLnRleHQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzVweDsgfSB9XG4gIHRhYmxlIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIHRhYmxlIHRyLnN1Y2Nlc3MgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogIzEyODExZjsgfVxuICB0YWJsZSB0ci5zdWNjZXNzIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzEyODExZjsgfVxuICAgIHRhYmxlIHRyLnN1Y2Nlc3MgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgdGFibGUgdHIud2FybmluZyAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY1ZTA1OyB9XG4gIHRhYmxlIHRyLndhcm5pbmcgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgdGFibGUgdHIud2FybmluZyAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIC5ub3RpZmljYXRpb24tY29udGVudCB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICB0YWJsZSB0ci5hbGVydCAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXI6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjIwYzBjOyB9XG4gIHRhYmxlIHRyLmFsZXJ0IC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgIHRhYmxlIHRyLmFsZXJ0IC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIHRhYmxlIHRyLmVycm9yLXJvdywgdGFibGUgdHIuZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTEgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUgdHIgKyB0ci5lcnJvci1yb3cgdGQsIHRhYmxlIHRyICsgdHIuZXJyb3IgdGQge1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmZmZmZmY7IH0gfVxuICB0YWJsZSB0ci5jYXJkLWV4cGlyZWQsIHRhYmxlIHRyLmV4cGlyZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IsIGJveC1zaGFkb3cgMC44czsgfVxuICAgIHRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciwgdGFibGUgdHIuZXhwaXJlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgICB0YWJsZSB0ci5jYXJkLWV4cGlyZWQgdGQsIHRhYmxlIHRyLmV4cGlyZWQgdGQge1xuICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgdGFibGUgdHIuY2FyZC1leHBpcmVkIC5yZW1vdmUtY29sLCB0YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlLWNvbCwgdGFibGUgdHIuZXhwaXJlZCAucmVtb3ZlLWNvbCwgdGFibGUgdHIuZXhwaXJlZCAuZXhwaXJlLWRhdGUtY29sIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgdGFibGUgdHIucm93LWlucHV0LXRvZ2dsZSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgdGFibGUgdHIucm93LWlucHV0LXRvZ2dsZTpoYXMoaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkLCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCkge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggMnB4IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgdGFibGUgdHIucm93LWlucHV0LXRvZ2dsZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNyk7IH1cbiAgdGFibGUgdHI6aG92ZXIgdGQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gIHRhYmxlIC5zdWNjZXNzLWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIHRhYmxlIC5mYWlsZWQtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgdGFibGUgLmZhaWxlZC1yZWFzb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUgLmZhaWxlZC1yZWFzb24ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUgLmZhaWxlZC1pY29uLCB0YWJsZSAuc3VjY2Vzcy1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgdGFibGUgLmZhaWxlZC1pY29uOmJlZm9yZSwgdGFibGUgLnN1Y2Nlc3MtaWNvbjpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlIC5vcmRlci10b3RhbC1jb2wsIHRhYmxlIHRoLmNzdi1pbXBvcnQtY29sIHtcbiAgICAgIHdpZHRoOiAyMDBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgdGFibGUgLmFkZHJlc3MtYmxvY2sge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH0gfVxuICB0YWJsZSAucmVtb3ZlLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74utXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgdGFibGUgLnJlbW92ZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIHRhYmxlIC5yZW1vdmUtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gIHRhYmxlIC5jYXJkLXR5cGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CnVwiO1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICB0YWJsZSAuZXhwaXJlZC10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgY29sb3I6ICNmZjAxMDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlIC5leHBpcmVkLXRleHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUgLnRvb2x0aXAtY29udGFpbmVyLnN0YXRlLWluZGljYXRvciAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDlweDsgfSB9XG5cbnRoZWFkLnByZXNldC0xIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQucHJlc2V0LTEgdGgge1xuICAgIHBhZGRpbmc6IDAgNXB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIHRoZWFkLnByZXNldC0xIHRoIGJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIHRoZWFkLnByZXNldC0xIHRoW2NsYXNzJD1kZXNjcmlwdGlvbi1jb2xdIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRoZWFkLnByZXNldC0xICsgdGJvZHkgLmNvbC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG5cbnRoZWFkLnByZXNldC0yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQucHJlc2V0LTIgdGgge1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuXG50aGVhZCB0aCB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB1bCBsaSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbnMgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9uIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTU5NTk1O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciAuY29tcGFyaXNvbi10YWJsZS1idXR0b25zIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG5cbi5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuW2NvbXBhcmlzb24tdGFibGVdIC5jb21wYXJpc29uLXZhbHVlcyB0ZCArIHRkLCBbY29tcGFyaXNvbi10YWJsZV0gdGggKyB0aCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsZXgtZ3JvdzogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIC5jb21wYXJpc29uLXZhbHVlcyB0ZCArIHRkLCBbY29tcGFyaXNvbi10YWJsZV0gdGggKyB0aCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cblxuW2NvbXBhcmlzb24tdGFibGVdIHRoZWFkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgW2NvbXBhcmlzb24tdGFibGVdIHRoZWFkIHRyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBbY29tcGFyaXNvbi10YWJsZV0gdGhlYWQgdGgge1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRoZWFkIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxNSU7IH1cblxuW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHtcbiAgICAgIGJvcmRlcjogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1jb250ZW50OiBiYXNlbGluZTsgfSB9XG4gIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB0ZCB7XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2NvbXBhcmlzb24tdGFibGVdIHRib2R5LmNvbXBhcmlzb24tdmFsdWVzIHRkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB0ZDpudGgtY2hpbGQoMSkge1xuICAgICAgd2lkdGg6IDU4JTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMgdGQ6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB0ZDpudGgtY2hpbGQoMSk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIFtjb21wYXJpc29uLXRhYmxlXSB0Ym9keS5jb21wYXJpc29uLXZhbHVlcyB0ZDpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RhZGFkYTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIFtjb21wYXJpc29uLXRhYmxlXS5hbGlnbi12YWx1ZS1yaWdodCB0Ym9keSB0ZC5hY3RpdmUge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuW2NvbXBhcmlzb24tdGFibGVdLmFsaWduLXZhbHVlLXJpZ2h0IC5jb21wYXJpc29uLXN1bW1hcnkgdHIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7IH1cblxuW2NvbXBhcmlzb24tdGFibGVdLmFsaWduLXZhbHVlLXJpZ2h0IC5jb21wYXJpc29uLXN1bW1hcnkgLmNvbXBhcmlzb24tY3VycmVudGx5LXNlbGVjdGVkIHtcbiAgZmxleC1ncm93OiAxO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5bY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi1zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMTVweCAwIDEwcHg7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi1zdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBbY29tcGFyaXNvbi10YWJsZV0gdGJvZHkuY29tcGFyaXNvbi1zdW1tYXJ5IC5jb21wYXJpc29uLWNvbHVtbi1oZWFkaW5nIHtcbiAgICB3aWR0aDogNTglOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHggMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUuZm9yY2UtbW9iaWxlLXJvdy1sYXlvdXQgdGQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZzogNXB4IDA7IH0gfVxuXG50YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlLmZvcmNlLW1vYmlsZS1yb3ctbGF5b3V0IHRkIC5jb2wtbGFiZWwge1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZS5mb3JjZS1tb2JpbGUtcm93LWxheW91dCB0ZCAuY29sLWxhYmVsIHtcbiAgICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGUgdGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB0ZC5jb2x1bW4tZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlIHRkIC5jb2wtbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZSB0ZFtjbGFzcyo9XCJkZXNjcmlwdGlvbi1jb2xcIl0ge1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pOmhhcyguY29sLWxhYmVsKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSk6aGFzKC5jb2wtbGFiZWwpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwJSA3MCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjUlIDFmcjtcbiAgICBnYXA6IDAgMTBweDsgfVxuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIHRhYmxlLnN0YWNrLnJlc3BvbnNpdmUtdGFibGU6aGFzKHRkW2NsYXNzKj1cImltYWdlLWNvbFwiXSkgdGJvZHkgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgdGFibGUuc3RhY2sucmVzcG9uc2l2ZS10YWJsZTpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB0Ym9keSB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSk6aGFzKC5jb2wtbGFiZWwpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7IH1cbiAgICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSAuY29udHJvbCB7XG4gICAgICBtYXJnaW46IGF1dG8gMDsgfVxuICB0YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHRib2R5IHRkW2NsYXNzKj1cImRlc2NyaXB0aW9uLWNvbFwiXSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICBbcmVzcG9uc2l2ZS1yZXZlYWxdIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgKyB0YWJsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMTI4MTFmOyB9XG4gICAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5zdWNjZXNzIC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0ud2FybmluZyB7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZjVlMDU7IH1cbiAgICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLndhcm5pbmcgLnRhYmxlLW5vdGlmaWNhdGlvbi10ZXh0IHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hbGVydCB7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNiMjBjMGM7IH1cbiAgICAgIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAucmVzcG9uc2l2ZS10YWJsZS1pdGVtLmFsZXJ0IC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWN0aXZlIC5oZWFkZXItY29udGFpbmVyIC5oZWFkZXItaXRlbSBhIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWN0aXZlIC5oZWFkZXItY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G3XCI7IH1cbiAgICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnJlc3BvbnNpdmUtdGFibGUtaXRlbS5hY3RpdmUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0uYWN0aXZlIC5lbGxpcHNpcy10ZXh0IHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICBtYXNrLWltYWdlOiBub25lOyB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMThweCAyMHB4OyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5oZWFkZXItY29udGFpbmVyOmhhcygudW5yZWFkLWNvbCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5oZWFkZXItY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDVweDtcbiAgICBwYWRkaW5nOiAwIDE4cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jb250ZW50LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY29sLWxhYmVsIHtcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC50b29sdGlwLWNvbnRhaW5lci5zdGF0ZS1pbmRpY2F0b3IgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuXG4udGFibGUtc29ydC1jb2wuYXNjZW5kIGJ1dHRvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74G3XCI7IH1cblxuLnRhYmxlLXNvcnQtY29sLmRlc2NlbmQgYnV0dG9uOmFmdGVyIHtcbiAgY29udGVudDogXCLvgbhcIjsgfVxuXG4udGFibGUtc29ydC1jb2wgYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudGFibGUtc29ydC1jb2wgYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgY29sb3I6ICM5NTk1OTU7IH1cbiAgLnRhYmxlLXNvcnQtY29sIGJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICM2NzE1NmE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC50YWJsZS1zb3J0LWNvbCBidXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC50YWJsZS1zb3J0LWNvbCBidXR0b246YWN0aXZlIHtcbiAgICBjb2xvcjogIzJmNjU4OTsgfVxuICAgIC50YWJsZS1zb3J0LWNvbCBidXR0b246YWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjMmY2NTg5OyB9XG5cbnRkLm5vdGlmaWNhdGlvbi1jb2w6aG92ZXIgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24gLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyIHtcbiAgd2lkdGg6IDZweDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42czsgfVxuXG50ZC5ub3RpZmljYXRpb24tY29sOmhvdmVyIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBsZWZ0OiA2cHg7XG4gIGJveC1zaGFkb3c6IDRweCAwcHggOHB4IDNweCByZ2JhKDEyLCAxMiwgMTIsIDAuMTgpO1xuICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC42cywgYm9yZGVyLXdpZHRoIDAuNnMsIGxlZnQgMC42czsgfVxuXG4udW5yZWFkLWNvbCB7XG4gIHdpZHRoOiA0OHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLnVucmVhZC1jb2wge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC51bnJlYWQtY29sIHtcbiAgICAgIHdpZHRoOiAyMHB4OyB9IH1cblxuLnRhYmxlLXJvdy1ub3RpZmljYXRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudGFibGUtcm93LW5vdGlmaWNhdGlvbiAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXIge1xuICAgIHdpZHRoOiAycHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC44czsgfVxuICAgIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODsgfVxuICAudGFibGUtcm93LW5vdGlmaWNhdGlvbiAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICM0ODQ4NDg7XG4gICAgei1pbmRleDogNTAwMDtcbiAgICBjdXJzb3I6IHRleHQ7XG4gICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuOHMsIGxlZnQgMC44cyBlYXNlLWluLW91dDsgfVxuICAgIC50YWJsZS1yb3ctbm90aWZpY2F0aW9uIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4udGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC50YWJsZS1ub3RpZmljYXRpb24tdGV4dCBwIHtcbiAgICBtYXJnaW46IDVweCAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5yZXVzYWJsZS1jYXJkLXRhYmxlLnBheW1lbnQgLnJlbW92ZS1jb2wge1xuICAgIHdpZHRoOiAxMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnJldXNhYmxlLWNhcmQtdGFibGUgLmV4cGlyZS1kYXRlLWNvbCB7XG4gICAgd2lkdGg6IDI1JTsgfSB9XG5cbnRhYmxlLnJldXNhYmxlLWNhcmQtdGFibGUgdGguc2VsZWN0LWNvbCwgdGFibGUucmV1c2FibGUtY2FyZC10YWJsZSB0ZC5zZWxlY3QtY29sIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG50YWJsZS5pbnZhbGlkLWJhc2tldC10YWJsZSB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwKTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuaW52YWxpZC1iYXNrZXQtdGFibGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpOyB9IH1cbiAgdGFibGUuaW52YWxpZC1iYXNrZXQtdGFibGUgLnJlZmVyZW5jZS1jb2wsIHRhYmxlLmludmFsaWQtYmFza2V0LXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyaWVzIHtcbiAgICB3aWR0aDogODUwcHg7IH0gfVxuXG50YWJsZS5hdWRpdC10cmFpbC1lbnRyaWVzIHRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZS5hdWRpdC10cmFpbC1lbnRyaWVzIHRib2R5IHRkIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJpZXMgLnVwZGF0ZWQtY29sLCB0YWJsZS5hdWRpdC10cmFpbC1lbnRyaWVzIC51cGRhdGVkLWJ5LWNvbCB7XG4gICAgd2lkdGg6IDE5JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuYXVkaXQtdHJhaWwtZW50cmllcyAuYWNjZXNzLWxldmVsLWNvbCB7XG4gICAgd2lkdGg6IDE1JTsgfSB9XG5cbnRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHtcbiAgbWFyZ2luOiAwOyB9XG4gIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRoIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRoLCB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0ZCB7XG4gICAgcGFkZGluZzogMi41cHggNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgdGgsIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRkIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIHRhYmxlLmF1ZGl0LXRyYWlsLWVudHJ5IHRib2R5IHRkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSAucmV2aXNpb24tY29sIHtcbiAgICAgIHdpZHRoOiA1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSAudXBkYXRlZC1ieS1jb2wge1xuICAgICAgd2lkdGg6IDE3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSAudXBkYXRlZC1jb2wge1xuICAgICAgd2lkdGg6IDExJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSAucHVibGlzaGVkLWNvbCwgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkgLmFjY2Vzcy1sZXZlbC1jb2wge1xuICAgICAgd2lkdGg6IDklOyB9IH1cblxudGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEge1xuICAtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoOiAycHg7IH1cbiAgdGFibGUuZG9jdW1lbnRhdGlvbi1zdHJ1Y3R1cmVkLWRhdGEgLm5lc3RlZC10YWJsZS1yb3ctcGFyZW50IHtcbiAgICBib3JkZXItd2lkdGg6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgMCB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cik7IH1cbiAgICB0YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSAubmVzdGVkLXRhYmxlLXJvdy1wYXJlbnQgKyAubmVzdGVkLXRhYmxlLXJvdyB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICB0YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSAubmVzdGVkLXRhYmxlLXJvdy1wYXJlbnQgKyAubmVzdGVkLXRhYmxlLXJvdyA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogMjVweDsgfVxuICB0YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSB0aGVhZCB0aCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0YWJsZS5kb2N1bWVudGF0aW9uLXN0cnVjdHVyZWQtZGF0YSB0Ym9keSB0ZCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG50YWJsZS5mb2xkZXItZmlsdGVycy10YWJsZSB0aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUuZm9sZGVyLWZpbHRlcnMtdGFibGUgdGJvZHkgdGQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50YWJsZS1jb250YWluZXIudGFibGUtc2Nyb2xsLWVuYWJsZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC50YWJsZS1jb250YWluZXIudGFibGUtc2Nyb2xsLWVuYWJsZWQgdGFibGUgdGhlYWQgdGgge1xuICAgIGJvcmRlcjogMDsgfVxuXG4udGFibGUtY29udGFpbmVyLnNjcm9sbC1taWRkbGUgdGhlYWQ6YWZ0ZXIsIC50YWJsZS1jb250YWluZXIuc2Nyb2xsLWF0LWJvdHRvbSB0aGVhZDphZnRlciB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDlweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4udGFibGUtY29udGFpbmVyLnNjcm9sbC1taWRkbGUsIC50YWJsZS1jb250YWluZXIuc2Nyb2xsLWF0LXRvcCB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgLTEwcHggMTBweCAtMTBweCByZ2JhKDAsIDAsIDAsIDAuMyk7IH1cblxuLnRhYmxlLWNvbnRhaW5lci5zY3JvbGwtbWlkZGxlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjMpLCBpbnNldCAwIC0xMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG5cbi50YWJsZS1jb250YWluZXIuYXVkaXQtdHJhaWwtZW50cmllcyB7XG4gIG1heC1oZWlnaHQ6IDQwMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFibGUtY29udGFpbmVyLmF1ZGl0LXRyYWlsLWVudHJpZXMge1xuICAgICAgbWF4LWhlaWdodDogNjAwcHg7IH0gfVxuXG4udGFibGUtY29udGFpbmVyIHRhYmxlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi50YWJsZS1jb250YWluZXIgdGhlYWQge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGJhY2tncm91bmQ6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gIHotaW5kZXg6IDE7IH1cbiAgLnRhYmxlLWNvbnRhaW5lciB0aGVhZDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAtMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG5cbi8qXHJcbi0tLS0gSW5wdXRzIC0tLS0gXHJcbi0gU3R5bGluZyBmb3IgZm9ybSBpbnB1dHMgKCBzZWxlY3QsIGlucHV0LCB0ZXh0YXJlYSApXHJcbi0gUXVhbnRpdHkgc2VsZWN0b3JzXHJcbi0gRm9ybXNcclxuICAtIEZpZWxkc2V0c1xyXG4gIC0gRmllbGRzXHJcbi0gVmFsaWRhdGlvblxyXG4gIC0gRm9ybSBlcnJvcnMgZnJvbSB0aGUgc2VydmVyXHJcbiAgLSBBZHZhbmNlZCB2YWxpZGF0aW9uICggc2V0dGluZyBwYXNzd29yZCApXHJcbi0gUHJpbWFyeSwgU2Vjb25kYXJ5LCBFdGMgYnV0dG9ucyB1c2VkIHRocm91Z2hvdXQgdGhlIHNpdGUuXHJcbi0gVUkgYmxvY2sgcGFuZS5cclxuKi9cbmZvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5mb3JtLmlzLWludmFsaWQgYnV0dG9uW3R5cGU9c3VibWl0XSwgZm9ybS5pcy1pbnZhbGlkIC5mb3JtLXN1Ym1pdC1idXR0b24ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjQ7IH1cbiAgZm9ybS5pcy1pbnZhbGlkIGJ1dHRvblt0eXBlPXN1Ym1pdF06aG92ZXIsIGZvcm0uaXMtaW52YWxpZCAuZm9ybS1zdWJtaXQtYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjICFpbXBvcnRhbnQ7IH1cblxuZm9ybS5pcy1pbnZhbGlkIGlucHV0W3R5cGU9c3VibWl0XSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNDsgfVxuXG5idXR0b246ZGlzYWJsZWQsIGJ1dHRvbi5kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IDAuNDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbmlucHV0W3R5cGU9c3VibWl0XTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5zZWxlY3Q6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmNvbnRyb2wudGV4dCBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAzNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuY29udHJvbC50ZXh0LnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogY2FsYygzNjBweCAtIDQ1cHgpOyB9IH1cblxuLmZpZWxkIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDVweCAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpZWxkIHtcbiAgICAgIG1heC13aWR0aDogNjQwcHg7XG4gICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAuZmllbGQuYWxpZ24tcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5maWVsZC5hbGlnbi1sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmZpZWxkIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZCBsYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwOyB9IH1cbiAgICAuZmllbGQgbGFiZWwucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciBpbnB1dCB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHgpO1xuICAgICAgb3JkZXI6IDI7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIGlucHV0IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDQ1cHggLSAgMTYwcHgpO1xuICAgICAgICAgIGZsZXg6IDE7IH0gfVxuICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICBvcmRlcjogMTsgfVxuICAgIC5maWVsZCBsYWJlbC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIC5mb3JtLWVycm9yIHtcbiAgICAgIG9yZGVyOiA0OyB9XG4gICAgLmZpZWxkIGxhYmVsLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgLnBhc3N3b3JkLXJldmVhbCB7XG4gICAgICBvcmRlcjogMzsgfVxuICAgIC5maWVsZCBsYWJlbCAubGFiZWwgKyB0ZXh0YXJlYSB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuZmllbGQgbGFiZWwgLmxhYmVsIC5hZHZpc29yeS10ZXh0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzk1OTU5NTtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZCBsYWJlbC50ZXh0LCAuZmllbGQgbGFiZWwuZW1haWwsIC5maWVsZCBsYWJlbC50ZWwsIC5maWVsZCBsYWJlbC5udW1iZXIsIC5maWVsZCBsYWJlbC50ZXh0YXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkOmhhcyhidXR0b25bdHlwZT1cInN1Ym1pdFwiXS5wcmltYXJ5LWJ1dHRvbikge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAuZmllbGQgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmZpZWxkIGlucHV0Om5vdChbdHlwZT1jaGVja2JveF0pIHtcbiAgICBwYWRkaW5nOiA1cHggMCA1cHggMjVweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5maWVsZCAubGFiZWwgKyB0ZXh0YXJlYSB7XG4gICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAuZmllbGQgdGV4dGFyZWEge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIC5maWVsZCB0ZXh0YXJlYTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5maWVsZCAuZXJyb3ItYmxvY2sge1xuICAgICAgbWF4LXdpZHRoOiA1ODEuODE4MThweDsgfSB9XG4gIC5maWVsZDpub3QoLm1lZGl1bSk6bm90KC5sYXJnZSk6bm90KC5sYXJnZS0xKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyOyB9XG4gIC5maWVsZC5zbWFsbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIC5maWVsZC5zbWFsbCBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maWVsZC5zbWFsbCAubGFiZWwge1xuICAgICAgICB3aWR0aDogMzAwcHg7IH0gfVxuICAuZmllbGQubWVkaXVtIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5maWVsZC5tZWRpdW0gbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmllbGQubWVkaXVtIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAzNTBweDsgfSB9XG4gIC5maWVsZC5sYXJnZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmllbGQubGFyZ2UgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZpZWxkLmxhcmdlIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiA0NDBweDsgfSB9XG4gIC5maWVsZC5mdWxsLXdpZHRoIC5sYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZpZWxkLmxpc3Qge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAuZmllbGQubGlzdCBsYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5maWVsZC5saXN0IC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAzNDBweDsgfSB9XG4gIC5maWVsZCAubGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZmllbGQgLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAuZmllbGQgLmxhYmVsIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgLmZpZWxkIC5jb250cm9sLnNlbGVjdCB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweCAwOyB9XG4gIC5maWVsZCAuY3VzdG9tLWlucHV0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAgIC5maWVsZCAuY3VzdG9tLWlucHV0LWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLmZpZWxkW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSwgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0sIC5maWVsZFtjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5maWVsZFtjbGFzc149XCJmaWVsZCBzbWFsbC1cIl0gbGFiZWwsIC5maWVsZFtjbGFzc149XCJmaWVsZCBtZWRpdW0tXCJdIGxhYmVsLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbGFyZ2UtXCJdIGxhYmVsIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuZmllbGRbY2xhc3NePVwiZmllbGQgc21hbGwtXCJdIC5jb250cm9sLmNoZWNrYm94IHNwYW4uY2hlY2tib3gsIC5maWVsZFtjbGFzc149XCJmaWVsZCBtZWRpdW0tXCJdIC5jb250cm9sLmNoZWNrYm94IHNwYW4uY2hlY2tib3gsIC5maWVsZFtjbGFzc149XCJmaWVsZCBsYXJnZS1cIl0gLmNvbnRyb2wuY2hlY2tib3ggc3Bhbi5jaGVja2JveCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIC5maWVsZFtjbGFzc149XCJmaWVsZCBzbWFsbC1cIl0gLmN1c3RvbS1pbnB1dC1jb250YWluZXIsIC5maWVsZFtjbGFzc149XCJmaWVsZCBtZWRpdW0tXCJdIC5jdXN0b20taW5wdXQtY29udGFpbmVyLCAuZmllbGRbY2xhc3NePVwiZmllbGQgbGFyZ2UtXCJdIC5jdXN0b20taW5wdXQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIC5maWVsZFtjbGFzc149XCJmaWVsZCBzbWFsbC1cIl0gLmFkZGl0aW9uYWwtaW5wdXQtaW5mbywgLmZpZWxkW2NsYXNzXj1cImZpZWxkIG1lZGl1bS1cIl0gLmFkZGl0aW9uYWwtaW5wdXQtaW5mbywgLmZpZWxkW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gIC5maWVsZC5zbWFsbC0xLCAuZmllbGQubWVkaXVtLTEsIC5maWVsZC5sYXJnZS0xIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZmllbGQuc21hbGwtMSwgLmZpZWxkLm1lZGl1bS0xLCAuZmllbGQubGFyZ2UtMSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gICAgLmZpZWxkLnNtYWxsLTEgLmxhYmVsLCAuZmllbGQubWVkaXVtLTEgLmxhYmVsLCAuZmllbGQubGFyZ2UtMSAubGFiZWwge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmZpZWxkLnNtYWxsLTEgLmxhYmVsLCAuZmllbGQubWVkaXVtLTEgLmxhYmVsLCAuZmllbGQubGFyZ2UtMSAubGFiZWwge1xuICAgICAgICAgIHdpZHRoOiAzNjBweDsgfSB9XG4gIC5maWVsZC5zbWFsbC0yIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5maWVsZC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMzMlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZpZWxkLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5maWVsZC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5maWVsZC5sYXJnZS0yIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZpZWxkLmxhcmdlLTMge1xuICAgICAgd2lkdGg6IDMzJTsgfSB9XG5cbi5hZGRpdGlvbmFsLWlucHV0LWluZm8ge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cInRlbDpcIl0sIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+huVwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDAgNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAge1xuICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHAgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gdWwsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB1bCB7XG4gICAgbWFyZ2luOiAxMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB1bCB1bCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIG9sIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIG9sIG9sIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIG9sIG9sIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gbGkge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDEsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDIsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDMsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoMyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDQsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDUsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIHVsICsgaDYsIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gb2wgKyBoNiB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGRsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8gcCwgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBhIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuYWRkaXRpb25hbC1pbnB1dC1pbmZvIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyBpbWcge1xuICAgIG1hcmdpbjogMTBweCAxNXB4OyB9XG4gIC5hZGRpdGlvbmFsLWlucHV0LWluZm8ubGFyZ2Uge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5sb29rdXAtY29udGVudCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuaW5wdXRbdHlwZT1wYXNzd29yZF0ge1xuICBjb2xvcjogIzk1OTU5NTtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgZm9udC1mYW1pbHk6IGNhcHRpb247XG4gIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjhzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBpbnB1dFt0eXBlPXBhc3N3b3JkXSB7XG4gICAgICBmb250LXNpemU6IDQ0cHg7IH0gfVxuICBpbnB1dFt0eXBlPXBhc3N3b3JkXTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogLTE0cHggLTNweCAyOHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICBpbnB1dFt0eXBlPXBhc3N3b3JkXTpob3ZlciArIGJ1dHRvbiB7XG4gICAgICBib3gtc2hhZG93OiAxNHB4IC0zcHggMjhweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgaW5wdXRbdHlwZT1wYXNzd29yZF06Zm9jdXMgKyBidXR0b24ge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICBpbnB1dFt0eXBlPXBhc3N3b3JkXSArIGJ1dHRvbiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4ucGFzc3dvcmQtcmV2ZWFsIHtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAucGFzc3dvcmQtcmV2ZWFsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvga5cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXN0eWxlOiAxMnB4O1xuICAgIGNvbG9yOiByZ2JhKDcyLCA3MiwgNzIsIDAuNyk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBhc3N3b3JkLXJldmVhbDpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9IH1cbiAgLnBhc3N3b3JkLXJldmVhbC5hY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5wYXNzd29yZC1yZXZlYWwuaW5wdXQtYWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9XG5cbmlucHV0OjotbXMtY2xlYXIsIGlucHV0OjotbXMtcmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWN0aW9uLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYmU4Zjc7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hY3Rpb24tYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYWN0aW9uLWJ1dHRvbjpob3ZlciwgLmFjdGlvbi1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MWJmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWN0aW9uLWJ1dHRvbjphY3RpdmUsIC5hY3Rpb24tYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICBib3JkZXItY29sb3I6ICM2NzE1NmE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmFjdGlvbi1idXR0b246ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmFjdGlvbi1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmFjdGlvbi1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5hY3Rpb24tYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbCB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDVweCAxMHB4KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gICAgY29sb3I6ICMxMjgxMWY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTI4MTFmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MsIC5hY3Rpb24tYnV0dG9uLmVtYWlsIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5hY3Rpb24tYnV0dG9uLnN1Y2Nlc3MuaG92ZXIsIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbC5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmFjdGlvbi1idXR0b24uc3VjY2Vzczpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmVtYWlsLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uc3VjY2Vzcy5hY3RpdmUsIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmFjdGl2ZSwgLmFjdGlvbi1idXR0b24uZW1haWwuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiZThmNztcbiAgICAgIGJvcmRlci1jb2xvcjogI2JiZThmNztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmFjdGlvbi1idXR0b24uc3VjY2VzczpkaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uc3VjY2Vzc1tkaXNhYmxlZF0sIC5hY3Rpb24tYnV0dG9uLmVtYWlsOmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbC5kaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uZW1haWxbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzOmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbDpkaXNhYmxlZDpob3ZlciwgLmFjdGlvbi1idXR0b24uZW1haWwuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmFjdGlvbi1idXR0b24uc3VjY2Vzczpmb2N1cy12aXNpYmxlLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbDpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmFjdGlvbi1idXR0b24uc3VjY2VzcyAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWN0aW9uLWJ1dHRvbi5lbWFpbCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgICBjb2xvcjogI2ZmNWUwNTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNmZjVlMDU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmFjdGlvbi1idXR0b24ud2FybmluZyB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmNWUwNTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6YWN0aXZlLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmU4Zjc7XG4gICAgICBib3JkZXItY29sb3I6ICNiYmU4Zjc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6ZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcuZGlzYWJsZWQsIC5hY3Rpb24tYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nOmRpc2FibGVkOmhvdmVyLCAuYWN0aW9uLWJ1dHRvbi53YXJuaW5nLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmc6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLndhcm5pbmcgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmFjdGlvbi1idXR0b24uYWxlcnQge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydDpob3ZlciwgLmFjdGlvbi1idXR0b24uYWxlcnQuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5hY3Rpb24tYnV0dG9uLmFsZXJ0LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydDphY3RpdmUsIC5hY3Rpb24tYnV0dG9uLmFsZXJ0LmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmU4Zjc7XG4gICAgICBib3JkZXItY29sb3I6ICNiYmU4Zjc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0OmRpc2FibGVkLCAuYWN0aW9uLWJ1dHRvbi5hbGVydC5kaXNhYmxlZCwgLmFjdGlvbi1idXR0b24uYWxlcnRbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYWN0aW9uLWJ1dHRvbi5hbGVydDpkaXNhYmxlZDpob3ZlciwgLmFjdGlvbi1idXR0b24uYWxlcnQuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmFjdGlvbi1idXR0b24uYWxlcnQ6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5hY3Rpb24tYnV0dG9uLmFsZXJ0IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1jZW50ZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLWxlZnQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5idXR0b24xLCAucHJpbWFyeS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJlOGY3O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYnV0dG9uMSwgLnByaW1hcnktYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYnV0dG9uMTpob3ZlciwgLmJ1dHRvbjEuaG92ZXIsIC5wcmltYXJ5LWJ1dHRvbjpob3ZlciwgLnByaW1hcnktYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzEyODFiZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuYnV0dG9uMTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYnV0dG9uMS5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucHJpbWFyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnByaW1hcnktYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYnV0dG9uMTphY3RpdmUsIC5idXR0b24xLmFjdGl2ZSwgLnByaW1hcnktYnV0dG9uOmFjdGl2ZSwgLnByaW1hcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICBib3JkZXItY29sb3I6ICM2NzE1NmE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJ1dHRvbjE6ZGlzYWJsZWQsIC5idXR0b24xLmRpc2FibGVkLCAuYnV0dG9uMVtkaXNhYmxlZF0sIC5wcmltYXJ5LWJ1dHRvbjpkaXNhYmxlZCwgLnByaW1hcnktYnV0dG9uLmRpc2FibGVkLCAucHJpbWFyeS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5idXR0b24xOmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uMS5kaXNhYmxlZDpob3ZlciwgLnByaW1hcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAucHJpbWFyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYnV0dG9uMTpmb2N1cy12aXNpYmxlLCAucHJpbWFyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5idXR0b24xIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5wcmltYXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnNlY29uZGFyeS1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgNXB4IDEwcHgpO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc2Vjb25kYXJ5LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLnNlY29uZGFyeS1idXR0b246aG92ZXIsIC5zZWNvbmRhcnktYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiZThmNztcbiAgICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuc2Vjb25kYXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc2Vjb25kYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnNlY29uZGFyeS1idXR0b246YWN0aXZlLCAuc2Vjb25kYXJ5LWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5zZWNvbmRhcnktYnV0dG9uOmRpc2FibGVkLCAuc2Vjb25kYXJ5LWJ1dHRvbi5kaXNhYmxlZCwgLnNlY29uZGFyeS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5zZWNvbmRhcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuc2Vjb25kYXJ5LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5zZWNvbmRhcnktYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuc2Vjb25kYXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnRlcnRpYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICNmZjAxMDE7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmRmZGY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50ZXJ0aWFyeS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC50ZXJ0aWFyeS1idXR0b246aG92ZXIsIC50ZXJ0aWFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMTAxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmYwMTAxO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC50ZXJ0aWFyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnRlcnRpYXJ5LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLnRlcnRpYXJ5LWJ1dHRvbjphY3RpdmUsIC50ZXJ0aWFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAudGVydGlhcnktYnV0dG9uOmRpc2FibGVkLCAudGVydGlhcnktYnV0dG9uLmRpc2FibGVkLCAudGVydGlhcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAudGVydGlhcnktYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAudGVydGlhcnktYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLnRlcnRpYXJ5LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLnRlcnRpYXJ5LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLnF1YXRlcm5hcnktYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAzLjVweCAxNnB4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICM2NzE1NmE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5xdWF0ZXJuYXJ5LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLnF1YXRlcm5hcnktYnV0dG9uOmhvdmVyLCAucXVhdGVybmFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNjcxNTZhO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5xdWF0ZXJuYXJ5LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucXVhdGVybmFyeS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5xdWF0ZXJuYXJ5LWJ1dHRvbjphY3RpdmUsIC5xdWF0ZXJuYXJ5LWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5xdWF0ZXJuYXJ5LWJ1dHRvbjpkaXNhYmxlZCwgLnF1YXRlcm5hcnktYnV0dG9uLmRpc2FibGVkLCAucXVhdGVybmFyeS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5xdWF0ZXJuYXJ5LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnF1YXRlcm5hcnktYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLnF1YXRlcm5hcnktYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAucXVhdGVybmFyeS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5xdWluYXJ5LWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCA1cHggMTBweCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5xdWluYXJ5LWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLnF1aW5hcnktYnV0dG9uOmhvdmVyLCAucXVpbmFyeS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4LCAxMjksIDE5MSwgMC44KTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAucXVpbmFyeS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnF1aW5hcnktYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAucXVpbmFyeS1idXR0b246YWN0aXZlLCAucXVpbmFyeS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAucXVpbmFyeS1idXR0b246ZGlzYWJsZWQsIC5xdWluYXJ5LWJ1dHRvbi5kaXNhYmxlZCwgLnF1aW5hcnktYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAucXVpbmFyeS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5xdWluYXJ5LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5xdWluYXJ5LWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLnF1aW5hcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uY21zLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogIzAxNDE2ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICMwMTQxNmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCAwIDEwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgMCAxMHB4KTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmNtcy1idXR0b246aG92ZXIsIC5jbXMtYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3IoKGRlZmF1bHQ6IHRyYW5zcGFyZW50LCBob3ZlcjogIzAxNDE2ZiwgYWN0aXZlOiAjNjcxNTZhLCBkaXNhYmxlZDogI2ZmZmZmZikpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5jbXMtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jbXMtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuY21zLWJ1dHRvbjphY3RpdmUsIC5jbXMtYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICMxMjgxYmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICBib3JkZXItY29sb3I6ICMxMjgxYmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmNtcy1idXR0b246ZGlzYWJsZWQsIC5jbXMtYnV0dG9uLmRpc2FibGVkLCAuY21zLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmNtcy1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5jbXMtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNtcy1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jbXMtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uY21zLXByb2NlZWQtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNtcy1wcm9jZWVkLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLvgZRcIjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuY21zLXByb2NlZWQtYnV0dG9uOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNvcHktdG8tY2xpcGJvYXJkLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNvcHktdG8tY2xpcGJvYXJkLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLvg4VcIjtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIHNpemU6IDE1cHg7IH1cbiAgLmNvcHktdG8tY2xpcGJvYXJkLWJ1dHRvbiAuY29waWVkLXRleHQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNXB4O1xuICAgIGxlZnQ6IC01cHg7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM4LCAyMzgsIDIzOCwgMC45KTtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ubG9jYXRpb24tYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWdyb3c6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgOS41cHggMTJweCA5LjVweCAyMXB4KTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5sb2NhdGlvbi1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5sb2NhdGlvbi1idXR0b246aG92ZXIsIC5sb2NhdGlvbi1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRhNmQ0O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5sb2NhdGlvbi1idXR0b246aG92ZXI6YWZ0ZXIsIC5sb2NhdGlvbi1idXR0b24uaG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmxvY2F0aW9uLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubG9jYXRpb24tYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAubG9jYXRpb24tYnV0dG9uOmFjdGl2ZSwgLmxvY2F0aW9uLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmxvY2F0aW9uLWJ1dHRvbjphY3RpdmU6YWZ0ZXIsIC5sb2NhdGlvbi1idXR0b24uYWN0aXZlOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5sb2NhdGlvbi1idXR0b246ZGlzYWJsZWQsIC5sb2NhdGlvbi1idXR0b24uZGlzYWJsZWQsIC5sb2NhdGlvbi1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmxvY2F0aW9uLWJ1dHRvbjpkaXNhYmxlZDphZnRlciwgLmxvY2F0aW9uLWJ1dHRvbi5kaXNhYmxlZDphZnRlciwgLmxvY2F0aW9uLWJ1dHRvbltkaXNhYmxlZF06YWZ0ZXIge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmxvY2F0aW9uLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmxvY2F0aW9uLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5sb2NhdGlvbi1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5sb2NhdGlvbi1idXR0b246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74+FXCI7XG4gICAgbWFyZ2luOiAwIDAgMCA0MHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogIzEyODFiZjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5sb2NhdGlvbi1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi50aGlyZC1wYXJ0eS10cmFja2luZy1yZWZlcmVuY2Uge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzY0YTZkNDsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctcmVmZXJlbmNlIC5yZWZlcmVuY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cblxuLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjNjRhNmQ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhZGVmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjRhNmQ0OyB9XG4gIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NGE2ZDQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmOyB9XG4gICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbjpob3ZlcjphZnRlciB7XG4gICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uOmFjdGl2ZSB7XG4gICAgY29sb3I6ICM2NzE1NmE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7IH1cbiAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogIzY3MTU2YTsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gp1wiO1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjNjRhNmQ0OyB9XG5cbi50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMiB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiA1cHggMCAwO1xuICBwYWRkaW5nOiA1cHggOHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMwMGFkZWY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMiB7XG4gICAgICBwYWRkaW5nOiAzcHggNXB4O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmhvdmVyOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTI6YWN0aXZlIHtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRhNmQ0O1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjsgfVxuICAgIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMjphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMwMTQxNmY7IH1cbiAgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6gp1wiO1xuICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjMDBhZGVmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTI6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH0gfVxuXG4ucHJpbnQtZWxlbWVudC1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi8gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByaW50LWVsZW1lbnQtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAucHJpbnQtZWxlbWVudC1idXR0b246aG92ZXIsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmU4Zjc7XG4gICAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAucHJpbnQtZWxlbWVudC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAucHJpbnQtZWxlbWVudC1idXR0b246YWN0aXZlLCAucHJpbnQtZWxlbWVudC1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbjphY3RpdmU6YmVmb3JlLCAucHJpbnQtZWxlbWVudC1idXR0b24uYWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAucHJpbnQtZWxlbWVudC1idXR0b246ZGlzYWJsZWQsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5kaXNhYmxlZCwgLnByaW50LWVsZW1lbnQtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wcmludC1lbGVtZW50LWJ1dHRvbjpkaXNhYmxlZDpiZWZvcmUsIC5wcmludC1lbGVtZW50LWJ1dHRvbi5kaXNhYmxlZDpiZWZvcmUsIC5wcmludC1lbGVtZW50LWJ1dHRvbltkaXNhYmxlZF06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5wcmludC1lbGVtZW50LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnByaW50LWVsZW1lbnQtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLnByaW50LWVsZW1lbnQtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAucHJpbnQtZWxlbWVudC1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Ar1wiO1xuICAgIG1hcmdpbjogMCAxMnB4IDAgMDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICMxMjgxYmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAucHJpbnQtZWxlbWVudC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5wcmludC1lbGVtZW50LWxpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgK9cIjtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4jcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbiwgLnBheXBhbC1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTJweCA1cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZjNDM5O1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI3BheXBhbC1jaGVja291dC1idXR0b24sIC5wYXlwYWwtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbiwgLnBheXBhbC1idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgI3BheXBhbC1jaGVja291dC1idXR0b246aG92ZXIsICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLmhvdmVyLCAucGF5cGFsLWJ1dHRvbjpob3ZlciwgLnBheXBhbC1idXR0b24uaG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucGF5cGFsLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAucGF5cGFsLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246YWN0aXZlLCAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbi5hY3RpdmUsIC5wYXlwYWwtYnV0dG9uOmFjdGl2ZSwgLnBheXBhbC1idXR0b24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhO1xuICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbjpkaXNhYmxlZCwgI3BheXBhbC1jaGVja291dC1idXR0b24uZGlzYWJsZWQsICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uW2Rpc2FibGVkXSwgLnBheXBhbC1idXR0b246ZGlzYWJsZWQsIC5wYXlwYWwtYnV0dG9uLmRpc2FibGVkLCAucGF5cGFsLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAucGF5cGFsLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLnBheXBhbC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAjcGF5cGFsLWNoZWNrb3V0LWJ1dHRvbjpmb2N1cy12aXNpYmxlLCAucGF5cGFsLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgI3BheXBhbC1jaGVja291dC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnBheXBhbC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uOmFmdGVyLCAucGF5cGFsLWJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDZyZW07XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvcGF5cGFsLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5pbmNyZW1lbnQtcm93LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuaW5jcmVtZW50LXJvdy1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIitcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuaW5jcmVtZW50LXJvdy1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIGF1dG8gMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luOiA1cHggMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXg6IDE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGdhcDogMTBweCAyMHB4OyB9IH1cbiAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzbi0yKSBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgzbi0yKSBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyOm50aC1vZi10eXBlKDJuKTpub3QoLmFsaWduLWNlbnRlcikgW2NsYXNzKj1cIi1idXR0b25cIl06bm90KC5hY3Rpb24tYnV0dG9uKTpvbmx5LWNoaWxkLCAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpvbmx5LWNoaWxkOm5vdCguYWxpZ24tY2VudGVyKSBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pOm9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lcjpudGgtb2YtdHlwZSgybik6bm90KC5hbGlnbi1jZW50ZXIpIFtjbGFzcyo9XCItYnV0dG9uXCJdOm5vdCguYWN0aW9uLWJ1dHRvbik6bm90KDpvbmx5LWNoaWxkKTpmaXJzdC1jaGlsZCwgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXI6b25seS1jaGlsZDpub3QoLmFsaWduLWNlbnRlcikgW2NsYXNzKj1cIi1idXR0b25cIl06bm90KC5hY3Rpb24tYnV0dG9uKTpub3QoOm9ubHktY2hpbGQpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MqPVwiLWJ1dHRvblwiXTpub3QoLmFjdGlvbi1idXR0b24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MqPVwiLWJ1dHRvblwiXS5hY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIC5zZWNvbmRhcnktYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuXG4uYWRkVG9CYXNrZXRGb3JtIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uYmFza2V0LWFkZC1idXR0b24uaWNvbiB7XG4gIHdpZHRoOiAzNXB4O1xuICBoZWlnaHQ6IDM1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLmljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICBjb2xvcjogIzEyODFiZjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uOm5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uOm5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi5pY29uLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJhc2tldC1hZGQtYnV0dG9uLmljb24uZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMTBweCk7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MWJmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogIzEyODFiZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQ6aG92ZXIsIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWQ6YWN0aXZlLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmRpc2FibGVkLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5kaXNhYmxlZCwgLmJhc2tldC1hZGQtYnV0dG9uLnRleHQtYmFzZWRbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmRpc2FibGVkOmhvdmVyLCAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZC5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5iYXNrZXQtYWRkLWJ1dHRvbi50ZXh0LWJhc2VkOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYmFza2V0LWFkZC1idXR0b24udGV4dC1iYXNlZCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmFkZFRvQmFza2V0Lmljb24ge1xuICB3aWR0aDogMzVweDtcbiAgaGVpZ2h0OiAzNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5hZGRUb0Jhc2tldC5pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgY29sb3I6ICMxMjgxYmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuYWRkVG9CYXNrZXQuaWNvbjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBjb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWRkVG9CYXNrZXQuaWNvbjpub3QoLmRpc2FibGVkKTphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAuYWRkVG9CYXNrZXQuaWNvbi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5hZGRUb0Jhc2tldC5pY29uLmRpc2FibGVkOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKSB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDEwcHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyODFiZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICMxMjgxYmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmhvdmVyLCAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKS5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgICBib3JkZXItY29sb3I6ICM2NzE1NmE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMik6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpOmFjdGl2ZSwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpkaXNhYmxlZCwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuZGlzYWJsZWQsIC5hZGQtdG8tYmFza2V0Om5vdCgucHJlc2V0LTIpW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpkaXNhYmxlZDpob3ZlciwgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYWRkLXRvLWJhc2tldDpub3QoLnByZXNldC0yKTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmFkZC10by1iYXNrZXQ6bm90KC5wcmVzZXQtMikgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5hZGQtdG8tYmFza2V0LnByZXNldC0yIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDEwcHgpO1xuICBjb2xvcjogIzAxNDE2ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JiZThmNztcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMC44MzMzM3JlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmFkZC10by1iYXNrZXQucHJlc2V0LTIge1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5hZGQtdG8tYmFza2V0LnByZXNldC0yOmhvdmVyLCAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMi5ob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICBib3JkZXItY29sb3I6ICMxMjgxYmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFkZC10by1iYXNrZXQucHJlc2V0LTI6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5hZGQtdG8tYmFza2V0LnByZXNldC0yOmFjdGl2ZSwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhO1xuICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpkaXNhYmxlZCwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuZGlzYWJsZWQsIC5hZGQtdG8tYmFza2V0LnByZXNldC0yW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpkaXNhYmxlZDpob3ZlciwgLmFkZC10by1iYXNrZXQucHJlc2V0LTIuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYWRkLXRvLWJhc2tldC5wcmVzZXQtMjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmFkZC10by1iYXNrZXQucHJlc2V0LTIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5hbmltYXRlZC5kcm9wOmJlZm9yZSB7XG4gIGNvbG9yOiAjNjcxNTZhICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmFuaW1hdGVkLmRyb3A6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC0yMHB4O1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhO1xuICBhbmltYXRpb246IGJhc2tldEljb25Ib3ZlciAwLjVzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7IH1cblxuQGtleWZyYW1lcyBiYXNrZXRJY29uSG92ZXIge1xuICAwJSB7XG4gICAgdG9wOiAtMjBweDtcbiAgICBvcGFjaXR5OiAwLjI7IH1cbiAgMTUlIHtcbiAgICB0b3A6IC0xNXB4O1xuICAgIG9wYWNpdHk6IDAuNDsgfVxuICAzMCUge1xuICAgIHRvcDogLTEwcHg7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gIDQ1JSB7XG4gICAgdG9wOiAtNXB4O1xuICAgIG9wYWNpdHk6IDAuODsgfVxuICA2MCUge1xuICAgIHRvcDogMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICA3NSUge1xuICAgIHRvcDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMTVweDtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgdG9wOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5zdG9ja2xpbmUtdmlldy1idXR0b24gYSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24sIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA0NXB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICBjb2xvcjogIzAxNDE2ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JiZThmNztcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbiwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5ob3ZlciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b246aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYS5ob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzEyODFiZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGE6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYTphY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYS5hY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmFjdGl2ZSwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b24uYWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6YWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuYWN0aXZlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbjphY3RpdmUsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICBib3JkZXItY29sb3I6ICM2NzE1NmE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEuZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYVtkaXNhYmxlZF0sIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBidXR0b25bZGlzYWJsZWRdLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6ZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYS5kaXNhYmxlZCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhW2Rpc2FibGVkXSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246ZGlzYWJsZWQsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiBhOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGEuZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBhOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEuZGlzYWJsZWQ6aG92ZXIsIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYTpmb2N1cy12aXNpYmxlLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbjpmb2N1cy12aXNpYmxlLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGE6Zm9jdXMtdmlzaWJsZSwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5zdG9ja2xpbmUtdmlldy1idXR0b24gYSAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIGJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3RvY2tsaW5lLXZpZXctY29udGFpbmVyIGEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLnN0b2NrbGluZS12aWV3LWNvbnRhaW5lciBidXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogNDVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxMjgxYmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYS5ob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpob3ZlciwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFkZWY7XG4gICAgICBib3JkZXItY29sb3I6ICMwMGFkZWY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYTphY3RpdmUsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLmFjdGl2ZSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjphY3RpdmUsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBidXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhO1xuICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYTpkaXNhYmxlZCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEuZGlzYWJsZWQsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhW2Rpc2FibGVkXSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpkaXNhYmxlZCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbi5kaXNhYmxlZCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6ZGlzYWJsZWQ6aG92ZXIsIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhLmRpc2FibGVkOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubm90LWxvZ2dlZC1pbi1jb250YWluZXIgYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGE6Zm9jdXMtdmlzaWJsZSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGEgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIGJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmU4Zjc7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpob3ZlciwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MWJmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjphY3RpdmUsIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgICBib3JkZXItY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uOmRpc2FibGVkLCAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi5kaXNhYmxlZCwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIgLmVucXVpcnktYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyIGFbZGlzYWJsZWRdLCAuZmF2b3VyaXRlc0NvbnRhaW5lciBhLmRpc2FibGVkIHtcbiAgY29sb3I6ICM2ZDZkNmQ7XG4gIG9wYWNpdHk6IDAuNDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuZmF2b3VyaXRlc0NvbnRhaW5lciBhW2Rpc2FibGVkXTphZnRlciwgLmZhdm91cml0ZXNDb250YWluZXIgYVtkaXNhYmxlZF06aG92ZXI6YWZ0ZXIsIC5mYXZvdXJpdGVzQ29udGFpbmVyIGEuZGlzYWJsZWQ6YWZ0ZXIsIC5mYXZvdXJpdGVzQ29udGFpbmVyIGEuZGlzYWJsZWQ6aG92ZXI6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgY29sb3I6ICM2ZDZkNmQ7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIgYTphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74CEXCI7XG4gIGNvbG9yOiAjNjcxNTZhO1xuICBmb250LXNpemU6IDIzcHg7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIgYTpob3ZlcjphZnRlciB7XG4gIGNvbG9yOiAjNjcxNTZhO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lciBhOmFjdGl2ZTphZnRlciB7XG4gIGNvbG9yOiAjNjcxNTZhO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uZmF2b3VyaXRlc0NvbnRhaW5lci5hY3RpdmUgYTphZnRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDEge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQxIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQxIGE6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5mYXZvdXJpdGVzQ29udGFpbmVyLnByZXNldDI6bm90KC5hY3RpdmUpIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MiBhIHtcbiAgd2lkdGg6IDM1cHg7XG4gIGhlaWdodDogMzVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmF2b3VyaXRlc0NvbnRhaW5lci5wcmVzZXQyIGE6YWZ0ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZhdm91cml0ZXNDb250YWluZXIucHJlc2V0MiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxubGFiZWwuZGlzYWJsZWQsIGxhYmVsLnJlYWRvbmx5IHtcbiAgY3Vyc29yOiBuby1kcm9wOyB9XG5cbi5jb250cm9sIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuY29udHJvbCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgZmxleDogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG5ALW1vei1kb2N1bWVudCB1cmwtcHJlZml4KCkge1xuICAuY29udHJvbCBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmNvbnRyb2wgaW5wdXRbdHlwZT1yYWRpb10ge1xuICAgIG1hcmdpbi1yaWdodDogLTRweCAhaW1wb3J0YW50OyB9IH1cblxuLmNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmNvbnRyb2wge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb250cm9sIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfSB9XG4gIC5jb250cm9sIGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuY29udHJvbCBpbnB1dFt0eXBlPXJhZGlvXSB7XG4gICAgei1pbmRleDogLTE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250cm9sLmlzLWhvdmVyZWQgLmlucHV0LXByZWZpeC1pY29uLCAuY29udHJvbDpob3ZlciAuaW5wdXQtcHJlZml4LWljb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IC0xNXB4IDAgMjdweCAzcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJveC1zaGFkb3cgMC42czsgfVxuICAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAuY29udHJvbC5pcy1pbnZhbGlkLWxhYmVsIC5pbnB1dC1wcmVmaXgtaWNvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbDpob3ZlciAuaW5wdXQtcHJlZml4LWljb24sIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWw6aG92ZXIgaW5wdXQge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuY29udHJvbC5pcy1mb2N1c2VkIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogLTE1cHggMCAyN3B4IDNweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7IH1cbiAgLmNvbnRyb2wgKyAubGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogNXB4OyB9XG4gIC5jb250cm9sIC5pbnB1dC1wcmVmaXgtaWNvbiB7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44cztcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLmNvbnRyb2wgLmlucHV0LXByZWZpeC1pY29uOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuY29udHJvbCAuaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cbiAgICAuY29udHJvbCAuaW5wdXQtcHJlZml4LWljb24gKyBpbnB1dCB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuY29udHJvbCAubGFiZWwge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmNvbnRyb2w6bm90KC5yZWFkLW9ubHktaW5wdXQpOm5vdCguZGlzYWJsZWQtaW5wdXQpOm5vdCguaXMtaW52YWxpZC1sYWJlbCk6aG92ZXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIGlucHV0W3R5cGU9dGV4dF0sIC5jb250cm9sOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpOmhvdmVyIGlucHV0W3R5cGU9bnVtYmVyXSwgLmNvbnRyb2w6bm90KC5yZWFkLW9ubHktaW5wdXQpOm5vdCguZGlzYWJsZWQtaW5wdXQpOm5vdCguaXMtaW52YWxpZC1sYWJlbCk6aG92ZXIgaW5wdXRbdHlwZT10ZWxdLCAuY29udHJvbDpub3QoLnJlYWQtb25seS1pbnB1dCk6bm90KC5kaXNhYmxlZC1pbnB1dCk6bm90KC5pcy1pbnZhbGlkLWxhYmVsKTpob3ZlciB0ZXh0YXJlYSB7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cbiAgLmNvbnRyb2wucmVhZC1vbmx5LWlucHV0LCAuY29udHJvbC5kaXNhYmxlZC1pbnB1dCB7XG4gICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5jb250cm9sLnJlYWQtb25seS1pbnB1dDpub3QoLnRleHQpOmhvdmVyOmFmdGVyLCAuY29udHJvbC5kaXNhYmxlZC1pbnB1dDpub3QoLnRleHQpOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wucmVhZC1vbmx5LWlucHV0Om5vdCgudGV4dCk6YWZ0ZXIsIC5jb250cm9sLmRpc2FibGVkLWlucHV0Om5vdCgudGV4dCk6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+Ao1wiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb250cm9sLnJlYWQtb25seS1pbnB1dDpob3ZlcjphZnRlciwgLmNvbnRyb2wuZGlzYWJsZWQtaW5wdXQ6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5yZWFkLW9ubHktaW5wdXQ6YWZ0ZXIsIC5jb250cm9sLmRpc2FibGVkLWlucHV0OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgKNcIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0ICsgc3BhbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMS43NjQ3MXB4OyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0ICsgc3BhbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W3JlYWRvbmx5XSArIHNwYW4sIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0W3JlYWRvbmx5XSArIHNwYW46YmVmb3JlLCAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dFtkaXNhYmxlZF06YmVmb3JlIHtcbiAgICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpob3Zlcjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpob3Zlcjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pOmNoZWNrZWQgKyBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQgKyBzcGFuOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmZvY3VzICsgc3BhbiB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpjaGVja2VkICsgc3BhbjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3guc21hbGwgaW5wdXQ6Y2hlY2tlZDpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3BhbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gIC5jb250cm9sLmNoZWNrYm94LnNtYWxsIGlucHV0OmNoZWNrZWQ6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpjaGVja2VkW2Rpc2FibGVkXSArIHNwYW46YmVmb3JlLCAuY29udHJvbC5jaGVja2JveC5zbWFsbCBpbnB1dDpjaGVja2VkW3JlYWRvbmx5XSArIHNwYW46YmVmb3JlIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW4ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDExLjc2NDcxcHg7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQgKyBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW46YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbcmVhZG9ubHldICsgc3BhbiwgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSk6Y2hlY2tlZCArIHNwYW4ge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dCArIHNwYW46Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Zm9jdXMgKyBzcGFuIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmNoZWNrZWQgKyBzcGFuOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY29udHJvbC5jaGVja2JveDpub3QoLnNtYWxsKSBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM2NzE1NmE7IH1cbiAgLmNvbnRyb2wuY2hlY2tib3g6bm90KC5zbWFsbCkgaW5wdXQ6Y2hlY2tlZDpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3Bhbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmNoZWNrZWRbZGlzYWJsZWRdICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0OmNoZWNrZWRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLnJhZGlvIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIGlucHV0OmNoZWNrZWQgKyBzcGFuLnJhZGlvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIGlucHV0OmNoZWNrZWQgKyBzcGFuLnJhZGlvOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbyB7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNy41cHg7XG4gICAgICBoZWlnaHQ6IDcuNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAuMnB4O1xuICAgICAgbGVmdDogLjRweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDcuNXB4O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbzpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5jb250cm9sLnJhZGlvOm5vdCguY2hlY2tib3gpIHNwYW4ucmFkaW86YWN0aXZlOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW4ge1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQgKyBzcGFuOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogMnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDExLjc2NDcxcHg7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQgKyBzcGFuIHtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW46YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbcmVhZG9ubHldICsgc3BhbiwgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6aG92ZXI6bm90KFtyZWFkb25seV0pOm5vdChbZGlzYWJsZWRdKSArIHNwYW46YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmhvdmVyOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSk6Y2hlY2tlZCArIHNwYW4ge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dCArIHNwYW46Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Zm9jdXMgKyBzcGFuIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWQgKyBzcGFuOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuY29udHJvbC5yYWRpby5jaGVja2JveCBpbnB1dDpjaGVja2VkOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkgKyBzcGFuOmJlZm9yZSB7XG4gICAgY29sb3I6ICM2NzE1NmE7IH1cbiAgLmNvbnRyb2wucmFkaW8uY2hlY2tib3ggaW5wdXQ6Y2hlY2tlZDpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pICsgc3Bhbjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWRbZGlzYWJsZWRdICsgc3BhbjpiZWZvcmUsIC5jb250cm9sLnJhZGlvLmNoZWNrYm94IGlucHV0OmNoZWNrZWRbcmVhZG9ubHldICsgc3BhbjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLnNlbGVjdCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0IHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCBzZWxlY3Q6ZGlzYWJsZWQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24sIC5jb250cm9sLnNlbGVjdCBzZWxlY3RbcmVhZG9ubHldICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdDpkaXNhYmxlZCArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duOmhvdmVyIC5zZWxlY3QtYXJyb3csIC5jb250cm9sLnNlbGVjdCBzZWxlY3RbcmVhZG9ubHldICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0OmRpc2FibGVkICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdzphZnRlciwgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdFtyZWFkb25seV0gKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciAuc2VsZWN0LWFycm93OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdC5pcy1pbnZhbGlkLWlucHV0ICsgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3Qgc2VsZWN0OmZvY3VzICsgZGl2W2NsYXNzPWNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lcl0gLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5pcy1jbG9zaW5nIHtcbiAgICAgIHotaW5kZXg6IDIwMDA7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlLCAuY29udHJvbC5zZWxlY3QuYWN0aXZlOmhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDE5OTk7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXI6aG92ZXIgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUuZHJvcGRvd24tdG9wIC5zZWxlY3RlZC1vcHRpb24sIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIuZHJvcGRvd24tdG9wIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUuZHJvcGRvd24tdG9wIC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdC1hcnJvdywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3Zlci5kcm9wZG93bi10b3AgLnNlbGVjdGVkLW9wdGlvbiAuc2VsZWN0LWFycm93IHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlLmRyb3Bkb3duLXRvcCAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3Zlci5kcm9wZG93bi10b3AgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlIC5zZWxlY3RlZC1vcHRpb24sIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUgLnNlbGVjdGVkLW9wdGlvbjpmb2N1cywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuc2VsZWN0ZWQtb3B0aW9uOmZvY3VzIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdC5hY3RpdmUgLnNlbGVjdC1hcnJvdywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuc2VsZWN0LWFycm93IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgICAgICAuY29udHJvbC5zZWxlY3QuYWN0aXZlIC5zZWxlY3QtYXJyb3c6YWZ0ZXIsIC5jb250cm9sLnNlbGVjdC5hY3RpdmU6aG92ZXIgLnNlbGVjdC1hcnJvdzphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCLvgbdcIjtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZSAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucywgLmNvbnRyb2wuc2VsZWN0LmFjdGl2ZTpob3ZlciAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDE4NXB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LmRyb3Bkb3duLWJvdHRvbSAuc2VsZWN0ZWQtb3B0aW9uIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNjOGM4Yzg7IH1cbiAgICAuY29udHJvbC5zZWxlY3QuZHJvcGRvd24tdG9wIC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2M4YzhjODsgfVxuICAgIC5jb250cm9sLnNlbGVjdC5kcm9wZG93bi10b3AgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4OyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0LmRyb3Bkb3duLXRvcC5hY3RpdmUgLnNlbGVjdGVkLW9wdGlvbiB7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHg7IH1cbiAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdC1hcnJvdyB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdC1hcnJvdzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwYWRkaW5nOiA1cHggMCA1cHggMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMzcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDI1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udHJvbC5zZWxlY3QgLnNlbGVjdGVkLW9wdGlvbiAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9XG4gICAgICAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb246aG92ZXIge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4OyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb25zIHtcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG1hcmdpbjogYXV0byAwIDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDFweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbltzZWxlY3RlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb25bZGlzYWJsZWRdLCAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbi5kaXNhYmxlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgIGN1cnNvcjogbm8tZHJvcDsgfVxuICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1vcHRpb246aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFkZWY7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uOmFjdGl2ZVtkaXNhYmxlZF0sIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3Qtb3B0aW9uOmFjdGl2ZS5kaXNhYmxlZCB7XG4gICAgICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAxNTBweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgZmxleDogMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9IH1cbiAgICAgIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd246aG92ZXIgLnNlbGVjdC1hcnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7IH1cbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciAuc2VsZWN0LWFycm93OmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb250cm9sLnNlbGVjdC50aXRsZSAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDI1MHB4OyB9XG4gIC5jb250cm9sLnRleHQge1xuICAgIGN1cnNvcjogdGV4dDsgfVxuICAgIC5jb250cm9sLnRleHQgaW5wdXQge1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6bm90KFt0eXBlPXBhc3N3b3JkXSk6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuY29udHJvbC50ZXh0IGlucHV0OmhvdmVyLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuICAgICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXIuaXMtaW52YWxpZC1pbnB1dDpmb2N1cyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXIuaXMtaW52YWxpZC1pbnB1dDpmb2N1cyArIGJ1dHRvbiB7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgICAgIC5jb250cm9sLnRleHQgaW5wdXQ6aG92ZXIuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgICAgLmNvbnRyb2wudGV4dCBpbnB1dDpob3Zlcjpub3QoLmlzLWludmFsaWQtaW5wdXQpICsgYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLnRleHQgaW5wdXQgKyBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb250cm9sLnNsaWRlciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDsgfVxuICAuY29udHJvbC5maWxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiA0cHggc29saWQgcmdiYSgxOCwgMTI5LCAxOTEsIDAuOCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgLmNvbnRyb2wuZmlsZTphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyLjVweCk7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDIuNXB4KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJvcmRlcjogMi41cHggZGFzaGVkIHJnYmEoMTgsIDEyOSwgMTkxLCAwLjgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbnRyb2wuZmlsZSB7XG4gICAgICAgIHdpZHRoOiA3MDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAzOHB4IDEwcHg7IH0gfVxuICAgIC5jb250cm9sLmZpbGU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuY29udHJvbC5maWxlOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRyb2wuZmlsZTpob3ZlciBzcGFuLmxhYmVsIHtcbiAgICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb250cm9sLmZpbGU6aG92ZXIgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMTQxNmY7IH1cbiAgICAuY29udHJvbC5maWxlOmFjdGl2ZSwgLmNvbnRyb2wuZmlsZS5pcy1yZWFkeSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4LCAxMjksIDE5MSwgMC4xKTtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxLCA2NSwgMTExLCAwLjcpOyB9XG4gICAgICAuY29udHJvbC5maWxlOmFjdGl2ZTphZnRlciwgLmNvbnRyb2wuZmlsZS5pcy1yZWFkeTphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgxLCA2NSwgMTExLCAwLjcpOyB9XG4gICAgLmNvbnRyb2wuZmlsZS5pcy1yZWFkeSAuZmlsZS11cGxvYWQtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLulqBcIjtcbiAgICAgIGNvbG9yOiByZ2JhKDEsIDY1LCAxMTEsIDAuNyk7IH1cbiAgICAuY29udHJvbC5maWxlLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgICAgLmNvbnRyb2wuZmlsZS5pcy1pbnZhbGlkLWxhYmVsOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuY29udHJvbC5maWxlLmlzLWludmFsaWQtbGFiZWwgLmZvcm0tZXJyb3Ige1xuICAgICAgICBtYXJnaW46IDIwcHggMDsgfVxuICAgICAgLmNvbnRyb2wuZmlsZS5pcy1pbnZhbGlkLWxhYmVsIC5maWxlLXVwbG9hZC1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuY29udHJvbC5maWxlLmlzLWludmFsaWQtbGFiZWwgc3Bhbi5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmNvbnRyb2wuZmlsZSBzcGFuLmxhYmVsIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250cm9sLmZpbGUgc3Bhbi5sYWJlbCB7XG4gICAgICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgICAuY29udHJvbC5maWxlIC5maWxlLXVwbG9hZC1pY29uIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMTBweCAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG4gICAgICAuY29udHJvbC5maWxlIC5maWxlLXVwbG9hZC1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi75W0XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gICAgICAuY29udHJvbC5maWxlIC5maWxlLXVwbG9hZC1pY29uICsgLmxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7IH1cbiAgICAuY29udHJvbC5maWxlIC5pbnB1dC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRyb2wuZmlsZSAuaW5wdXQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgLmNvbnRyb2wuZmlsZSAuZmlsZS1zaXplIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNvbnRyb2wuZmlsZSAucmVtb3ZlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAgIC5jb250cm9sLmZpbGUgLnJlbW92ZS1idXR0b246aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLmNvbnRyb2wuZmlsZSAucmVtb3ZlLWJ1dHRvbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIC5jb250cm9sLmZpbGUgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gIC5jb250cm9sLnNlYXJjaCBpbnB1dCB7XG4gICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgLmNvbnRyb2wuc2VhcmNoIGlucHV0ICsgYnV0dG9uIHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIG1hcmdpbjogYXV0byAwOyB9XG4gIC5jb250cm9sIC50b29sdGlwLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cbiAgLmNvbnRyb2w6aG92ZXIgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGFuaW1hdGlvbjogYW5pbWF0ZVRvb2xUaXBIaW50IDJzOyB9XG5cbi5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgc2VsZWN0LCAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICB3aWR0aDogOTBweDsgfVxuXG4ucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuc2VsZWN0ZWQtb3B0aW9uIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMTBweDsgfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVUb29sVGlwSGludCB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcyLCA3MiwgNzIsIDAuNyk7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgMjAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50OyB9IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbmlucHV0Lm1haWwtaW5wdXQge1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICBtYXJnaW46IDA7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgaW5wdXQubWFpbC1pbnB1dCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDsgfSB9XG4gIGlucHV0Lm1haWwtaW5wdXQuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIGlucHV0Lm1haWwtaW5wdXQuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICBpbnB1dC5tYWlsLWlucHV0LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgY29sb3I6IHJnYmEoMSwgNjUsIDExMSwgMC42KTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgaW5wdXQubWFpbC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7IH0gfVxuICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246ZW1wdHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74eYXCI7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogcmdiYSgxLCA2NSwgMTExLCAwLjYpO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEsIDY1LCAxMTEsIDAuNik7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246aG92ZXI6ZW1wdHk6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBpbnB1dC5tYWlsLWlucHV0ICsgYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIGlucHV0Lm1haWwtaW5wdXQgKyBidXR0b246YWN0aXZlOmVtcHR5OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5jb25kaXRpb25hbC1pbnB1dHMge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5jb25kaXRpb25hbC1pbnB1dHMuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAyMDAwcHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlciwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzY3MTU2YTsgfSB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlciwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLnByZXNldC0xIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmhvdmVyOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzAxNDE2ZjsgfSB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lci5wcmVzZXQtMSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTsgfVxuICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6YWN0aXZlOmJlZm9yZSwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIucHJlc2V0LTEgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZGFkYWRhOyB9XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQ6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgcGFkZGluZzogNnB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxNXB4IDZweCAwOyB9IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciBpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6bm90KC5kaXNhYmxlZCksIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpub3QoLmRpc2FibGVkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1kZWNyZW1lbnQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlLCAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlci1kZWNyZW1lbnQuZGlzYWJsZWQsIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyOmhhcyhpbnB1dC5pcy1pbnZhbGlkLWlucHV0KSAuaW5wdXQtbnVtYmVyLWluY3JlbWVudC5kaXNhYmxlZCB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXI6aGFzKGlucHV0LmlzLWludmFsaWQtaW5wdXQpIC5pbnB1dC1udW1iZXIge1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7IH1cbiAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lcjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkgLmlucHV0LW51bWJlcjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIuaXMtaW52YWxpZC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLmlzLWludmFsaWQtcXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9IH1cbiAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIuaXMtaW52YWxpZC1xdWFudGl0eSAucXVhbnRpdHktZXJyb3Ige1xuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAucXVhbnRpdHktZXJyb3Ige1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG5cbi5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmlucHV0LWdyb3VwIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7IH0gfVxuICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAgaW5wdXQge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGhlaWdodDogNDVweDsgfVxuXG4uaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4OyB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiBzcGFuLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXI6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGhlaWdodDogNDVweDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDVweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItZGVjcmVtZW50OmJlZm9yZSxcbiAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3ZlcixcbiAgICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7IH1cbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpob3Zlcjpub3QoLmRpc2FibGVkKSxcbiAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudDpob3Zlcjpub3QoLmRpc2FibGVkKSB7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQge1xuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gICAgLmlucHV0LW51bWJlci1ncm91cCAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgahcIjsgfVxuICAuaW5wdXQtbnVtYmVyLWdyb3VwIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcbiAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlci1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GnXCI7IH1cblxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0OyB9IH1cbiAgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDQ1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLnNlbGVjdCB7XG4gICAgICB3aWR0aDogOTBweDsgfSB9XG4gIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLnNlbGVjdCBzZWxlY3Qge1xuICAgIGhlaWdodDogNDVweDsgfVxuICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG5cbnNwYW4uZm9ybS1lcnJvciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBzcGFuLmZvcm0tZXJyb3Ige1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBzcGFuLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG5zcGFuLmZvcm0tY2FsbG91dC1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuXG51bC5hZHZhbmNlZC12YWxpZGF0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMzVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaSB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTFweDsgfSB9XG4gICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3Ige1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvcjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiByZ2JhKDcyLCA3MiwgNzIsIDAuNyk7IH1cbiAgICAgIHVsLmFkdmFuY2VkLXZhbGlkYXRpb24gPiBsaS5hZHZhbmNlZC1mb3JtLWVycm9yLmlzLXZhbGlkIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3IuaXMtdmFsaWQ6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgICB1bC5hZHZhbmNlZC12YWxpZGF0aW9uID4gbGkuYWR2YW5jZWQtZm9ybS1lcnJvci5pcy1pbnZhbGlkIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgICAgdWwuYWR2YW5jZWQtdmFsaWRhdGlvbiA+IGxpLmFkdmFuY2VkLWZvcm0tZXJyb3IuaXMtaW52YWxpZDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7IH1cblxuLmFkdmFuY2VkLXZhbGlkYXRpb24tYWN0aXZlLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogIzk1OTU5NTsgfVxuXG4uZ3JvdXAtZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMTBweCAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgLmdyb3VwLWZvcm0tZXJyb3IgaDIsIC5ncm91cC1mb3JtLWVycm9yIGg0IHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5ncm91cC1mb3JtLWVycm9yIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5ncm91cC1mb3JtLWVycm9yIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgIC5ncm91cC1mb3JtLWVycm9yIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgIC5ncm91cC1mb3JtLWVycm9yIHVsIGxpIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5ncm91cC1mb3JtLWVycm9yIHAsIC5ncm91cC1mb3JtLWVycm9yIGEge1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmdyb3VwLWZvcm0tZXJyb3IgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncm91cC1mb3JtLWVycm9yIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuXG4uZXJyb3ItYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgcGFkZGluZzogMTBweCAyMHB4OyB9XG4gIC5lcnJvci1ibG9jayBoMiwgLmVycm9yLWJsb2NrIGg0IHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5lcnJvci1ibG9jayB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAuZXJyb3ItYmxvY2sgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgLmVycm9yLWJsb2NrIHVsIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgIC5lcnJvci1ibG9jayB1bCBsaSB7XG4gICAgICBjb2xvcjogI2IyMGMwYztcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuZXJyb3ItYmxvY2sgcCwgLmVycm9yLWJsb2NrIGEge1xuICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmVycm9yLWJsb2NrIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb250cm9sLmlzLWludmFsaWQtbGFiZWwgaW5wdXQgKyBidXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCArIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmNvbnRyb2wuaXMtaW52YWxpZC1sYWJlbCBpbnB1dCArIHNwYW4uY2hlY2tib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuXG5Aa2V5ZnJhbWVzIGtmX3NoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTBweCk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0xMHB4KTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNXB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTVweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDRweCk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgpOyB9IH1cblxuLmZpZWxkLWxlYWQtaW4tdGV4dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG5sYWJlbDpub3QoLmRpc2FibGVkKSAubGFiZWw6aG92ZXIsIGxhYmVsOm5vdCgucmVhZC1vbmx5LWlucHV0KSAubGFiZWw6aG92ZXIge1xuICBjb2xvcjogIzAxNDE2ZjsgfVxuXG5sYWJlbDpub3QoLmRpc2FibGVkKSAubGFiZWw6YWN0aXZlLCBsYWJlbDpub3QoLnJlYWQtb25seS1pbnB1dCkgLmxhYmVsOmFjdGl2ZSB7XG4gIGNvbG9yOiAjNjcxNTZhOyB9XG5cbmxhYmVsIC5sYWJlbCB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbmxhYmVsIGlucHV0Om5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNDVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGxhYmVsIGlucHV0Om5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWNoZWNrYm94XSk6bm90KFt0eXBlPXJhZGlvXSkge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuXG5sYWJlbCBpbnB1dC5pcy1pbnZhbGlkLWlucHV0ICsgYnV0dG9uLmlubGluZS1idXR0b24ge1xuICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cblxubGFiZWwgaW5wdXQuaXMtaW52YWxpZC1pbnB1dFt0eXBlPXBhc3N3b3JkXTpmb2N1cyArIGJ1dHRvbi5pbmxpbmUtYnV0dG9uIHtcbiAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG5cbmxhYmVsIGlucHV0OmZvY3VzICsgYnV0dG9uLmlubGluZS1idXR0b246aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBJbnRlcm5ldCBFeHBsb3JlciAqL1xuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBDaHJvbWUgKi9cbi5sb29rdXAtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBvc3Rjb2RlLWxvb2t1cC1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC5wb3N0Y29kZS1sb29rdXAtZXJyb3IuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5pbnB1dC5sb29rdXAta2V5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1yaWdodDogMTVweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIGlucHV0Lmxvb2t1cC1rZXkge1xuICAgICAgd2lkdGg6IDM2MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGlucHV0Lmxvb2t1cC1rZXkgKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA0NXB4OyB9IH1cbiAgaW5wdXQubG9va3VwLWtleS5pcy12YWxpZC1pbnB1dCArIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODFiZjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICBpbnB1dC5sb29rdXAta2V5LmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuYnV0dG9uLmxvb2t1cC1zdWJtaXQge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEycHggMTNweCk7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICM5NTk1OTU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBidXR0b24ubG9va3VwLXN1Ym1pdCB7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbiwgMCAwIDAgMTBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgYnV0dG9uLmxvb2t1cC1zdWJtaXQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMCAxMHB4KTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6aG92ZXIsIGJ1dHRvbi5sb29rdXAtc3VibWl0LmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICBidXR0b24ubG9va3VwLXN1Ym1pdDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCBidXR0b24ubG9va3VwLXN1Ym1pdC5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgYnV0dG9uLmxvb2t1cC1zdWJtaXQ6YWN0aXZlLCBidXR0b24ubG9va3VwLXN1Ym1pdC5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxYmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTI4MWJmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIGJ1dHRvbi5sb29rdXAtc3VibWl0OmRpc2FibGVkLCBidXR0b24ubG9va3VwLXN1Ym1pdC5kaXNhYmxlZCwgYnV0dG9uLmxvb2t1cC1zdWJtaXRbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIGJ1dHRvbi5sb29rdXAtc3VibWl0OmRpc2FibGVkOmhvdmVyLCBidXR0b24ubG9va3VwLXN1Ym1pdC5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIGJ1dHRvbi5sb29rdXAtc3VibWl0OmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICBidXR0b24ubG9va3VwLXN1Ym1pdCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmxvb2t1cC1yZXN1bHRzIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmxvb2t1cC1yZXN1bHRzIHVsIHtcbiAgICBtYXgtaGVpZ2h0OiAyMjVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICAubG9va3VwLXJlc3VsdHMgdWwgLnNlbGVjdGVkIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5sb29rdXAtcmVzdWx0cyB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbiwgLmxvb2t1cC1yZXN1bHRzIGEge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAubG9va3VwLXJlc3VsdHMgYnV0dG9uIHNwYW4sIC5sb29rdXAtcmVzdWx0cyBhIHNwYW4ge1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5sb29rdXAtcmVzdWx0cyBidXR0b246aG92ZXIsIC5sb29rdXAtcmVzdWx0cyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbjphY3RpdmUsIC5sb29rdXAtcmVzdWx0cyBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzY3MTU2YTsgfVxuICAgICAgLmxvb2t1cC1yZXN1bHRzIGJ1dHRvbjphY3RpdmUgc3BhbiwgLmxvb2t1cC1yZXN1bHRzIGE6YWN0aXZlIHNwYW4ge1xuICAgICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxvb2t1cC1yZXN1bHRzLmJyYW5jaC1zZWFyY2gsIC5sb29rdXAtcmVzdWx0cy5hY2NvdW50LXNlYXJjaCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTIwcHg7IH0gfVxuICAubG9va3VwLXJlc3VsdHMuYnJhbmNoLXNlYXJjaCBidXR0b24sIC5sb29rdXAtcmVzdWx0cy5hY2NvdW50LXNlYXJjaCBidXR0b24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmdlb2xvY2F0aW9uLWNvbnRpYW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuaW5wdXRbdHlwZT1zZWFyY2hdIHtcbiAgZmxleDogMTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA1cHggMCA1cHggMjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xuICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOmhvdmVyLCBpbnB1dFt0eXBlPXNlYXJjaF0uaG92ZXIge1xuICAgIGJveC1zaGFkb3c6IC0xcHggMHB4IDIwcHggNnB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgICBpbnB1dFt0eXBlPXNlYXJjaF06aG92ZXIgKyBidXR0b24sIGlucHV0W3R5cGU9c2VhcmNoXS5ob3ZlciArIGJ1dHRvbiB7XG4gICAgICBib3gtc2hhZG93OiAxNXB4IDBweCAyMHB4IDJweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmOyB9XG4gICAgICBpbnB1dFt0eXBlPXNlYXJjaF06aG92ZXIgKyBidXR0b246YmVmb3JlLCBpbnB1dFt0eXBlPXNlYXJjaF0uaG92ZXIgKyBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlLCBpbnB1dFt0eXBlPXNlYXJjaF0uZm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gICAgaW5wdXRbdHlwZT1zZWFyY2hdOmZvY3VzICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlICsgYnV0dG9uLCBpbnB1dFt0eXBlPXNlYXJjaF0uZm9jdXMgKyBidXR0b24ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHMgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICBpbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMgKyBidXR0b246YmVmb3JlLCBpbnB1dFt0eXBlPXNlYXJjaF06YWN0aXZlICsgYnV0dG9uOmJlZm9yZSwgaW5wdXRbdHlwZT1zZWFyY2hdLmZvY3VzICsgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXTo6cGxhY2Vob2xkZXIge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIGlucHV0W3R5cGU9c2VhcmNoXTpub3QoOmhhcygrIGJ1dHRvbikpIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICBpbnB1dFt0eXBlPXNlYXJjaF0gKyBidXR0b24ge1xuICAgIHdpZHRoOiA3MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwO1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44czsgfVxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICBpbnB1dFt0eXBlPXNlYXJjaF0gKyBidXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICBpbnB1dFt0eXBlPXNlYXJjaF0gKyBidXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7IH1cbiAgICAgIGlucHV0W3R5cGU9c2VhcmNoXSArIGJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICBpbnB1dFt0eXBlPXNlYXJjaF0gKyBidXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CCXCI7XG4gICAgICB3aWR0aDogNzBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4udG9nZ2xlLWNvbnRhaW5lciB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgLnRvZ2dsZS1jb250YWluZXIuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG5cbi51aS1ibG9jay1wYW5lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzOCwgMjM4LCAyMzgsIDAuNik7XG4gIGN1cnNvcjogbm8tZHJvcDtcbiAgei1pbmRleDogMTAwMDsgfVxuICAudWktYmxvY2stcGFuZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CjXCI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDgycHg7XG4gICAgY29sb3I6IHJnYmEoMTQ5LCAxNDksIDE0OSwgMC42KTsgfVxuXG4uc3NvLXNlbGVjdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMTBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMjBweCAwOyB9IH1cbiAgLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIC5zc28tc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjBweDsgfVxuICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLm9wdGlvbi1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIC5vcHRpb24tY29udGFpbmVyICsgLnNzby1zZXBlcmF0b3Ige1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b24ge1xuICAgIHdpZHRoOiA3MCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBhc3BlY3QtcmF0aW86IDIxNS80MTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIC5zc28tYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDMwMHB4OyB9IH1cbiAgICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1idXR0b246aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIC5zc28tYnV0dG9uLm1pY3Jvc29mdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvYnV0dG9ucy9taWNyb3NvZnQtc3NvLWxpZ2h0LnN2Z1wiKTsgfVxuICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIgLnNzby1zZXBlcmF0b3Ige1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi8qXHJcbi0tLS0tIFNpdGUgU3R5bGVzIC0tLS0tIFxyXG5BbGxvd2luZyBDU1MgdmFyaWFibGVzIHRvIG92ZXJyaWRlIFNBU1MgY29uZmlndXJhdGlvbiwgdXNlZCBpbiBpbnN0YW5jZXMgd2hlcmUgeW91IG5lZWQgZGVwYXJ0bWVudCBzcGVjaWZjIGNvbG91cmluZy5cclxuXHJcbiovXG4ucmVxdWlyZWQtcHJvbXB0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwIDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXF1aXJlZC1wcm9tcHQge1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG4gIC5yZXF1aXJlZC1wcm9tcHQgKyAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnNpbmdsZS1jb2x1bW4tY2FsbGJhY2stY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cblxuLnNpbmdsZS1jb2x1bW4tY2FsbGJhY2stY29udGFpbmVyLmNvbnRlbnQtYm9yZGVyIHtcbiAgcGFkZGluZzogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZTsgfVxuXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuZm9ybS51c2VyLWRhdGEtZm9ybSB7XG4gIHBhZGRpbmc6IDAgMCAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbmZvcm0uc2luZ2xlLWNvbHVtbiB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZCB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gICAgZm9ybS5zaW5nbGUtY29sdW1uIC5maWVsZDpsYXN0LWNoaWxkIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwIDA7IH1cblxuZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb3JtIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZzogMTBweCAyMDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbmZvcm0gZmllbGRzZXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb3JtIGZpZWxkc2V0IHtcbiAgICAgIHBhZGRpbmc6IDAgMCAyMHB4OyB9IH1cbiAgZm9ybSBmaWVsZHNldDpmaXJzdC1vZi10eXBlIGgyIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIGZvcm0gZmllbGRzZXQgaDMsIGZvcm0gZmllbGRzZXQgZGl2ID4gbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyNXB4IGF1dG8gMjBweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIGZvcm0gZmllbGRzZXQgaDM6YmVmb3JlLCBmb3JtIGZpZWxkc2V0IGRpdiA+IGxlZ2VuZDpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIGZvcm0gZmllbGRzZXQgaDM6YmVmb3JlLCBmb3JtIGZpZWxkc2V0IGRpdiA+IGxlZ2VuZDpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjYWVhZWFlO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBmb3JtIGZpZWxkc2V0IGgzLCBmb3JtIGZpZWxkc2V0IGRpdiA+IGxlZ2VuZCB7XG4gICAgICAgIG1heC13aWR0aDogNjQwcHg7IH0gfVxuICBmb3JtIGZpZWxkc2V0IGgyLCBmb3JtIGZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODFiZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgZm9ybSBmaWVsZHNldCBoMiArIC5zdWItZ3JvdXAtbmFtZSwgZm9ybSBmaWVsZHNldCBsZWdlbmQgKyAuc3ViLWdyb3VwLW5hbWUge1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7IH1cbiAgZm9ybSBmaWVsZHNldCBsZWdlbmQge1xuICAgIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIGZvcm0gZmllbGRzZXQgdWwge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBmb3JtIGZpZWxkc2V0ID4gLmZvcm0tZXJyb3Ige1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICBmb3JtIGZpZWxkc2V0IC5zdWItZ3JvdXAtbmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIGZvcm0gZmllbGRzZXQgLnN1Yi1ncm91cC1uYW1lICsgLnJlcXVpcmVkLXByb21wdCB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb3JtIGZpZWxkc2V0IC5lcnJvci1ibG9jayB7XG4gICAgICBtYXJnaW46IDAgYXV0byAxMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBmb3JtIC5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluayB7XG4gICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH0gfVxuXG4uY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cztcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkc2V0LWJhbm5lci1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NGE2ZDQ7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkc2V0LWJhbm5lci1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7IH0gfVxuICAgIC5jb2x1bW4tY29udGVudC1jb250YWluZXIgLmZpZWxkc2V0LWJhbm5lci1jb250YWluZXIgLmZpZWxkc2V0LWJhbm5lciB7XG4gICAgICB3aWR0aDogMTIwcHg7IH1cbiAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZHNldC1iYW5uZXItY29udGFpbmVyICsgaDIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZCB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuZmllbGQge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sdW1uLWNvbnRlbnQtY29udGFpbmVyIC5maWVsZCBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4OyB9IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuaGVhZGluZy1jb250YWluZXIgaDIge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDE1cHggNy41cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMCA4NXB4OyB9IH1cbiAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uY2FwdGNoYS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7IH1cbiAgLmNhcHRjaGEtY29udGFpbmVyLmNoZWNrYm94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDE1cHggMDsgfVxuICAuY2FwdGNoYS1jb250YWluZXIgLmdyZWNhcHRjaGEtYmFkZ2Uge1xuICAgIGJvdHRvbTogNjBweCAhaW1wb3J0YW50OyB9XG5cbi5wb3B1cC1iYWNrZ3JvdW5kIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDExNTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjYuNjY2NjdweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA4MHB4OyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMCAxMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gICAgcGFkZGluZzogMzVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB7XG4gICAgICAgIGdhcDogMCAxNXB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50OmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnByZXNldC0xIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5wcmVzZXQtMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnByZXNldC0yIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDY1cHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQucHJlc2V0LTMge1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQucHJlc2V0LTMge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3M6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoMSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGgyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDMsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBoNCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5zdWNjZXNzIGg1LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgaDYsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuc3VjY2VzcyBwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LnN1Y2Nlc3MgYSB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmc6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoMSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGgyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDMsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBoNCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC53YXJuaW5nIGg1LCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgaDYsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQud2FybmluZyBwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lndhcm5pbmcgYSB7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDEsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDMsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgaDYsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuYWxlcnQgcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5hbGVydCBhIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50LmRpc2FibGVkIHAge1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pbmZvcm1hdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pbmZvcm1hdGlvbjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgZpcIjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC5pbmZvcm1hdGlvbiBwIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50Lmljb24tbm9uLXJldHVybmFibGUge1xuICAgICAgLS1mb250LWZhbWlseTogZm9udGVsbG87IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQuaWNvbi1ub24tcmV0dXJuYWJsZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu6hk1wiOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCAudXNlci1mcmllbmRseS1wcmVmaXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50ID4gcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgcCBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB7XG4gICAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGgge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlIHRib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHRhYmxlLm5vLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSB7XG4gICAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6YmVmb3JlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cInRlbDpcIl0sIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DoFwiOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvoblcIjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMCA1cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmNvbnRlbnQgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyNHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudCBwOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5jb250ZW50IHA6YmVmb3JlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCA0NXB4IDIwcHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzcyB7XG4gICAgICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzIHtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAxMHB4IDApOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2VzcyB7XG4gICAgICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDAgMjBweCk7IH0gfVxuICAgICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzczpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzLmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6YWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3MuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJlOGY3O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogI2JiZThmNztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6ZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzcy5kaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzW2Rpc2FibGVkXSB7XG4gICAgICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLnN1Y2Nlc3M6ZGlzYWJsZWQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzcy5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uc3VjY2Vzczpmb2N1cy12aXNpYmxlIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5zdWNjZXNzIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgICAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQge1xuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDEwcHggMCk7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0IHtcbiAgICAgICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgMCAyMHB4KTsgfSB9XG4gICAgICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcuaG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWxlcnQuaG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6YWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcuYWN0aXZlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmFjdGl2ZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydC5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmU4Zjc7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjYmJlOGY3O1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpkaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi53YXJuaW5nLmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmdbZGlzYWJsZWRdLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0LmRpc2FibGVkLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0W2Rpc2FibGVkXSB7XG4gICAgICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmc6ZGlzYWJsZWQ6aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZy5kaXNhYmxlZDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydDpkaXNhYmxlZDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ud2FybmluZzpmb2N1cy12aXNpYmxlLCAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFsZXJ0OmZvY3VzLXZpc2libGUge1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LXByb2NlZWQtYnV0dG9uLndhcm5pbmcgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hbGVydCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xuICAgICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwIDIyLjVweCAxMHB4KTtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uOmFjdGl2ZSwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246ZGlzYWJsZWQsIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5kaXNhYmxlZCwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIgLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciAucHJvbXB0LWNhbmNlbC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLnByb21wdC1idXR0b24tY29udGFpbmVyIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNvbmZpcm1hdGlvbi1wcm9tcHQtY29udGFpbmVyIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAuY29uZmlybWF0aW9uLXByb21wdC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG4uY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweCAxMHB4O1xuICBtYXJnaW46IDMwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7IH0gfVxuICAuY29uZmlybWF0aW9uLWNvbnRhaW5lci5tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5jb25maXJtYXRpb24tY29udGFpbmVyLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmZiZTI7XG4gICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLmNvbmZpcm1hdGlvbi1jb250YWluZXIud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAuY29uZmlybWF0aW9uLWNvbnRhaW5lci5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZjBmMDtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuXG4vKlxyXG4tLS0tLSBIZWFkZXIgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBVcHBlciArIGxvd2VyIG5hdmlnYXRpb24gYmFycy5cclxuLSBTaXRlIGxvZ29cclxuLSBIZWFkZXIgc3RpY2t5IGZ1bmN0aW9uYWxpdHk6XHJcbiAgLSBGdWxsXHJcbiAgLSBNaW5pZmllZFxyXG4gIC0gTm8gVG9wIEJhclxyXG4gIC0gTWVudVxyXG4tIFZBVCBTd2l0Y2hlclxyXG4tIEJyZWFkY3J1bWJzXHJcbi0gQmFza2V0IFN1bW1hcnkgXHJcbi0gQ2FsbG91dHMgaW4gdGhlIGhlYWRlciB0byBtb2RpZnkgY2FsbG91dCBzZWUgYXhpcy1ub3RpZmljYXRpb24uc2Nzc1xyXG4tIFByZWRpY3RpdmUgc2VhcmNoIHBvc2l0aW9uaW5nIHRvIG1vZGlmeSBzZWFyY2ggc3R5bGUgdGhlbiBnbyB0byBheGlzLWF1dG9jb21wbGV0ZS5zY3NzXHJcbi0gVVNQIGJhciB3aGljaCBpcyBlc3NlbnRpYWxseSBhIG1vZHVsZS5cclxuLSBXZWxjb21lIFRleHRcclxuLSBUYWcgbGluZXNcclxuLSBUT0RPOiBJIGFtIGN1cnJlbnRseSBpbiB0aGUgcHJvY2VzcyBvZiB0cnlpbmcgdG8gdW50YW5nbGUgdGhlIG1lZ2EgbWVudSBjc3MgKyBtYWtlIGl0IG1vcmUgZ2VuZXJpYyBhbmQgcmVob21lIGl0IGluc2lkZSBvZiBheGlzLW1lbnVzLnNjc3NcclxuKi9cbmhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaGVhZGVyIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0ge1xuICAgIHotaW5kZXg6IDIwMDA7IH1cbiAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB6LWluZGV4OiAyMDAwOyB9XG4gICAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAxLjVzIGVhc2Utb3V0OyB9IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk5vVG9wQmFyXCJdIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY29udGVudCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItY29udGVudC1sZWZ0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgMC42cywgbWFyZ2luLWJvdHRvbSAwLjhzOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jb250ZW50LWNlbnRlciB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAubG9nby1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5sb2dvLWNvbnRhaW5lciAubG9nby1mdWxsLXNpemUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5sb2dvLWNvbnRhaW5lciAubG9nby1taW5pZmllZCB7XG4gICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItYWNjb3VudC1idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAzLjVweCA3Ljc1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42czsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdICNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87IH1cbiAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdICNhY3Rpb24tYmFyLWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdICNhY3Rpb24tYmFyLWNvbnRhaW5lciAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMjNweDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gI2FjdGlvbi1iYXItY29udGFpbmVyIC5idWJibGUtY29udGFpbmVyIHtcbiAgICAgICAgICB0b3A6IDQ1cHg7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgICAgIGhlaWdodDogNDVweDsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5hamF4LXNlYXJjaCB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAuYWpheC1zZWFyY2ggKyBidXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci10YWctbGluZS1jb250YWluZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci13ZWxjb21lLXRleHQtY29udGFpbmVyICsgI2FjdGlvbi1iYXItY29udGFpbmVyIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICBoZWFkZXIgW2RhdGEtYXhpcy1zdGlja3ldLmlzLXN0dWNrIC5oZWFkZXItY29udGFpbmVyW2RhdGEtc3RpY2t5LXR5cGU9XCJNaW5pZnlcIl0gLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciA+IGRpdiB7XG4gICAgICAgICAgaGVpZ2h0OiA0NXB4OyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciBhIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIC5ob21lLWJ1dHRvbiBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciAuaG9tZS1idXR0b24gYTpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTQuMTY2NjdweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDA7XG4gICAgICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjZzLCBmb250LXNpemUgMC42czsgfVxuICAgICAgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWluaWZ5XCJdIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIC5tZW51ID4gbGk6bm90KC5ob21lLWJ1dHRvbikgPiBhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IDIyLjVweDtcbiAgICAgICAgICBoZWlnaHQ6IDIyLjVweDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzLCBoZWlnaHQgMC42czsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0gLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciwgaGVhZGVyIFtkYXRhLWF4aXMtc3RpY2t5XS5pcy1zdHVjayAuaGVhZGVyLWNvbnRhaW5lcltkYXRhLXN0aWNreS10eXBlPVwiTWVudVwiXSAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLWZ1bGwtc2l6ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIGhlYWRlciBbZGF0YS1heGlzLXN0aWNreV0uaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXJbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0gLmxvZ28tY29udGFpbmVyIC5sb2dvLW1pbmlmaWVkIHtcbiAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5oZWFkZXIgLmhlYWRlci1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICBoZWFkZXIgLmhlYWRlci1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDk5JTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuOHM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cblxuLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciB7XG4gIG1heC13aWR0aDogNzAlO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgb3JkZXI6IDI7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGEsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uIHtcbiAgICB3aWR0aDogMzVweDtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMi41cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYTpiZWZvcmUsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGE6aG92ZXIsIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYnV0dG9uOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhOmhvdmVyOmJlZm9yZSwgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBidXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNlNTAwN2Q7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciBhW2hyZWZePVwidGVsOlwiXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi76G5XCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIGFbaHJlZl49XCJ0ZWw6XCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cbiAgLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciAuaGVhZGVyLXRvZ2dsZS1zZWFyY2g6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AglwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtc2VhcmNoOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYmFza2V0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvipFcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWJhc2tldDpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDI0cHg7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWJhc2tldC53YXJuaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJFcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYmFza2V0LmFsZXJ0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJJcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtbWVnYS1tZW51OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg4lcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLW1lZ2EtbWVudTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7IH0gfVxuICAuaGVhZGVyLW1vYmlsZS10b2dnbGUtYmFyIC5oZWFkZXItdG9nZ2xlLWFjY291bnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZWFkZXItbW9iaWxlLXRvZ2dsZS1iYXIgLmhlYWRlci10b2dnbGUtYWNjb3VudDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIdcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5oZWFkZXItbW9iaWxlLW1lbnUge1xuICBtYXgtaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgei1pbmRleDogMjAwMDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLW1vYmlsZS1tZW51IHtcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHotaW5kZXg6IGF1dG87XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gIC5oZWFkZXItbW9iaWxlLW1lbnUuYW5pbWF0ZSB7XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMTQxNmY7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgNnB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLmhlYWRlci1tb2JpbGUtbWVudS5hY3RpdmUge1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAyNXB4IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci1tb2JpbGUtbWVudSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMzQlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgb3JkZXI6IDE7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBkaXNwbGF5OiAtbXMtZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDQ3LjclIDI4LjUlO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgLmhlYWRlci1jb250ZW50LWxlZnQgPiBkaXY6bm90KC5sb2dvLWNvbnRhaW5lcik6bm90KCNhY3Rpb24tYmFyLWNvbnRhaW5lcik6bm90KC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lcik6bm90KC5oZWFkZXItY29tcG9uZW50LXNob3ctbW9iaWxlKSwgLmhlYWRlci1jb250ZW50LWNlbnRlciA+IGRpdjpub3QoLmxvZ28tY29udGFpbmVyKTpub3QoI2FjdGlvbi1iYXItY29udGFpbmVyKTpub3QoLmhlYWRlci1zZWFyY2gtY29udGFpbmVyKTpub3QoLmhlYWRlci1jb21wb25lbnQtc2hvdy1tb2JpbGUpLCAuaGVhZGVyLWNvbnRlbnQtcmlnaHQgPiBkaXY6bm90KC5sb2dvLWNvbnRhaW5lcik6bm90KCNhY3Rpb24tYmFyLWNvbnRhaW5lcik6bm90KC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lcik6bm90KC5oZWFkZXItY29tcG9uZW50LXNob3ctbW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmhlYWRlci1jb250ZW50LWxlZnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XG4gICAgLW1zLWdyaWQtcm93LXNwYW46IDI7XG4gICAgLW1zLWdyaWQtY29sdW1uOiAxOyB9IH1cblxuLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUsIC5oZWFkZXItY29udGVudC1sZWZ0IC5kcm9wZG93bi5tZW51IHtcbiAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUgPiBsaSwgLmhlYWRlci1jb250ZW50LWxlZnQgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5oZWFkZXItY29udGVudC1sZWZ0IC5tZW51ID4gbGkgPiBhLCAuaGVhZGVyLWNvbnRlbnQtbGVmdCAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cblxuLmhlYWRlci1jb250ZW50LWxlZnQgLm1lbnUtY29udGFpbmVyIHVsID4gbGkgPiBhLCAuaGVhZGVyLWNvbnRlbnQtbGVmdCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiBhIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmhlYWRlci1jb250ZW50LWNlbnRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1jb250ZW50LWNlbnRlciAubWVudS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmhlYWRlci1jb250ZW50LWNlbnRlciAubWVudSA+IGxpID4gYSwgLmhlYWRlci1jb250ZW50LWNlbnRlciAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IGluaGVyaXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItY29udGVudC1yaWdodCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgLW1zLWdyaWQtcm93OiAyO1xuICAgICAgLW1zLWdyaWQtY29sdW1uOiAzOyB9IH1cbiAgLmhlYWRlci1jb250ZW50LXJpZ2h0IC5tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ubG9nb0NvbnRhaW5lciwgLmxvZ28tY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IG5vcm1hbDtcbiAgcGFkZGluZzogMCAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxvZ29Db250YWluZXIsIC5sb2dvLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9IH1cbiAgLmxvZ29Db250YWluZXIgYSwgLmxvZ28tY29udGFpbmVyIGEge1xuICAgIG1heC13aWR0aDogNTB2dztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxvZ29Db250YWluZXIgYSwgLmxvZ28tY29udGFpbmVyIGEge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAubG9nb0NvbnRhaW5lciBpbWcsIC5sb2dvLWNvbnRhaW5lciBpbWcge1xuICAgIHdpZHRoOiAyODBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5sb2dvQ29udGFpbmVyIGltZywgLmxvZ28tY29udGFpbmVyIGltZyB7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAubG9nb0NvbnRhaW5lciAubG9nb01pbmlmaWVkLCAubG9nb0NvbnRhaW5lciAubG9nby1taW5pZmllZCwgLmxvZ28tY29udGFpbmVyIC5sb2dvTWluaWZpZWQsIC5sb2dvLWNvbnRhaW5lciAubG9nby1taW5pZmllZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5sb2dvQ29udGFpbmVyIC5sb2dvTWluaWZpZWQsIC5sb2dvQ29udGFpbmVyIC5sb2dvLW1pbmlmaWVkLCAubG9nby1jb250YWluZXIgLmxvZ29NaW5pZmllZCwgLmxvZ28tY29udGFpbmVyIC5sb2dvLW1pbmlmaWVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogOHB4IDA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmhlYWRlci10YWctbGluZS1jb250YWluZXIgcDppcyg6ZW1wdHkpIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciBwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRhZy1saW5lLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTRweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4uaGVhZGVyLXRhZ2xpbmUge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdGFnbGluZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWJhc2lzOiA1MHB4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIC1tcy1ncmlkLWNvbHVtbjogMjtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lci5hY3RpdmUgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuY2FsbGJhY2tDb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCBmaWVsZHNldCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNTBweDtcbiAgICBvcmRlcjogMTsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF06OnBsYWNlaG9sZGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciBpbnB1dFt0eXBlPXNlYXJjaF0gKyBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgb3JkZXI6IDI7IH1cbiAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3gge1xuICAgIG1heC13aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICBvcmRlcjogMzsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDAgIWltcG9ydGFudDsgfSB9XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlOmhvdmVyIGEge1xuICAgICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGU6aG92ZXIgYSBzcGFuLCAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGU6aG92ZXIgYSAudW5pYm94LWhpZ2hsaWdodCB7XG4gICAgICAgICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAjdW5pYm94LXN1Z2dlc3QtYm94IC51bmlib3gtc2VsZWN0YWJsZTphY3RpdmUgYSB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICAuaGVhZGVyLXNlYXJjaC1jb250YWluZXIgI3VuaWJveC1zdWdnZXN0LWJveCAudW5pYm94LXNlbGVjdGFibGUgc3BhbiwgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyICN1bmlib3gtc3VnZ2VzdC1ib3ggLnVuaWJveC1zZWxlY3RhYmxlIC51bmlib3gtaGlnaGxpZ2h0IHtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIC5hYy1yZXN1bHRzIHtcbiAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNDBweDsgfSB9XG4gIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItc2VhcmNoLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDU0cHggNDBweCAwIDQwcHg7IH0gfVxuXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hYy1yZXN1bHRzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hYy1yZXN1bHRzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG4gIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjLXJlc3VsdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2ggLmFjLXJlc3VsdHMgbGk6bm90KDpmaXJzdC1jaGlsZCk6aG92ZXIgYS5hY19yZXN1bHRzX2VudHJ5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMGRlJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IC01cHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTJkZWcpOyB9XG4gICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuYWMtcmVzdWx0cyBsaSAubm8tcmVzdWx0cyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZzogNXB4IDA7IH1cblxuLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCAuaGVhZGluZzIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzAxNDE2ZjsgfVxuXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5oZWFkaW5nNCB7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHBhZGRpbmc6IDZweCAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIC5hY19yZXN1bHRzX2VudHJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW4tbGVmdDogMTVweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMwMDAwMDA7IH1cblxuLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG9yZGVyOiAxOyB9IH1cbiAgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDI1NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhIHtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDsgfSB9XG5cbiNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XG4gIGhlaWdodDogNTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFjdGl2ZSAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFjdGl2ZSAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gICAgICBtYXgtaGVpZ2h0OiA1MDBweDsgfSB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDMsIDIxLCAxMDYsIDAuMik7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCRXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmhvdmVyIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmUgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmFjdGl2ZTphZnRlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuYmFza2V0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLuoJFcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgY29sb3I6ICNmZjVlMDU7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLndhcm5pbmcgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAuaGVhZGVyLWJhc2tldC1jb250YWluZXIud2FybmluZyAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDMsIDIxLCAxMDYsIDAuMik7XG4gIGNvbG9yOiAjNjcxNTZhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjcxNTZhOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci53YXJuaW5nIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM2NzE1NmE7IH1cblxuLmhlYWRlci1iYXNrZXQtY29udGFpbmVyLmFsZXJ0IC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCSXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTpob3ZlciAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXI6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmUgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphY3RpdmU6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gklwiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAuaGVhZGVyLWJhc2tldC1jb250YWluZXIuYWxlcnQgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZGUxZTE7XG4gIGNvbG9yOiAjYjIwYzBjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lci5hbGVydCAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAwcHg7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiA1MDAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBsZWZ0OiBhdXRvOyB9IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDE0MTZmO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxNXB4IDVweDsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhOmhvdmVyIC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGE6aG92ZXIgLnVwZGF0ZS1tZXNzYWdlIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhOmFjdGl2ZSAuYmFza2V0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5zdW1tYXJ5LXJlY2VudGx5LWFkZGVkIGE6YWN0aXZlIC51cGRhdGUtbWVzc2FnZSB7XG4gICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhIC5iYXNrZXQtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhIC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+KkVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBjb2xvcjogIzEyODFiZjsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCBhIC51cGRhdGUtbWVzc2FnZSB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDYwcHggMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciBbZGF0YS1iYXNrZXQtc3VtbWFyeS1ub3RpZmljYXRpb25zXSB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgei1pbmRleDogMTA7IH0gfVxuXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnkge1xuICB3aWR0aDogMjU1cHg7XG4gIGhlaWdodDogNTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyZjY1ODk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6aG92ZXI6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtZGVza3RvcC1zdW1tYXJ5OmhvdmVyIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcbiAgICBjb2xvcjogIzY3MTU2YTsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWN0aXZlOmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXNrdG9wLXN1bW1hcnk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgd2lkdGg6IDcycHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogOXB4IDIzcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBhZGVmO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiAxODVweDsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHM6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMS41cHg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDcwcHg7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjhzOyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMtaW5mbyB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LWRldGFpbHMtaW5mby5iYXNrZXQtZGV0YWlscy1xdWFudGl0eSBzcGFuIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1kZXRhaWxzLWluZm8uYmFza2V0LWRldGFpbHMtcHJpY2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5iYXNrZXQtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuc3VtbWFyeS1vcmRlci10b3RhbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5zdW1tYXJ5LXF1YW50aXR5IHtcbiAgICBtYXJnaW46IDIwcHggMCAyNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLnN1bW1hcnktcXVhbnRpdHkgc3BhbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuaGVhZGVyLWJhc2tldC1jb250YWluZXIgLmJhc2tldC1tb2JpbGUtc3VtbWFyeSAuYWN0aW9uLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5oZWFkZXItYmFza2V0LWNvbnRhaW5lciAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLmhlYWRlci1iYXNrZXQtY29udGFpbmVyIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zdW1tYXJ5OmhvdmVyIC50ZXh0Q29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBoZWlnaHQ6IDg1JTtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNnM7IH1cblxuLnN1bW1hcnk6aG92ZXIgLnRleHRDb250YWluZXIgI2Jhc2tldFF1YW50aXR5LCAuc3VtbWFyeTpob3ZlciAudGV4dENvbnRhaW5lciAjYmFza2V0UHJldmlld1ByaWNlIHtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLnN1bW1hcnk6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuXG4uc3VtbWFyeSAjYmFza2V0UHJldmlld1ByaWNlIHtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuI2Jhc2tldFN1bW1hcnlDb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAzLCAyMSwgMTA2LCAwLjIpOyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu6gkVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAjYmFza2V0UHJldmlldyAuYmFza2V0UHJldmlld0hlYWRpbmc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi7qCRXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwMywgMjEsIDEwNiwgMC4yKTtcbiAgICBjb2xvcjogIzY3MTU2YTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNjcxNTZhOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDhweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzY3MTU2YTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogcmdiYSgxMDMsIDIxLCAxMDYsIDAuMik7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNnB4OyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMDMsIDIxLCAxMDYsIDAuMik7IH1cbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIud2FybmluZyAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciBwIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLndhcm5pbmcgI2Jhc2tldFF1YW50aXR5LCAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci53YXJuaW5nICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xuICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLuoJJcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0ICNiYXNrZXRQcmV2aWV3IC5iYXNrZXRQcmV2aWV3SGVhZGluZzphZnRlciB7XG4gICAgY29udGVudDogXCLuoJJcIjtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIGJvcmRlci13aWR0aDogOHB4O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBtYXJnaW4tbGVmdDogLThweDsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0IC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZkZTFlMTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC02cHg7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTsgfVxuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWxlcnQgLnN1bW1hcnktbWVzc2FnZS1jb250YWluZXIgcCB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci5hbGVydCAjYmFza2V0UXVhbnRpdHksICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFsZXJ0ICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xuICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWF4LWhlaWdodDogMzcwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyLmFjdGl2ZSAjYmFza2V0UHJldmlldyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU3MHB4O1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDEwcHggNjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHotaW5kZXg6IDUwMDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIuYWN0aXZlICNiYXNrZXRQcmV2aWV3IHtcbiAgICAgIG1heC1oZWlnaHQ6IDQ2MHB4O1xuICAgICAgcGFkZGluZzogMjBweCAzMHB4IDMwcHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cztcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiA1MDAwOyB9IH1cbiAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgI3JlY2VudGx5QWRkZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAjcmVjZW50bHlBZGRlZCBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZzogMTBweCA2MHB4IDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lci51cGRhdGUuYWN0aXZlICNiYXNrZXRQcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDI1NXB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciBhIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTBweDsgfSB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5idWJibGUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLmJ1YmJsZS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMjU1cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfSB9XG4gICAgI2Jhc2tldFN1bW1hcnlDb250YWluZXIgLmJ1YmJsZS1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7IH1cbiAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMTRweCAyMHB4OyB9XG4gICAgICAjYmFza2V0U3VtbWFyeUNvbnRhaW5lciAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgICNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMDE0MTZmOyB9XG5cbi5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG9yZGVyOiAyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1iYXNpczogNTRweDsgfSB9XG4gIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciAudGV4dC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciAudGV4dC1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIgKyAjYWN0aW9uLWJhci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciArIC5oZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNTAwN2Q7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxOyB9IH1cbiAgLmhlYWRlci1tZW51cy1vdXRlci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSA+IGEge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5oZWFkZXItbWVudXMtb3V0ZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpID4gdWwgPiBsaSB1bCA+ID4gbGkgYSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7IH1cbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCB7XG4gICAgcGFkZGluZzogMCAwIDE3LjVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaTpub3QoLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCkgPiBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNnB4OyB9IH1cbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaS5pcy1hY3RpdmUuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7IH1cbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDE2cHg7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6aG92ZXIsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICM2NzE1NmE7IH1cbiAgICAgIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLmFjY29yZGlvbi1tZW51ID4gbGkgPiB1bCA+IGxpID4gdWwgPiBsaSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5hY2NvcmRpb24tbWVudSA+IGxpID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSA+IGxpLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51LmRyb3Bkb3duID4gbGkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSA+IGxpLCAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51LmRyb3Bkb3duID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSA+IGxpLmhvbWUtYnV0dG9uIGEsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gPiBsaS5ob21lLWJ1dHRvbiBhIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB1bC5tZW51Lm1lZ2EtbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQsIC5oZWFkZXItbWVudXMtaW5uZXItY29udGFpbmVyIHVsLm1lbnUuZHJvcGRvd24gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH0gfVxuXG4uaGVhZGVyLW1lbnUtbGVmdC1jb250YWluZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtZ3JvdzogMTsgfVxuXG4uaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyLCAuaGVhZGVyLW1lbnUtbGVmdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG5cbi5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IDAgMTIuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lci50b2dnbGUtYmFyLWluYWN0aXZlLW1vYmlsZSB7XG4gICAgICBnYXA6IDA7IH0gfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtY29udGFpbmVyLmFsaWduLWl0ZW1zLXBhcmVudCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyIC50b2dnbGUtYnV0dG9uIHtcbiAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZzogMy41cHggNy43NXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIgLnRvZ2dsZS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyIC50b2dnbGUtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtYnV0dG9uLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMTI4MWJmOyB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyLnNlYXJjaCAudG9nZ2xlLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CCXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIuYWN0aW9uLWJhciAudG9nZ2xlLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIuYWN0aW9uLWJhciAudG9nZ2xlLWJ1dHRvbiAuYmFza2V0LWl0ZW0tY291bnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICBsZWZ0OiAyNnB4O1xuICAgIHBhZGRpbmc6IDJweCA0LjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTViNzAxO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZTViNzAxO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzLCAwLjhzOyB9XG4gIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1idXR0b24tY29udGFpbmVyLmFjdGlvbi1iYXIgLnRvZ2dsZS1idXR0b246aG92ZXIgLmJhc2tldC1pdGVtLWNvdW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICBjb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIuYWN0aW9uLWJhciAudG9nZ2xlLWJ1dHRvbjphY3RpdmUgLmJhc2tldC1pdGVtLWNvdW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLnNlYXJjaCB7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLnNlYXJjaC5hY3RpdmUge1xuICAgICAgd2lkdGg6IDQ5MHB4O1xuICAgICAgcmlnaHQ6IC0xMnB4O1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH0gfVxuICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWNjb3VudC1tZW51IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjY291bnQtbWVudSB7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjY291bnQtbWVudS5hY3RpdmUge1xuICAgICAgICB3aWR0aDogNTUwcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciAudG9nZ2xlLWNvbnRlbnQtY29udGFpbmVyLmFjY291bnQtbWVudSAuYWNjb3VudC1tZW51IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY3Rpb24tYmFyIHtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xNnB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIC50b2dnbGUtY29udGVudC1jb250YWluZXIuYWN0aW9uLWJhci5hY3RpdmUge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgIC5oZWFkZXItdG9nZ2xlLWJhci1jb250YWluZXIgLnRvZ2dsZS1jb250ZW50LWNvbnRhaW5lci5hY3Rpb24tYmFyLmFjdGl2ZSAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9IH1cblxuLmhlYWRlci1hY2NvdW50LWJ1dHRvbiB7XG4gIG1pbi1oZWlnaHQ6IDM1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMCAxMHB4O1xuICBwYWRkaW5nOiAzLjVweCA3Ljc1cHg7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gIC5oZWFkZXItYWNjb3VudC1idXR0b24ubG9nZ2VkLWluIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4OyB9XG4gIC5oZWFkZXItYWNjb3VudC1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjsgfVxuICAgIC5oZWFkZXItYWNjb3VudC1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODFiZjsgfVxuICAuaGVhZGVyLWFjY291bnQtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIdcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cblxuLmFjY291bnQtbWVudSBhIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYWNjb3VudC1tZW51IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG5cbi51c3AtYmFyLCAuaGVhZGVyLXVzcC1iYXIge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MWJmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudXNwLWJhciwgLmhlYWRlci11c3AtYmFyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4udXNwLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MWJmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudXNwLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgIC51c3AtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKS92YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIHtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhLCAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBwLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGEsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gcCB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGEsIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyID4gcCwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSBhLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtID4gcCB7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIHAsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW0gcCB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXIgaW1nLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAyNnB4O1xuICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XG4gICAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7IH1cbiAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSwgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhOmhvdmVyLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGU2MjkwO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lciBhOmFjdGl2ZSwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTQyNjI7IH1cbiAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyIGEgcCwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbSBhIHAge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnVzcC1jb250YWluZXIgLnVzcC1iYW5uZXJbYXJpYS1oaWRkZW49ZmFsc2VdLCAudXNwLWNvbnRhaW5lciAuY29sbGVjdGlvbi1pdGVtW2FyaWEtaGlkZGVuPWZhbHNlXSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMDsgfVxuICAgICAgICAudXNwLWNvbnRhaW5lciAudXNwLWJhbm5lclthcmlhLWhpZGRlbj1mYWxzZV06Zmlyc3Qtb2YtdHlwZSwgLnVzcC1jb250YWluZXIgLmNvbGxlY3Rpb24taXRlbVthcmlhLWhpZGRlbj1mYWxzZV06Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgIC51c3AtY29udGFpbmVyIC51c3AtYmFubmVyW2FyaWEtaGlkZGVuPWZhbHNlXTpsYXN0LW9mLXR5cGUsIC51c3AtY29udGFpbmVyIC5jb2xsZWN0aW9uLWl0ZW1bYXJpYS1oaWRkZW49ZmFsc2VdOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIC51c3AtY29udGFpbmVyIC5mYXMge1xuICAgIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG5ib2R5Om5vdCgjaG9tZSkgLmhlYWRlci1icmVhZGNydW1icy1jb250YWluZXIge1xuICBtYXJnaW46IDA7IH1cbiAgYm9keTpub3QoI2hvbWUpIC5oZWFkZXItYnJlYWRjcnVtYnMtY29udGFpbmVyOm5vdCg6aGFzKC5icmVhZGNydW1icykpIHtcbiAgICBwYWRkaW5nOiA3LjVweDsgfVxuXG5ib2R5Om5vdCgjaG9tZSkgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6bm90KDpoYXMoLmJyZWFkY3J1bWJzKSk6bm90KDpoYXMoLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lcikpOm5vdCg6aGFzKC52YXQtc3dpdGNoZXItY29udGFpbmVyKSkge1xuICBwYWRkaW5nOiA3LjVweDsgfVxuXG4uaGVhZGVyLXVzcC1iYXIgKyAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC5oZWFkZXItdXNwLWJhciArICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5icmVhZGNydW1icyksIC5oZWFkZXItdXNwLWJhciArICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpLCAuaGVhZGVyLXVzcC1iYXIgKyAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lcjpoYXMoLmJyZWFkY3J1bWJzKSwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXI6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmhlYWRlci11c3AtYmFyICsgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci11c3AtYmFyICsgLmhlYWRlci1icmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDhweDsgfSB9XG5cbiNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1jb250YWluZXIsICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzLCAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xuICBwYWRkaW5nLXRvcDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1jb250YWluZXIsICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIgLmJyZWFkY3J1bWJzLCAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMsIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIge1xuICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cblxuI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGksIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icyBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMi41cHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2JyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuYnJlYWRjcnVtYnMgbGksIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIC5icmVhZGNydW1icyBsaSB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAjYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLmdyaWQtY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lci5ncmlkLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH0gfVxuXG4uYnJlYWRjcnVtYnMge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuYnJlYWRjcnVtYnMgc3BhbiB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6YWZ0ZXIge1xuICAgICAgbWFyZ2luOiAwIDVweCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IDAuNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmJyZWFkY3J1bWJzIGxpOmFmdGVyIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMXB4OyB9IH1cblxuLnRvZ2dsZS1zd2l0Y2gtbGFiZWwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgLnRvZ2dsZS1zd2l0Y2gtbGFiZWwtY29udGFpbmVyIHNwYW4ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG4udmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMCAxMHB4OyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5pbmNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuaW5jbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci52YXQtc3dpdGNoZXIub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLm9mZiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuaW5jbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuaW5jbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDg1Y2Y7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIudmF0LXN3aXRjaGVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuZXhjbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci52YXQtc3dpdGNoZXIuZXhjbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLnZhdC1zd2l0Y2hlci5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIudmF0LXN3aXRjaGVyLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTQ4NWNmOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmVkaXQtbW9kZS5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5lZGl0LW1vZGUub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmVkaXQtbW9kZS5vZmYgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmVkaXQtbW9kZS5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZWRpdC1tb2RlLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZWRpdC1tb2RlLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmVkaXQtbW9kZS5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZWRpdC1tb2RlLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuaW5jbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuaW5jbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSB7XG4gICAgcGFkZGluZy1yaWdodDogMzJweDsgfVxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub2ZmIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuaW5jbHVzaXZlIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9mZiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub2ZmIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmluY2x1c2l2ZSAuc3dpdGNoLWV4YywgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub2ZmIC5zd2l0Y2gtZXhjLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAuc3dpdGNoLWV4YywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vZmYgLnN3aXRjaC1leGMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuaW5jbHVzaXZlIC5zd2l0Y2gsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9mZiAuc3dpdGNoLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmluY2x1c2l2ZSAuc3dpdGNoLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9mZiAuc3dpdGNoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIuZXhjbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIuZXhjbHVzaXZlIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmV4Y2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9uIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLm9uIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUge1xuICAgIHBhZGRpbmctbGVmdDogMzlweDsgfVxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmV4Y2x1c2l2ZSAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLmV4Y2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub24gLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5vbiAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmV4Y2x1c2l2ZSAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlOmJlZm9yZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAudmF0LXN3aXRjaGVyLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIub24gLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUge1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzQ4NDg0ODsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLnN3aXRjaC1pbmMsIC52YXQtc3dpdGNoZXItY29udGFpbmVyLm9uIC5zd2l0Y2gtaW5jLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyLmV4Y2x1c2l2ZSAuc3dpdGNoLWluYywgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAuc3dpdGNoLWluYyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lci5leGNsdXNpdmUgLnN3aXRjaCwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIub24gLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5leGNsdXNpdmUgLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lci5vbiAuc3dpdGNoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaCwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuc3dpdGNoIHtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDE2LjE5MDQ4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoOmhvdmVyLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2g6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnMsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlIHtcbiAgICBtaW4td2lkdGg6IDE0Ljc4MjYxcHg7XG4gICAgaGVpZ2h0OiAxNC43ODI2MXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC52YXQtc3dpdGNoZXItcGFkZGxlOmJlZm9yZSwgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZTpiZWZvcmUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnZhdC1zd2l0Y2hlci1wYWRkbGU6YmVmb3JlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDguMDk1MjRweDtcbiAgICAgIGhlaWdodDogOC4wOTUyNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaC1leGMsIC52YXQtc3dpdGNoZXItY29udGFpbmVyIC5zd2l0Y2gtaW5jLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2gtZXhjLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2gtaW5jIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDI7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaC1leGMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaC1leGMge1xuICAgIHJpZ2h0OiA3cHg7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgLnN3aXRjaC1pbmMsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgLnN3aXRjaC1pbmMge1xuICAgIGxlZnQ6IDVweDsgfVxuICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciAuc3dpdGNoLWlucHV0LCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIC5zd2l0Y2gtaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC52YXQtc3dpdGNoZXItY29udGFpbmVyIHAsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnZhdC1zd2l0Y2hlci1jb250YWluZXIgbGFiZWwsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgbGFiZWwge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC52YXQtc3dpdGNoZXItY29udGFpbmVyIGxhYmVsIHNwYW4sIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIgbGFiZWwgc3BhbiB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLypcclxuLS0tLS0gRm9vdGVyIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gRm9vdGVyIG1lbnUgKCBhbHNvIHJlZmVyIHRvIGF4aXMtbWVudXMuc2NzcyApXHJcbi0gUHJvbW90aW9uIGFyZWE6XHJcbiAgLSBTb2NpYWwgSWNvbnNcclxuICAtIE1haWxpbmcgTGlzdFxyXG4gIC0gQ21zIGVudHJpZXNcclxuLSBGb290ZXIgQmFubmVycyAoIFBheW1lbnQgbWV0aG9kIGxvZ29zIClcclxuLSBDb3B5cmlnaHRcclxuLSBHb29nbGUgVGFnIE1hbmFnZXIgZm9vdGVyIHdpZGdldCBhcmVhXHJcbi0gRm9vdGVyIE1vZHVsZXMgKCBhbHNvIHJlZmVyIHRvIG1vZHVsZXMuc2NzcyApXHJcbiovXG5mb290ZXIgLnJvdy1iYWNrZ3JvdW5kOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbmZvb3RlciAuc29jaWFsSWNvbnMsIGZvb3RlciAuc29jaWFsLWljb25zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMCAwIDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb290ZXIgLnNvY2lhbEljb25zLCBmb290ZXIgLnNvY2lhbC1pY29ucyB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgcGFkZGluZzogMCAwIDMwcHg7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICBmb290ZXIgLnNvY2lhbEljb25zIGgzOm5vdCg6ZW1wdHkpLCBmb290ZXIgLnNvY2lhbC1pY29ucyBoMzpub3QoOmVtcHR5KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgZm9vdGVyIC5zb2NpYWxJY29ucyBoMzpub3QoOmVtcHR5KSwgZm9vdGVyIC5zb2NpYWwtaWNvbnMgaDM6bm90KDplbXB0eSkge1xuICAgICAgICBtYXJnaW46IDAgMCAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgZm9vdGVyIC5zb2NpYWxJY29ucyBhLCBmb290ZXIgLnNvY2lhbC1pY29ucyBhIHtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICBmb290ZXIgLnNvY2lhbEljb25zIGE6aG92ZXIsIGZvb3RlciAuc29jaWFsLWljb25zIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAgIGZvb3RlciAuc29jaWFsSWNvbnMgYTphY3RpdmUsIGZvb3RlciAuc29jaWFsLWljb25zIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7IH1cbiAgZm9vdGVyIC5zb2NpYWxJY29ucyBpbWcsIGZvb3RlciAuc29jaWFsLWljb25zIGltZyB7XG4gICAgbWF4LXdpZHRoOiAyMi41cHg7IH1cbiAgZm9vdGVyIC5zb2NpYWxJY29ucyAuaWNvbnMtY29udGFpbmVyLCBmb290ZXIgLnNvY2lhbC1pY29ucyAuaWNvbnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgZm9vdGVyIC5zb2NpYWxJY29ucyAuaWNvbnMtY29udGFpbmVyLCBmb290ZXIgLnNvY2lhbC1pY29ucyAuaWNvbnMtY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG5cbmZvb3RlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBmb290ZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgZm9vdGVyIC5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5mb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAgICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGE6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZjNmM2YzOyB9XG4gICAgZm9vdGVyIC5mb290ZXItYmFja2dyb3VuZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGEuc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIGZvb3RlciAuZm9vdGVyLWJhY2tncm91bmQgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhLnNob3ctY29udGFjdC1pY29uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICBmb290ZXIgLmZvb3Rlci1iYWNrZ3JvdW5kIC5jbXMtY29udGVudC1jb250YWluZXIgYS5zaG93LWNvbnRhY3QtaWNvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZjNmM2YzOyB9XG5cbi5mb290ZXItZ3JpZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5mb290ZXItZ3JpZC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4uZm9vdGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4uZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lci5jb250ZW50LWhlYWRlciAuZm9vdGVyLWJhbm5lci1zZXJpZXMge1xuICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIuY29udGVudC1oZWFkZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMDsgfSB9XG4gIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIucGF5bWVudC1tZXRob2RzIHtcbiAgICBtYXJnaW46IDIwcHggMCAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lci5wYXltZW50LW1ldGhvZHMge1xuICAgICAgICBtYXJnaW46IDYwcHggMCAyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyLnBheW1lbnQtbWV0aG9kcyAuZm9vdGVyLWJhbm5lci1zZXJpZXMgLmltYWdlIHtcbiAgICAgICAgZmxleC1iYXNpczogZml0LWNvbnRlbnQ7IH0gfVxuICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyICsgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtd2lkdGgsIGF1dG8pL3ZhcigtLW1lZGlhLWhlaWdodCwgYXV0byk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItYmFubmVyLXNlcmllcy1jb250YWluZXIgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcbiAgICAgICAgZ2FwOiAwIDI0LjVweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyBhIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMgYTpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IC42O1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIC5mb290ZXItYmFubmVyLXNlcmllcyAuaW1hZ2Uge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzLWNvbnRhaW5lciAuZm9vdGVyLWJhbm5lci1zZXJpZXMgLmltYWdlIGltZyB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDsgfVxuXG4uY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7IH1cbiAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwIGF1dG8gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgICBwYWRkaW5nOiAzNXB4IDAgMDsgfVxuICAgIC5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIC5jb3B5cmlnaHQtaW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAzNXB4IGF1dG8gMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgICAuY29weXJpZ2h0LW91dGVyLWNvbnRhaW5lciAuY29weXJpZ2h0LWlubmVyLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgYSB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLmNvcHlyaWdodC1vdXRlci1jb250YWluZXIgLmNvcHlyaWdodC1pbm5lci1jb250YWluZXIgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUge1xuICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkge1xuICBtYXJnaW46IDA7IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmZpcnN0LWNoaWxkIHAsIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmxhc3QtY2hpbGQgcCwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmhvdmVyID4gYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpOmhvdmVyID4gYTpub3QoW2hyZWZdKSB7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpIHtcbiAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gYSwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgb3JkZXI6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBhLCAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBwIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gYVtocmVmXTpob3ZlciwgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcFtocmVmXTpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IGFbaHJlZl06YWN0aXZlLCAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiBwW2hyZWZdOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gcCB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH0gfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcmRlcjogMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMTAuNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSA+IGxpID4gdWwgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMC41cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICAgIC5mb290ZXItbmF2aWdhdGlvbiA+IHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIG9wYWNpdHkgMC42czsgfVxuICAgICAgICAuZm9vdGVyLW5hdmlnYXRpb24gPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uID4gdWwubWVudSAubGluay1kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0OyB9XG5cbi5mb290ZXItbmF2aWdhdGlvbi5tYWluLW1lbnUge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIG9yZGVyOiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLW5hdmlnYXRpb24ubWFpbi1tZW51IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3JkZXI6IDE7IH0gfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gLm1lbnUgLmlzLXN1Ym1lbnUtaXRlbSBhIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uZm9vdGVyLW5hdmlnYXRpb24gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmhvdmVyIHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmZvb3Rlci1uYXZpZ2F0aW9uIHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTphY3RpdmUge1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4uZm9vdGVyLWNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIGZsZXg6IDE7XG4gIG9yZGVyOiAzOyB9XG4gIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGdhcDogMzBweDsgfSB9XG4gICAgLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW46IDAgMCAwO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250LXNpemU6IDE3O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgaDMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5mb290ZXItY21zLWNvbnRlbnQtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgPiBkaXYge1xuICAgICAgZmxleC1ncm93OiAxOyB9XG5cbi5mb290ZXItcHJvbW90aW9ucyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvcmRlcjogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1wcm9tb3Rpb25zIHtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5mb290ZXItcHJvbW90aW9ucyArIC5mb290ZXItbmF2aWdhdGlvbiB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLmZvb3Rlci1wcm9tb3Rpb25zICsgLmZvb3Rlci1uYXZpZ2F0aW9uIC5tZW51IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuZm9vdGVyLXByb21vdGlvbnMgLm1haWxpbmctbGlzdC1jb250YWluZXIsIC5mb290ZXItcHJvbW90aW9ucyAuZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTsgfVxuICAuZm9vdGVyLXByb21vdGlvbnMgLnNvY2lhbEljb25zLCAuZm9vdGVyLXByb21vdGlvbnMgLnNvY2lhbC1pY29ucyB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmZvb3Rlci1wcm9tb3Rpb25zIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG9yZGVyOiAzOyB9XG5cbi5mb290ZXItcHJvbW90aW9uLWhlYWRpbmcgaDMge1xuICBtYXJnaW46IDAgMCAxNXB4O1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1wcm9tb3Rpb24taGVhZGluZyBoMyB7XG4gICAgICBtYXJnaW46IDAgMCAwOyB9IH1cblxuLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XG4gIHdpZHRoOiA1MCU7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmZvb3Rlci1sb2dvLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4OyB9IH1cblxuLmZvb3Rlci1jb250YWN0LWRldGFpbHMge1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB7XG4gICAgICBtYXJnaW46IDAgMCAyNXB4OyB9IH1cbiAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZvb3Rlci1jb250YWN0LWRldGFpbHMgdWwubWVudSA+IGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUgPiBsaTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHVsLm1lbnUgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDsgfSB9XG4gICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuZm9vdGVyLWNvbnRhY3QtZGV0YWlscyB1bC5tZW51ID4gbGkgPiBhOmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmZvb3Rlci1yZXZlYWwtYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgY29sb3IgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5mb290ZXItcmV2ZWFsLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAuZm9vdGVyLXJldmVhbC1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gIC5mb290ZXItcmV2ZWFsLWJ1dHRvbjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjdjYWM7IH1cblxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lci5hY3RpdmUgLmZvb3Rlci1yZXZlYWwtYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyLmFjdGl2ZSAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyLmFjdGl2ZSAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9IH1cblxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLWNvbnRhaW5lciAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluayB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDE1cHgpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmhvdmVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmhvdmVyOmFmdGVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmhvdmVyOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmZvb3Rlci1tYWlsaW5nLWxpc3QtbGluazphY3RpdmUsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MWJmO1xuICAgIGJvcmRlci1jb2xvcjogIzEyODFiZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6YWN0aXZlOmFmdGVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmFjdGl2ZTphZnRlciB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmRpc2FibGVkLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLmRpc2FibGVkLCAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6ZGlzYWJsZWQ6YWZ0ZXIsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuZGlzYWJsZWQ6YWZ0ZXIsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmtbZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5mb290ZXItbWFpbGluZy1saXN0LWxpbms6ZGlzYWJsZWQ6aG92ZXIsIC5mb290ZXItbWFpbGluZy1saXN0LWxpbmsuZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+HmFwiO1xuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuZm9vdGVyLW1haWxpbmctbGlzdC1saW5rIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDU1cHg7IH0gfVxuICAubWFpbGluZy1saXN0LWNvbnRhaW5lciBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIgaDMge1xuICAgICAgICBtYXJnaW46IDAgMCAwOyB9IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgcCB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMC41cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIgcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgc3Bhbi5tYWlsLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgICAgLm1haWxpbmctbGlzdC1jb250YWluZXIgZm9ybSBpbnB1dCB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuICAgICAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciBmb3JtIGlucHV0ICsgYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH0gfVxuICAubWFpbGluZy1saXN0LWNvbnRhaW5lciBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1haWxpbmctbGlzdC1jb250YWluZXIgLmZvcm0tZXJyb3Ige1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5mb290ZXJPdXRlckNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcbiAgbWFyZ2luLXRvcDogMjVweDtcbiAgcGFkZGluZzogMjBweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmZvb3Rlck91dGVyQ29udGFpbmVyLCAuZm9vdGVyLWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZzogMjVweCAxMHB4IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5mb290ZXJPdXRlckNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMCAxMHB4OyB9IH1cbiAgLmZvb3Rlck91dGVyQ29udGFpbmVyICNmb290ZXItaW5uZXItY29udGFpbmVyLCAuZm9vdGVyLWJhY2tncm91bmQgI2Zvb3Rlci1pbm5lci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5mb290ZXJPdXRlckNvbnRhaW5lciAjZm9vdGVyLWlubmVyLWNvbnRhaW5lciwgLmZvb3Rlci1iYWNrZ3JvdW5kICNmb290ZXItaW5uZXItY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG5cbi8qXHJcbi0tLS0tIEFKQVggLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBBSkFYIFNwaW5uZXJcclxuLSBDYWxsYmFjayBjb250YWluZXJzXHJcbi0gVXBkYXRlIENvbnRlbnQgLSBCYXNpY2FsbHkgYSBjb250YWluZXIgaW5zaWRlIG9mIHRoZSBhamF4IHJlc3BvbnNlIHRoYXQgYWxsb3dzIHlvdSB0byB1cGRhdGUgY29udGVudCBvdXRzaWRlIG9mIHRoZSBjYWxsYmFjayBjb250YWluZXIuXHJcbiovXG4uY2FsbGJhY2tDb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgLmNhbGxiYWNrQ29udGFpbmVyOmhhcyguQUpBWEJsb2NrKSB7XG4gICAgbWluLWhlaWdodDogNTBweDsgfVxuXG4uY2FsbGJhY2tMaXN0Q29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5BSkFYQmxvY2ssIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzgsIDIzOCwgMjM4LCAwLjYpO1xuICBjdXJzb3I6IG5vLWRyb3A7XG4gIHotaW5kZXg6IDEwMDAwOyB9XG4gIC5BSkFYQmxvY2sgLnNwaW5uZXIsIC5pbml0aWFsaXNpbmctY29udGVudC1ibG9ja2VyLWNvbnRhaW5lciAuc3Bpbm5lciB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAuQUpBWEJsb2NrIC5zcGlubmVyOmJlZm9yZSwgLmluaXRpYWxpc2luZy1jb250ZW50LWJsb2NrZXItY29udGFpbmVyIC5zcGlubmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDQycHg7XG4gICAgICBoZWlnaHQ6IDQycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHJnYmEoMSwgNjUsIDExMSwgMC4yKTtcbiAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjMDE0MTZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlIDBzO1xuICAgICAgYW5pbWF0aW9uOiBzcGluIDAuN3MgY3ViaWMtYmV6aWVyKDAuNTYsIDAuMTEsIDAuMjIsIDAuODY1KSAwcyBpbmZpbml0ZTtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyB9IH1cbiAgICAuQUpBWEJsb2NrIC5zcGlubmVyICsgLmNtcy1jb250ZW50LWNvbnRhaW5lciwgLmluaXRpYWxpc2luZy1jb250ZW50LWJsb2NrZXItY29udGFpbmVyIC5zcGlubmVyICsgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDEwcHggMCAwOyB9XG4gIC5BSkFYQmxvY2sgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbltkYXRhLXVwZGF0ZS1jb250ZW50XSwgW2RhdGEtYWpheC11cGRhdGUtYnJlYWRjcnVtYnNdIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxyXG4tLS0tLSBGaWx0ZXJzIC0tLS0tLSBcclxuLSBUaGVzZSBhIHR5cGljYWxseSBvbiBsaXN0IHBhZ2VzIGZvciBwcm9kdWN0cy5cclxuLSBBdHRyaWJ1dGUgZmlsdGVycyB0aGF0IGFsc28gaW5jbHVkZSBjb2xvdXIgZmlsdGVycyBhbmQgcHJpY2Ugc2xpZGVyLlxyXG4tIFlvdSB3aWxsIGFsc28gZmluZCB0aGUgbW9iaWxlIHN0eWxlcyBoZXJlIGZvciBmaWx0ZXJzLlxyXG4qL1xuI21vYmlsZVRvZ2dsZUNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gICNtb2JpbGVUb2dnbGVDb250YWluZXIgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuI2ZpbHRlcnMtdG9nZ2xlLCAuZmlsdGVyLXRvZ2dsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NGE2ZDQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjZmlsdGVycy10b2dnbGUsIC5maWx0ZXItdG9nZ2xlIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAjZmlsdGVycy10b2dnbGU6aG92ZXIsIC5maWx0ZXItdG9nZ2xlOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgICNmaWx0ZXJzLXRvZ2dsZTpob3ZlcjpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfSB9XG4gICNmaWx0ZXJzLXRvZ2dsZTpub3QoLmlzLXN0dWNrKSwgLmZpbHRlci10b2dnbGU6bm90KC5pcy1zdHVjaykge1xuICAgIHRvcDogYXV0byAhaW1wb3J0YW50OyB9XG4gICNmaWx0ZXJzLXRvZ2dsZS5pcy1zdHVjaywgLmZpbHRlci10b2dnbGUuaXMtc3R1Y2sge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA0cztcbiAgICB6LWluZGV4OiAxMDAwOyB9XG4gICAgI2ZpbHRlcnMtdG9nZ2xlLmlzLXN0dWNrOmJlZm9yZSwgLmZpbHRlci10b2dnbGUuaXMtc3R1Y2s6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICNmaWx0ZXJzLXRvZ2dsZTpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgrBcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNmaWx0ZXJzLXRvZ2dsZTpiZWZvcmUsIC5maWx0ZXItdG9nZ2xlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gICNmaWx0ZXJzLXRvZ2dsZTpob3ZlciwgLmZpbHRlci10b2dnbGU6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgI2ZpbHRlcnMtdG9nZ2xlIC5hY3RpdmUtZmlsdGVyLWNvdW50LCAuZmlsdGVyLXRvZ2dsZSAuYWN0aXZlLWZpbHRlci1jb3VudCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjZmlsdGVycy10b2dnbGUgLmFjdGl2ZS1maWx0ZXItY291bnQsIC5maWx0ZXItdG9nZ2xlIC5hY3RpdmUtZmlsdGVyLWNvdW50IHtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEycHg7XG4gICAgICAgIGxlZnQ6IDEycHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1zaXplOiAwLjU2MjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNC4ycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgICAgYm9yZGVyOiAwLjhweCBzb2xpZCAjZmZmZmZmOyB9IH1cblxuLmZpbHRlcnMtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRhNmQ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZmlsdGVycy1oZWFkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAuZmlsdGVycy1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgICAuZmlsdGVycy1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6IHJnYmEoMSwgNjUsIDExMSwgMC44KTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLmZpbHRlcnMtaGVhZGVyIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAuZmlsdGVycy1oZWFkZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZmlsdGVycy1mb290ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZmlsdGVycy1mb290ZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5maWx0ZXJzLWZvb3RlciAuYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZmlsdGVycy1mb290ZXIgLmJ1dHRvbi1jb250YWluZXIgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4jZmlsdGVyQmFja1RvTGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjZmlsdGVyQmFja1RvTGlzdCAuY2xvc2UtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEsIDY1LCAxMTEsIDAuNCk7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSA+IHVsID4gbGk6bm90KC5hY3RpdmUpIC5hdHRyaWJ1dGVzQ29udGFpbmVyIHtcbiAgaGVpZ2h0OiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgPiBsaSB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmF0dHJpYnV0ZUxpc3QubWVudSA+IGxpIHtcbiAgICAgIG1hcmdpbjogMCAwIDI1cHg7IH0gfVxuICAuYXR0cmlidXRlTGlzdC5tZW51ID4gbGk6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgPiBsaSBsaSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYm9yZGVyLXRvcDogMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxpIHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCBsaS5hY3RpdmUgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxpLmFjdGl2ZSB1bCB7XG4gICAgbWF4LWhlaWdodDogNTAwMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIHVsIGxpOmhvdmVyIC5maWx0ZXJOYW1lLCAuYXR0cmlidXRlTGlzdC5tZW51IHVsIHVsIGxpOmhvdmVyIC5maWx0ZXJJdGVtQ291bnQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgdWwgbGk6aG92ZXIgLmNvbG91clByZXZpZXcge1xuICAgICAgICBtYXgtd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgbGFiZWw6aG92ZXIge1xuICAgICAgY29sb3I6ICM2NzE1NmE7IH1cbiAgICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIGxhYmVsOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IHVsIC5maWx0ZXJOYW1lIHtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmNvbG91ci1wcmV2aWV3LWNvbnRhaW5lciB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG9yZGVyOiAzOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmNvbG91clByZXZpZXcge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgMTBweCAwIGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmZpbHRlckl0ZW1Db3VudCB7XG4gICAgb3JkZXI6IDI7XG4gICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSB1bCAuY29udHJvbCAuY2hlY2tib3gge1xuICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBvcmRlcjogNDsgfVxuICAgIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgdWwgLmNvbnRyb2wgLmNoZWNrYm94IHNwYW46YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAwOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudC5pcy1zdWJtZW51LWl0ZW1bYXJpYS1leHBhbmRlZD10cnVlXSA+IGEge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudC5pcy1zdWJtZW51LWl0ZW0uYWN0aXZlIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudVthcmlhLWhpZGRlbj10cnVlXSB7XG4gIGhlaWdodDogMDtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuOHM7IH1cblxuLmF0dHJpYnV0ZUxpc3QubWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUuc2Nyb2xsZXIge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLmlzLWFjY29yZGlvbi1zdWJtZW51LnNjcm9sbGVyIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5hdHRyaWJ1dGVMaXN0Lm1lbnUgLm9wdGlvbkhlYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLm9wdGlvbkhlYWRpbmc6aG92ZXIge1xuICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLm9wdGlvbkhlYWRpbmc6YWN0aXZlIHtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAuYXR0cmlidXRlTGlzdC5tZW51IC5vcHRpb25IZWFkaW5nIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IC5zdWJtZW51IHtcbiAgcGFkZGluZzogMDsgfVxuXG4uYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TW9yZUF0dHJpYnV0ZXMgPiBhLCAuYXR0cmlidXRlTGlzdC5tZW51IC5zaG93TGVzc0F0dHJpYnV0ZXMgPiBhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAwIDEwcHg7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAuc2hvd01vcmVBdHRyaWJ1dGVzID4gYTpob3ZlciwgLmF0dHJpYnV0ZUxpc3QubWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICMwMTQxNmY7IH1cbiAgLmF0dHJpYnV0ZUxpc3QubWVudSAuc2hvd01vcmVBdHRyaWJ1dGVzID4gYTphY3RpdmUsIC5hdHRyaWJ1dGVMaXN0Lm1lbnUgLnNob3dMZXNzQXR0cmlidXRlcyA+IGE6YWN0aXZlIHtcbiAgICBjb2xvcjogIzEyODFiZjsgfVxuXG4uc2hvd01vcmVBdHRyaWJ1dGVzLmFjdGl2ZSBhIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGNvbG9yOiAjMDE0MTZmO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5zaG93TW9yZUF0dHJpYnV0ZXMuYWN0aXZlIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmFjY29yZGlvbi1tZW51IC5pcy1hY2NvcmRpb24tc3VibWVudSAuc2hvd0xlc3NBdHRyaWJ1dGVzIGEge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zaG93TGVzc0F0dHJpYnV0ZXMgYSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNob3dMZXNzQXR0cmlidXRlcyBhOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgbdcIjtcbiAgICBjb2xvcjogIzY3MTU2YTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnNob3dMZXNzQXR0cmlidXRlcyBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgIC5zaG93TGVzc0F0dHJpYnV0ZXMgYTpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5zaG93TGVzc0F0dHJpYnV0ZXMgYTphY3RpdmUge1xuICAgIGNvbG9yOiAjMTI4MWJmOyB9XG4gICAgLnNob3dMZXNzQXR0cmlidXRlcyBhOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxMjgxYmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbiNmaWx0ZXJzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5Ljk5ODc1ZW0pIHtcbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUtdXBkYXRpbmcge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLXVwZGF0aW5nICNmaWx0ZXJzLWNvbnRhaW5lciB7XG4gICAgICAgIG9wYWNpdHk6IDAuMzsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0uYWN0aXZlLCAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUtdXBkYXRpbmcge1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMTAwMDA7IH1cbiAgICAgICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtLmFjdGl2ZSAuYXR0cmlidXRlLWxpc3QtY29udGFpbmVyLCAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybS5hY3RpdmUtdXBkYXRpbmcgLmF0dHJpYnV0ZS1saXN0LWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7IH0gfVxuICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSBoMiB7XG4gICAgcGFkZGluZzogMTBweCA1cHg7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gaDIge1xuICAgICAgICBwYWRkaW5nOiAwIDAgNXB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH0gfVxuICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB1bCBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB1bCBsaTphY3RpdmUsICNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHVsIGxpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gdWwgbGk6YWN0aXZlIGEge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gLnNob3dNb3JlQXR0cmlidXRlc0NvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0gLnNob3dNb3JlQXR0cmlidXRlc0NvbnRhaW5lciBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjYXBwbGllZEZpbHRlcnMge1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuXG4jYXBwbGllZEZpbHRlcnMgaDMge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4jYXBwbGllZEZpbHRlcnMgdWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG5cbiNhcHBsaWVkRmlsdGVycyBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiA1cHggMCAwOyB9XG4gICNhcHBsaWVkRmlsdGVycyBsaTpob3ZlciBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICNhcHBsaWVkRmlsdGVycyBsaTpob3ZlciBhOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuXG4jYXBwbGllZEZpbHRlcnMgYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA1cHggMCA1cHggMDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gICNhcHBsaWVkRmlsdGVycyBhOmFmdGVyIHtcbiAgICBjb250ZW50OiAneCc7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjY7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgI2FwcGxpZWRGaWx0ZXJzIGE6aG92ZXI6YWZ0ZXIge1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAjYXBwbGllZEZpbHRlcnMgYS5jbGVhci1hbGwtYXR0cmlidXRlcyB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMjBweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuXG5pbnB1dC5wcmljZS1zbGlkZXItaW5wdXQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5wcmljZS1zbGlkZXItaW5wdXQge1xuICBtYXgtd2lkdGg6IDcwcHg7XG4gIG1heC1oZWlnaHQ6IDM1cHg7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwICFpbXBvcnRhbnQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5wcmljZS1zbGlkZXItaW5wdXQudWktc3RhdGUtYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICM2NzE1NmE7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLnByaWNlLXNsaWRlci1pbnB1dC51aS1zdGF0ZS1hY3RpdmUgKyAuY3VycmVuY3kge1xuICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAucHJpY2Utc2xpZGVyLWlucHV0ICsgLmN1cnJlbmN5IHtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNjOGM4Yzg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAucHJpY2Utc2xpZGVyLWlucHV0OmZvY3VzICsgLmN1cnJlbmN5IHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IC0xNXB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5wcmljZS1zbGlkZXItaW5wdXQ6cmVhZC1vbmx5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ucHJpY2UtaW5wdXQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAucHJpY2UtaW5wdXQtY29udGFpbmVyOm50aC1vZi10eXBlKDIpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuI3ByaWNlLXNsaWRlciB7XG4gIG1heC13aWR0aDogOTYlO1xuICBtYXJnaW4tdG9wOiAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJpY2Utc2xpZGVyIHtcbiAgICAgIG1heC13aWR0aDogOTMlOyB9IH1cblxuI3ByaWNlQXR0SGlnaCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4vKlxyXG4tLS0tLSBNb2RhbHMgLS0tLS0tIFxyXG4tIFRoaXMgaXMgdGhlIG1lY2hhbmlzbSB0aGF0IGdldHMgdXNlZCBmb3IgcG9wdXAgY29udGVudCBpbiBleHByZXNzLlxyXG4tIENhbiBiZSB1c2VkIHRvIHBvcCBmb3JtLCBjbXMgY29udGVudCwgbm90aWZpY2F0aW9uICYgcGF5bWVudCBmcmFtZXMuXHJcbiovXG4ubW9kYWwtY29udGFpbmVyIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tb2RhbC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLnBvcHVwLWJhY2tncm91bmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTE1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAuYnV0dG9ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH0gfVxuICAubW9kYWwtY29udGFpbmVyIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAucHJvbXB0LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IGF1dG8gMzBweDsgfVxuICAubW9kYWwtY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgei1pbmRleDogMjAwMTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aXZlIC5wb3B1cC1iYWNrZ3JvdW5kIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWpheCAuY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYWpheCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kcm9wcGVkLXNlc3Npb24gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IGNhbGModmFyKC0tY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoKSArIDEwMHB4KTsgfVxuICAubW9kYWwtY29udGFpbmVyLmNtcy1lbnRyeS12aWV3ZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc2l0ZS1saXN0LnB1Ymxpc2gtaGlzdG9yeSAuY29udGVudCB7XG4gICAgd2lkdGg6IDkwJTsgfVxuICAubW9kYWwtY29udGFpbmVyLnNpdGUtbGlzdC5zaXRlLWluZm9ybWF0aW9uIC5jb250ZW50IHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uIHtcbiAgICAtLWNrLWNvbG9yLWJhc2UtYm9yZGVyOiAkY29sb3VyMzsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5lbnRyeS1lZGl0b3IgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogOTglO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IHVuc2V0OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmVudHJ5LWVkaXRvciAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBtYXgtd2lkdGg6IHVuc2V0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5kb2N1bWVudGF0aW9uLmVudHJ5LWVkaXRvciAubW9kYWwtaGVhZGVyOmhhcyguY21zLWNvbnRlbnQtY29udGFpbmVyKSB+IC5jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uZW50cnktZWRpdG9yIC5jb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBvdmVyZmxvdzogdW5zZXQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uZW50cnktZWRpdG9yIC5jay1lZGl0b3JfX21haW4gPiBkaXYge1xuICAgICAgaGVpZ2h0OiB2YXIoLS1lZGl0b3ItaGVpZ2h0KTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5pbnNlcnQtYXJ0aWNsZSAuY2stZWRpdG9yIC5jay1jb250ZW50LCAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24uaW5zZXJ0IC5jay1lZGl0b3IgLmNrLWNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIuZG9jdW1lbnRhdGlvbi5wcm9wZXJ0eS1lZGl0b3IgLmNrLWVkaXRvciAuY2stY29udGVudCB7XG4gICAgICBoZWlnaHQ6IDMwdmg7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRvY3VtZW50YXRpb24gLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsgfVxuICAubW9kYWwtY29udGFpbmVyLm1lZGlhLWJyb3dzZXIgLm1lZGlhLWJyb3dzZXItY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtaW5zdHJ1Y3Rpb25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogMCAwIDQwcHg7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIC5yZXZpc2lvbi10ZXh0IHtcbiAgICAgIG1hcmdpbjogMTBweCAwIDAgYXV0bztcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtaW5zdHJ1Y3Rpb25zLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDQwdmg7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLWluc3RydWN0aW9ucy1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwLCAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS1pbnN0cnVjdGlvbnMtY29udGFpbmVyIC5jbXMtY29udGVudC1jb250YWluZXIgbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHtcbiAgICBtYXJnaW46IDIwcHggMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdhcDogMTBweCAyMHB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgfSB9XG4gICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNjBweCAxZnIgMzBweDtcbiAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24ge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4OyB9IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyOmJlZm9yZSwgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpob3ZlcjphZnRlciwgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjpob3ZlciAuYnV0dG9uLWxhYmVsLCAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uOmhvdmVyIC5idXR0b24tY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246aG92ZXIgLmRhdGEtdGltZS1jb250YWluZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b246YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu6hgVwiO1xuICAgICAgICAgIGNvbG9yOiAjNjYzMzk5O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCLvgJlcIjtcbiAgICAgICAgICBjb2xvcjogIzY2MzM5OTtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIHNwYW4ge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAyOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24gLmJ1dHRvbi1sYWJlbCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgICBjb2xvcjogIzY2MzM5OTtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJLaHVsYVwiLCBcIktodWxhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLnNvZnR3YXJlLWRvd25sb2FkIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB1bCAuc29mdHdhcmUtZG93bmxvYWQtYnV0dG9uIC5idXR0b24tY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zb2Z0d2FyZS1kb3dubG9hZCAuc29mdHdhcmUtdXBkYXRlLWF2YWlsYWJsZS1kb3dubG9hZHMgdWwgLnNvZnR3YXJlLWRvd25sb2FkLWJ1dHRvbiAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAgICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAgIC5tb2RhbC1jb250YWluZXIuc29mdHdhcmUtZG93bmxvYWQgLnNvZnR3YXJlLXVwZGF0ZS1hdmFpbGFibGUtZG93bmxvYWRzIHVsIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24gLmRhdGEtdGltZS1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwi74CXXCI7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tb2RhbC1jb250YWluZXIucGF5bWVudCwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIucGF5bWVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQgLmNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWRkLW5ldy1jYXJkIC5jb250ZW50IC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICAgIG1hcmdpbjogMzBweCAzMHB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5wYXltZW50IGlmcmFtZSwgLm1vZGFsLWNvbnRhaW5lci5hZGQtbmV3LWNhcmQgaWZyYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDYzMHB4O1xuICAgIGhlaWdodDogNjIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuOHM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnBheW1lbnQgaWZyYW1lOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmFkZC1uZXctY2FyZCBpZnJhbWU6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNjcxNTZhO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5lbnF1aXJ5LWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDkwMHB4OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5lbnF1aXJ5LWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLmVucXVpcnktZm9ybSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG8gMDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogNXB4IDVweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDUwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciBbaW5qZWN0LWNvbnRhaW5lcl0sIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciBbaW5qZWN0LWNvbnRhaW5lcl0ge1xuICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgW2luamVjdC1jb250YWluZXJdIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDE5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5idXR0b25zLWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbjogYXV0bztcbiAgICAtLWNvbW1vbi1idXR0b24tbWVkaXVtLW1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4pOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmJ1dHRvbnMtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAjYnJhbmNoLXN3aXRjaGVyLWNvbnRhaW5lciwgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgI2FjY291bnQtc3dpdGNoZXItY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgI2JyYW5jaC1zd2l0Y2hlci1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAjYWNjb3VudC1zd2l0Y2hlci1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogMCA4MHB4IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWFjY291bnQtZGV0YWlscywgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmFjY291bnQtc3dpdGNoZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscywgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYWNjb3VudC1zd2l0Y2hlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmN1cnJlbnQtYnJhbmNoLWRldGFpbHMgaDMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIgaDMsIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jdXJyZW50LWFjY291bnQtZGV0YWlscyBoMywgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmFjY291bnQtc3dpdGNoZXIgaDMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscyBoMywgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5icmFuY2gtc3dpdGNoZXIgaDMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMgaDMsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuYWNjb3VudC1zd2l0Y2hlciBoMyB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1icmFuY2gtZGV0YWlscyAuYWRkcmVzcy1saW5lLCAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMgLmFkZHJlc3MtbGluZSwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzIC5hZGRyZXNzLWxpbmUsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY3VycmVudC1hY2NvdW50LWRldGFpbHMgLmFkZHJlc3MtbGluZSB7XG4gICAgcGFkZGluZzogMnB4IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAubW9kYWwtY29udGFpbmVyLmJyYW5jaC1zd2l0Y2hlciAubGFiZWwsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAubGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5sYWJlbCwgLm1vZGFsLWNvbnRhaW5lci5hY2NvdW50LXN3aXRjaGVyIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiAxMjBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuYnJhbmNoLXN3aXRjaGVyIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5tb2RhbC1jb250YWluZXIuYWNjb3VudC1zd2l0Y2hlciAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuZm9ybSAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgbWF4LWhlaWdodDogOTB2aDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLmZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDMwcHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmZvcm0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAubW9kYWwtY29udGFpbmVyLnRhYmxlIC5jb250ZW50IHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5icmFuY2gtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyLCAubW9kYWwtY29udGFpbmVyLmFjY291bnQtc3dpdGNoZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExNTBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAubW9kYWwtaGVhZGVyIGgzIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAubW9kYWwtaGVhZGVyIGgzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB6LWluZGV4OiAxNTA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MzBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyICN1c2Vycy1icmFuY2gtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA2MjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyICN1c2Vycy1icmFuY2gtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgLnNlbGVjdC1icmFuY2hlcy1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC50YWJsZS1mb290ZXItc3BhY2VyIHtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAubW9kYWwtY29udGFpbmVyLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciAuYnJhbmNoLXNlYXJjaCB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5tb2RhbC1jb250YWluZXIubWFuYWdlLXVzZXItYnJhbmNoLXNlbGVjdGVyIC5jb250cm9sLmNoZWNrYm94IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5tYW5hZ2UtdXNlci1icmFuY2gtc2VsZWN0ZXIgdGQge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0bzsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIucXVpY2stb3JkZXItc2VhcmNoLXJlc3VsdHMgW2luamVjdC1jb250YWluZXJdIHtcbiAgICBwYWRkaW5nOiA1cHggNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyBbaW5qZWN0LWNvbnRhaW5lcl0ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5xdWljay1vcmRlci1zZWFyY2gtcmVzdWx0cyAuY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0NjVweDsgfVxuICAubW9kYWwtY29udGFpbmVyLnNjYW5uZXIgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDY0MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zY2FubmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zY2FubmVyIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDY5MHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tb2RhbC1jb250YWluZXIuY2FsbC1mb3JtIC5jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jYWxsLWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuY2FsbC1mb3JtIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jYWxsLWZvcm0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtY29udGFpbmVyLmNhbGwtZm9ybSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4NTBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIudmlkZW8tcGxheWVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2RhbC1jb250YWluZXIudmlkZW8tcGxheWVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5NXZ3OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci52aWRlby1wbGF5ZXIgLmNvbnRlbnQtY29udGFpbmVyIFtpbmplY3QtY29udGFpbmVyXSB7XG4gICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTsgfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci52aWRlby1wbGF5ZXIgLmNvbnRlbnQtY29udGFpbmVyIFtpbmplY3QtY29udGFpbmVyXSBpZnJhbWUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAubW9kYWwtaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIHBhZGRpbmc6IDVweCA0NHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFkZWY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciAubW9kYWwtaGVhZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggNDRweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIgLm1vZGFsLWhlYWRlciBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIHAge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAubW9kYWwtY29udGFpbmVyIC5tb2RhbC1oZWFkZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDMwcHggMzBweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXIuZGlzYWJsZWQtbm8tY29udGVudCwgLm1vZGFsLWNvbnRhaW5lciAubW9kYWwtaGVhZGVyIC5jbXMtY29udGVudC1jb250YWluZXI6ZW1wdHkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAubW9kYWwtY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0b3A6IDEyLjVweDtcbiAgICByaWdodDogMjBweDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6IGNvbnRyYWN0LWNoZWNrZXIoIzY3MTU2YSwgIzAwYWRlZik7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICAgICAgICB0b3A6IDE2cHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTE1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyNi42NjY2N3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogODBweDsgfSB9XG4gIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jb250ZW50IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb246bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gNTBweDtcbiAgICBwYWRkaW5nOiAzNXB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbjpub3QoLmFqYXgpIC5jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb246bm90KC5hamF4KSAuY29udGVudCBwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb246bm90KC5hamF4KSAuY29udGVudCBwOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uOm5vdCguYWpheCkgLmNvbnRlbnQgcDpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMzBweCBhdXRvIDUwcHg7XG4gICAgcGFkZGluZzogMzVweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAubWVzc2FnZSBwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLm1lc3NhZ2UgcDpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDEwcHggYXV0byAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAubWVzc2FnZSBwOmJlZm9yZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWRhZGE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAucHJvbXB0LWNhbmNlbC1idXR0b24uZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLnByb21wdC1jYW5jZWwtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuY29uZmlybWF0aW9uIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmNvbmZpcm1hdGlvbiAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5jb25maXJtYXRpb24gLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDEsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoMiwgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGgzLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgaDQsIC5tb2RhbC1jb250YWluZXIuYWxlcnQ6bm90KC5hamF4KSAuY29udGVudCBoNSwgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGg2LCAubW9kYWwtY29udGFpbmVyLmFsZXJ0Om5vdCguYWpheCkgLmNvbnRlbnQgcCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydDpub3QoLmFqYXgpIC5jb250ZW50IGEge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLm1lc3NhZ2U6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSBoMSwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSBoMiwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSBoMywgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSBoNCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSBoNSwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSBoNiwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAubWVzc2FnZSBwLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5tZXNzYWdlIGEge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmU4Zjc7XG4gICAgICBib3JkZXItY29sb3I6ICNiYmU4Zjc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5hbGVydCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFsZXJ0IC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWxlcnQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoMiwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDMsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmc6bm90KC5hamF4KSAuY29udGVudCBoNSwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nOm5vdCguYWpheCkgLmNvbnRlbnQgaDYsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIud2FybmluZzpub3QoLmFqYXgpIC5jb250ZW50IGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2U6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGgxLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDIsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoMywgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIGg0LCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLm1lc3NhZ2UgaDUsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBoNiwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5tZXNzYWdlIHAsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAubWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICNiMjBjMGM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgICAgICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiZThmNztcbiAgICAgIGJvcmRlci1jb2xvcjogI2JiZThmNztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQsIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIud2FybmluZyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLndhcm5pbmcgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci53YXJuaW5nIC5wcm9tcHQtcHJvY2VlZC1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZDpub3QoLmFqYXgpIC5jb250ZW50Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDEsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDIsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDMsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDQsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDUsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgaDYsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkOm5vdCguYWpheCkgLmNvbnRlbnQgcCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQ6bm90KC5hamF4KSAuY29udGVudCBhIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjVlMDU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDEsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGgyLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoMywgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgaDQsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5tZXNzYWdlIGg1LCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAubWVzc2FnZSBoNiwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgcCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLm1lc3NhZ2UgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMzBweDtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCA0NXB4IDIwcHgpOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmFjdGlvbi1yZXF1aXJlZCAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiZThmNztcbiAgICAgIGJvcmRlci1jb2xvcjogI2JiZThmNztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5tb2RhbC1jb250YWluZXIuYWN0aW9uLXJlcXVpcmVkIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5hY3Rpb24tcmVxdWlyZWQgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGgxLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoMiwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDMsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGg0LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5hamF4KSAuY29udGVudCBoNSwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzOm5vdCguYWpheCkgLmNvbnRlbnQgaDYsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IHAsIC5tb2RhbC1jb250YWluZXIuc3VjY2Vzczpub3QoLmFqYXgpIC5jb250ZW50IGEge1xuICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjgxMWY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZTpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2U6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGgxLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDIsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoMywgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIGg0LCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLm1lc3NhZ2UgaDUsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBoNiwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5tZXNzYWdlIHAsIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAubWVzc2FnZSBhIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMTBweCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDIwcHggMTBweCk7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDAgNDVweCAyMHB4KTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmFjdGl2ZSwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmU4Zjc7XG4gICAgICBib3JkZXItY29sb3I6ICNiYmU4Zjc7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLnN1Y2Nlc3MgLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5zdWNjZXNzIC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuc3VjY2VzcyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAxMTVweCAxMzVweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDsgfSB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5jb250ZW50LWNvbnRhaW5lciBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgICAgICAgcGFkZGluZzogMCA1MHB4OyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQtY29udGFpbmVyIHN0cm9uZyB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmNvbnRlbnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogODg1cHg7IH0gfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLm1vZGFsLWxvZ28ge1xuICAgIHdpZHRoOiAxMzVweDtcbiAgICBoZWlnaHQ6IDEzNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDsgfVxuICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmltYWdlLXNsb3QtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLmltYWdlLXNsb3QtMTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvipFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiA3MHB4O1xuICAgICAgY29sb3I6ICMwMTQxNmY7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5pbWFnZS1zbG90LTIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAuaW1hZ2Utc2xvdC0yOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BnlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEzNXB4O1xuICAgICAgY29sb3I6ICNmZjAxMDE7IH1cbiAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMjBweCAxMHB4KTtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmhvdmVyLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxMWY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzEyODExZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LWNhbmNlbC1idXR0b246YWN0aXZlLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJlOGY3O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYmJlOGY3O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uLmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1jYW5jZWwtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAyMzBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAyMHB4IDEwcHgpO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwIDQ1cHggMjBweCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjphY3RpdmUsIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uOmRpc2FibGVkLCAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbi5kaXNhYmxlZCwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAubW9kYWwtY29udGFpbmVyLmRlbW8gLnByb21wdC1wcm9jZWVkLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLm1vZGFsLWNvbnRhaW5lci5kZW1vIC5wcm9tcHQtcHJvY2VlZC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuZGVtbyAucHJvbXB0LXByb2NlZWQtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzhjOGM4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMjBweCBhdXRvIDMwcHg7IH0gfVxuICAubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5pbmZvcm1hdGlvbi1zZWN0aW9uIHtcbiAgICBtaW4td2lkdGg6IDgwdnc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5pbmZvcm1hdGlvbi1zZWN0aW9uIHtcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcbiAgICAgICAgd2lkdGg6IDY0MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDsgfSB9XG4gICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tc2VjdGlvbiBoMiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODFiZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2RhbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmluZm9ybWF0aW9uLW9wdGlvbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gICAgLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaW5mb3JtYXRpb24tb3B0aW9uIC5sYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5pbmZvcm1hdGlvbi1vcHRpb24gLmxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG4uaW5qZWN0LWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltpbmplY3QtY29udGFpbmVyXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIFtpbmplY3QtY29udGFpbmVyXTpoYXMoZGl2LkFKQVhCbG9jaykge1xuICAgIG1pbi13aWR0aDogMzIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbaW5qZWN0LWNvbnRhaW5lcl06aGFzKGRpdi5BSkFYQmxvY2spIHtcbiAgICAgICAgbWluLXdpZHRoOiA2NDBweDsgfSB9XG4gIFtpbmplY3QtY29udGFpbmVyXSAubW9kYWwtaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIHJpZ2h0OiAzMHB4OyB9XG5cbi5pbmplY3QtYnV0dG9uIHtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cztcbiAgei1pbmRleDogMTsgfVxuICAuaW5qZWN0LWJ1dHRvbjpob3ZlciB7XG4gICAgY29sb3I6ICM2NzE1NmE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuaW5qZWN0LWJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gIC5pbmplY3QtYnV0dG9uLmZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbmplY3QtYnV0dG9uLmZvcm0ge1xuICAgICAgICBtYXJnaW46IDAgNTBweCAwIGF1dG87IH0gfVxuICAgIC5pbmplY3QtYnV0dG9uLmZvcm06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuXG4vKlxyXG4tLS0tLSBNb2R1bGVzIC0tLS0tXHJcblRoZXNlIGNhbiBiZSB1c2VkIGFueXdoZXJlIG9uIHRoZSBzaXRlIGhlYWRlciwgbWFpbiBjb250ZW50ICYgZm9vdGVyLCB0aGVzZSBoYXZlIGEgaGFyZCBkZXBlbmRhbmN5IG9uIGZvdW5kYXRpb24gWFkgZ3JpZCBzeXN0ZW0gZm9yIHRoZWlyIHBvc2l0aW9uaW5nLlxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFByb2R1Y3QgLyBJbWFnZSBjb2xsZWN0aW9uc1xyXG4gIC0gR3JpZCB2aWV3XHJcbiAgLSBTbGlkZXNob3cgdmlld1xyXG4tIFZhcm91cyBDTVMgdHlwZXM6XHJcbiAgLSBCbG9nXHJcbiAgLSBOZXdzXHJcbiAgLSBFdmVudHNcclxuICAtIEdlbmVyaWMgQ01TIGVudHJpZXMgXHJcbi0gRUJHIEluZm9ybWF0aW9uXHJcbi0gQmFja2dyb3VuZHMgKCBDdXJyZW50bHkgb25seSBzdXBwb3J0IGp1c3QgY29sb3VycyBub3QgaW1hZ2VzICk6IFxyXG4gIC0gUm93IEJhY2tncm91bmRzIFxyXG4gIC0gTW9kdWxlIEJhY2tncm91bmRzXHJcbiovXG4ucm93LWJhY2tncm91bmQ6Zmlyc3Qtb2YtdHlwZSAubW9kdWxlLWJhY2tncm91bmQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5yb3ctYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLnJvdy1iYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIC5tb2R1bGUtaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC00NXB4OyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kIC5tb2R1bGUtaGVhZGluZyB7XG4gICAgYm9yZGVyOiAwcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAucm93LWJhY2tncm91bmQgLm1vZHVsZS1oZWFkaW5nICsgLmNtcy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5tb2R1bGUtaGVhZGluZyArIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICAubW9kdWxlLWhlYWRpbmcgKyAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDsgfVxuXG4uZ3JpZC1jb250YWluZXIgLm1vZHVsZS1iYWNrZ3JvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ucm93LWJhY2tncm91bmQge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tb2R1bGUtYmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kLm1vZHVsZS1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH0gfVxuICAubW9kdWxlLWJhY2tncm91bmQubW9kdWxlLXBhZGRpbmcgLm1vZHVsZS1oZWFkaW5nIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAubW9kdWxlLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMzBweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAuY29udGVudC1iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogNi41JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tb2R1bGUtYmFja2dyb3VuZC5tb2R1bGUtcGFkZGluZyAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDM3NXB4OyB9IH1cbiAgICAubW9kdWxlLWJhY2tncm91bmQubW9kdWxlLXBhZGRpbmcgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZC5yZW1vdmUtbWFyZ2luLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAubW9kdWxlLWJhY2tncm91bmQucmVtb3ZlLW1hcmdpbi1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1vZHVsZS1iYWNrZ3JvdW5kLnJlbW92ZS1tYXJnaW4tYm90aCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb2xsZWN0aW9uIHtcbiAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbGxlY3Rpb24uc2hvdy1jb2xvdXJzIC5jb2xsZWN0aW9uLWl0ZW0gLmltYWdlIHtcbiAgICBwYWRkaW5nOiAzcHg7IH1cbiAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1yZW1vdmUtZ3V0dGVyIHtcbiAgICAtLW1vZHVsZS1ndXR0ZXI6IDA7IH1cbiAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1zbWFsbC1ndXR0ZXIge1xuICAgIC0tbW9kdWxlLWd1dHRlcjogNy41cHg7IH1cbiAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1tZWRpdW0tZ3V0dGVyIHtcbiAgICAtLW1vZHVsZS1ndXR0ZXI6IDExLjUzODQ2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLW1lZGl1bS1ndXR0ZXIge1xuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6IDE1cHg7IH0gfVxuICAuY29sbGVjdGlvbi5jb2xsZWN0aW9uLWxhcmdlLWd1dHRlciB7XG4gICAgLS1tb2R1bGUtZ3V0dGVyOiAzOC40NjE1NHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNvbGxlY3Rpb24uY29sbGVjdGlvbi1sYXJnZS1ndXR0ZXIge1xuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6IDUwcHg7IH0gfVxuICAuY29sbGVjdGlvbi5pbWFnZS1ncmlkLW1vZHVsZSwgLmNvbGxlY3Rpb24uaW1hZ2Utc2xpZGVzaG93LW1vZHVsZSB7XG4gICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKS92YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pOyB9XG4gIC5jb2xsZWN0aW9uIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xOyB9XG4gIC5jb2xsZWN0aW9uIC5ncmlkLW1hcmdpbi14ID4gLmNvbGxlY3Rpb24taXRlbS5jZWxsIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuY29sbGVjdGlvbiAuZ3JpZC14IHtcbiAgICBkaXNwbGF5OiBncmlkOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0xIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTIge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC00IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTUge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTsgfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgbWlubWF4KDAsIDFmcikpOyB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC03IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBtaW5tYXgoMCwgMWZyKSk7IH1cbiAgLmNvbGxlY3Rpb24gLnNtYWxsLXVwLTgge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtMSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtMiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtMyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtNyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg3LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5tZWRpdW0tdXAtOCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTEge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0yIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtMyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC01IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDUsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtNiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoMCwgMWZyKSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbGxlY3Rpb24gLmxhcmdlLXVwLTcge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgbWlubWF4KDAsIDFmcikpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC04IHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDgsIG1pbm1heCgwLCAxZnIpKTsgfSB9XG4gIC5jb2xsZWN0aW9uIC5zbWFsbC11cC0xIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gICAgbWF4LWhlaWdodDogMTI4MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiAubGFyZ2UtdXAtMSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjFcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxMzAwcHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMiAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjJcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNjMwcHg7XG4gICAgbWF4LWhlaWdodDogNjMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0yIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiMlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDY0NHB4O1xuICAgICAgbWF4LWhlaWdodDogNjQ0cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtMyAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjNcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNDE4cHg7XG4gICAgbWF4LWhlaWdodDogNDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC0zIC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiM1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDQyNHB4O1xuICAgICAgbWF4LWhlaWdodDogNDI0cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNCAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjRcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMzEycHg7XG4gICAgbWF4LWhlaWdodDogMzEycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC00IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDMxNnB4O1xuICAgICAgbWF4LWhlaWdodDogMzE2cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjVcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMjQ5cHg7XG4gICAgbWF4LWhlaWdodDogMjQ5cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC01IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNVwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgbWF4LWhlaWdodDogMjUwcHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNiAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjZcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMjA1cHg7XG4gICAgbWF4LWhlaWdodDogMjA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC02IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNlwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDIwN3B4O1xuICAgICAgbWF4LWhlaWdodDogMjA3cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtNyAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjdcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTc1cHg7XG4gICAgbWF4LWhlaWdodDogMTc1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC03IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiN1wiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDE3NXB4O1xuICAgICAgbWF4LWhlaWdodDogMTc1cHg7IH0gfVxuICAuY29sbGVjdGlvbiAuc21hbGwtdXAtOCAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSwgLmNvbGxlY3Rpb24gW2J4LWNvbHVtbi1jb3VudD1cIjhcIl0gLmNvbGxlY3Rpb24taXRlbSAucHJvZHVjdCAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTUzcHg7XG4gICAgbWF4LWhlaWdodDogMTUzcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb2xsZWN0aW9uIC5sYXJnZS11cC04IC5jb2xsZWN0aW9uLWl0ZW0gLnByb2R1Y3QgLmltYWdlLCAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiOFwiXSAuY29sbGVjdGlvbi1pdGVtIC5wcm9kdWN0IC5pbWFnZSB7XG4gICAgICBtYXgtd2lkdGg6IDE1MnB4O1xuICAgICAgbWF4LWhlaWdodDogMTUycHg7IH0gfVxuICAuY29sbGVjdGlvbi5zaG93LWNvbG91cnMgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuY29sbGVjdGlvbi5zaG93LWNvbG91cnMgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyLmNvbXBhY3QgLmRlc2NyaXB0aW9uLCAuY29sbGVjdGlvbi5zaG93LWNvbG91cnMgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyOm5vdCguY29tcGFjdCkgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6aG92ZXIuY29tcGFjdCAuZGVzY3JpcHRpb24sIC5jb2xsZWN0aW9uLnNob3ctY29sb3VycyAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXI6aG92ZXI6bm90KC5jb21wYWN0KSAuZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXIuaW1hZ2Uge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogU2V0dGluZyB0aGlzIGdlbmVyaWNhbGx5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XHJcbiAgICAgICAgICAgIDEuIElmIGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzIGlzIGVuYWJsZWRcclxuICAgICAgICAgICAgMi4gSWYgaW1hZ2Ugc2NhbGUgaXMgZW5hYmxlZC5cclxuICAgICAgICAgICAgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmltYWdlLCAuY29sbGVjdGlvbiAuY29udGVudC1jb250YWluZXI6aG92ZXIuaW1hZ2Uge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuY29sbGVjdGlvbiBbYngtY29sdW1uLWNvdW50PVwiNFwiXSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgIC5jb2xsZWN0aW9uIFtieC1jb2x1bW4tY291bnQ9XCI0XCJdIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAuY29sbGVjdGlvbiAuZ3JpZC1jb2xsZWN0aW9uLXgge1xuICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDEwcHgpOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAuY29sbGVjdGlvbiAuZ3JpZC1jb2xsZWN0aW9uLXgge1xuICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAxNXB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaW1hZ2UtZ3JpZC1tb2R1bGUgLmdyaWQtY29sbGVjdGlvbi14LCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JpZC1jb2xsZWN0aW9uLXgsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDE1cHgpOyB9IH1cbiAgLmltYWdlLWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwsIC5jb2xsZWN0aW9uIC5ncmlkLWNvbGxlY3Rpb24teCAuY29sbGVjdGlvbi1pdGVtLmNlbGwge1xuICAgIHdpZHRoOiB1bnNldDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY2VsbCB7XG4gIHBhZGRpbmctbGVmdDogMC4yMzQzOHJlbTtcbiAgcGFkZGluZy1yaWdodDogMC4yMzQzOHJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgZ3JpZC1yb3c6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDE3LjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBnYXA6IDEwcHggMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xuICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgIGhlaWdodDogMTI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzYlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLnByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGNhbGMoNDAlIC0gMTBweCkgY2FsYyg2MCUgLSAxMHB4KTtcbiAgICAgIGdyaWQtZ2FwOiAwIDIwcHg7XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNvZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3NiU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfSB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIG9yZGVyOiAxOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5pbWFnZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMykge1xuICAgIGdyaWQtY29sdW1uOiAyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xuICBwYWRkaW5nOiA1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTEwcHggMWZyOyB9IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgcGFkZGluZzogMTBweCAyMHB4IDEwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5pbWFnZSB7XG4gIHdpZHRoOiAxMTBweDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlLm1pbmlmaWVkLWxheW91dCBhOmZpcnN0LWNoaWxkIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBwYWRkaW5nOiAyNXB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lcjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl06aGFzKC5yZWFkLW1vcmUpIHtcbiAgICBoZWlnaHQ6IDMwMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBhIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzpoYXMoLmRlc2NyaXB0aW9uOmVtcHR5KSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzpob3ZlciAuZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnOmFjdGl2ZSAuZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbjpub3QoOmVtcHR5KSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDVweCA1cHg7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG87XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGU6bm90KDplbXB0eSkgKyAuZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbiB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uOm5vdCg6ZW1wdHkpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0OyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiA1cHg7IH0gfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICB3aWR0aDogNjYlO1xuICAgIG1hcmdpbjogYXV0byBhdXRvIDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLm1pbmlmaWVkIC5pbWFnZSB7XG4gICAgd2lkdGg6IDExMHB4OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAucmVhZC1tb3JlIHtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjphY3RpdmUgLmRlc2NyaXB0aW9uIHtcbiAgICBjb2xvcjogIzY3MTU2YTsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIuaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggNXB4IDVweDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1cHggNXB4OyB9XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb246aXMoOmVtcHR5KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pbWFnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuaW1hZ2Uge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmltYWdlIGltZyB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgcGFkZGluZy1yaWdodDogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzAxNDE2Zik7XG4gIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIge1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjNjcxNTZhOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5kZXNjcmlwdGlvbiB7XG4gIGNvbG9yOiAjNDg0ODQ4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmRlc2NyaXB0aW9uIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5yZWFkLW1vcmUge1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAuc3BlY2lmaWNhdGlvbiBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2RlIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sLWxhYmVsICsgLnByaWNlcyBwOm9ubHktY2hpbGQgLmxhYmVsICsgLnZhbHVlIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXI6aGFzKC52YXQpIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLmxhYmVsLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICBmb250LWZhbWlseTogXCJLaHVsYVwiLCBcIktodWxhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAucHJpY2Uge1xuICBtYXJnaW46IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnByaWNlIC5jdXJyZW5jeSB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSAudmF0IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMTBweDtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4ucHJvZHVjdC1ncmlkLW1vZHVsZSBmb3JtLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5zdG9ja2xpbmUtdmlldy1idXR0b24ge1xuICBtYXJnaW46IGF1dG8gMCAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5hZGRUb0Jhc2tldC5pY29uIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5mYXZvdXJpdGVzQ29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5wcm9kdWN0LWdyaWQtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHtcbiAgbWF4LXdpZHRoOiA4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTBweCAwIDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5wcm9kdWN0LWdyaWQtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgd2lkdGg6IDgwcHg7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAucHJvZHVjdC1ncmlkLW1vZHVsZSAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlOm5vdCg6aGFzKGltZykpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlOm5vdCg6aGFzKGltZykpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbTpub3QoLmViZykgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgNXB4IDA7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhvdmVyLCAucHJvZHVjdC1ncmlkLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtOm5vdCguZWJnKSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG5cbi5pbWFnZS1ncmlkLW1vZHVsZSAuY2VsbCB7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5pbWFnZS1ncmlkLW1vZHVsZSAuaW1hZ2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmltYWdlLWdyaWQtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tb2R1bGUtY29udGVudC1jb250YWluZXI6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lcjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xuICAgICAgcGFkZGluZzogMTVweDsgfSB9XG5cbi5jbXMtbW9kdWxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgLmNtcy1tb2R1bGUgaDEge1xuICAgIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jbXMtbW9kdWxlIGgxOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoMTpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBoMiB7XG4gICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5jbXMtbW9kdWxlIGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoMjpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBoMyB7XG4gICAgbWFyZ2luOiAyNXB4IDAgMTBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgY29sb3I6ICM2NzE1NmE7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgIC5jbXMtbW9kdWxlIGgzOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY21zLW1vZHVsZSBoMzpvbmx5LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY21zLW1vZHVsZSBoNCB7XG4gICAgbWFyZ2luOiAyNXB4IDAgMTBweDtcbiAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAuY21zLW1vZHVsZSBoNDpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLmNtcy1tb2R1bGUgaDQ6b25seS1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNtcy1tb2R1bGUgaDUge1xuICAgIG1hcmdpbjogMTVweCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmNtcy1tb2R1bGUgaDU6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGg1Om9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIGg2IHtcbiAgICBtYXJnaW46IDE1cHggMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmNtcy1tb2R1bGUgaDY6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGg2Om9ubHktY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jbXMtbW9kdWxlIHAge1xuICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmNtcy1tb2R1bGUgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmNtcy1tb2R1bGUgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5jbXMtbW9kdWxlIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAuY21zLW1vZHVsZSBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmNtcy1tb2R1bGUgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuY21zLW1vZHVsZSBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgIC5jbXMtbW9kdWxlIHAgaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgLmNtcy1tb2R1bGUgcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNtcy1tb2R1bGUgdWwsIC5jbXMtbW9kdWxlIG9sIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jbXMtbW9kdWxlIHVsIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAuY21zLW1vZHVsZSB1bCB1bCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgLmNtcy1tb2R1bGUgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgLmNtcy1tb2R1bGUgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gIC5jbXMtbW9kdWxlIG9sIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAuY21zLW1vZHVsZSBvbCBvbCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgLmNtcy1tb2R1bGUgb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgIC5jbXMtbW9kdWxlIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgLmNtcy1tb2R1bGUgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAuY21zLW1vZHVsZSBsaSB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDEsIC5jbXMtbW9kdWxlIG9sICsgaDEge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoMiwgLmNtcy1tb2R1bGUgb2wgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAuY21zLW1vZHVsZSB1bCArIGgzLCAuY21zLW1vZHVsZSBvbCArIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5jbXMtbW9kdWxlIHVsICsgaDQsIC5jbXMtbW9kdWxlIG9sICsgaDQge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLmNtcy1tb2R1bGUgdWwgKyBoNSwgLmNtcy1tb2R1bGUgb2wgKyBoNSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuY21zLW1vZHVsZSB1bCArIGg2LCAuY21zLW1vZHVsZSBvbCArIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5jbXMtbW9kdWxlIGRsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5jbXMtbW9kdWxlIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmNtcy1tb2R1bGUgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLmNtcy1tb2R1bGUgdGFibGUge1xuICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY21zLW1vZHVsZSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jbXMtbW9kdWxlIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgLmNtcy1tb2R1bGUgdGFibGUgdGgge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlLm5vLXdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5jbXMtbW9kdWxlIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuY21zLW1vZHVsZSBibG9ja3F1b3RlOmJlZm9yZSwgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5jbXMtbW9kdWxlIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAgIC5jbXMtbW9kdWxlIGRpdi5nYWxsYXJ5LmNlbGwtZ3V0dGVycyB7XG4gICAgICBnYXA6IDEwcHg7IH1cbiAgICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSA+IGltZyB7XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuY21zLW1vZHVsZSBkaXYuZ2FsbGFyeSBhIHtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgLmNtcy1tb2R1bGUgZGl2LmdhbGxhcnkgYSBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAuY21zLW1vZHVsZSBpZnJhbWVbc3JjKj1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL1wiXSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmNtcy1tb2R1bGUgY29kZSB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMCAwIDQwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTU5NTk1O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZSBjb2RlIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAzNXB4OyB9IH1cbiAgICAuY21zLW1vZHVsZSBjb2RlOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTU5NTk1O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBwYWRkaW5nIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+DhVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBmb250LXNpemUgMC44czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgLmNtcy1tb2R1bGUgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmUsIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjsgfVxuICAgICAgICAuY21zLW1vZHVsZSBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUsIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlIHtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAgIC5jbXMtbW9kdWxlIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjZzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmNtcy1tb2R1bGUgYTpob3ZlciBoMiB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBmYWxzZSwgbm9uZSwgdW5kZXJsaW5lO1xuICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNtcy1tb2R1bGUgYTpob3ZlciBoMyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBmYWxzZSwgbm9uZSwgdW5kZXJsaW5lOyB9XG4gIC5jbXMtbW9kdWxlIGgyIHtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIC5jbXMtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5jbXMtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29udGVudC1oZWFkaW5nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSB7XG4gICAgZ2FwOiAyNXB4O1xuICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgLyoqIFdvcmsgb3V0IHRoZSBjb2x1bW4gd2lkdGgsIHRoaXMgd2FzIG9yaWdpbmFsbHkgZGVzaWduZWQgZm9yIGEgMiBjb2x1bW4gbGF5b3V0IHdoaWNoIGdvZXMgZG93biB0byBhIHNpbmdsZSBjb2x1bW4gaW4gdGhlIGZvbGxvd2luZyBzaXR1YXRpb25zXHJcbiAgICAgICAgICAgIC0gSW4gbW9iaWxlXHJcbiAgICAgICAgICAgIC0gV2hlbiB0aGUgbW9kdWxlIGNvbnRhaW5lciBpcyBubyBsb25nZXIgd2lkZSBlbm91Z2ggdG8gc2hvdyB0byBjb2x1bW5zIHdpdGggYSB3aWR0aCBvZiB0aGUgY2FsY3VsYXRlZCBjb2x1bW4gd2lkdGggYmVsbG93LlxyXG4gICAgICAgICAgICAqKi9cbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heChtaW4tY29udGVudCwgNTYwcHgpKTtcbiAgICAgICAgcGFkZGluZzogNDBweDtcbiAgICAgICAgZ2FwOiA1MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIGgzIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgaDMge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5jbXMtbW9kdWxlLmV2ZW50cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZXZlbnRzLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgICAgIGhlaWdodDogNTUwcHg7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIC5jb250ZW50LWJhbm5lciBpbWcge1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9IH1cbiAgICAuY21zLW1vZHVsZS5ldmVudHMtbW9kdWxlIC5yZWFkLW1vcmUtY29udGVudCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlOmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7IH1cbiAgICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGU6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0OyB9XG4gICAgICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGU6aGFzKC5jb250ZW50LWJhbm5lcikgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0OyB9IH1cbiAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiA1MHB4IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nOiA1MHB4IDcuNSU7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDsgfVxuICAgICAgICAuY21zLW1vZHVsZS5ibG9nLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgaGVpZ2h0OiA0NzVweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmJsb2ctbW9kdWxlIC5jb250ZW50LWJhbm5lciBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfSB9XG4gICAgLmNtcy1tb2R1bGUuYmxvZy1tb2R1bGUgLnJlYWQtbW9yZS1jb250ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZTpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBoZWlnaHQ6IDM3NXB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1iYW5uZXIgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyOyB9IH1cbiAgICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgIHdpZHRoOiA5MCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUubmV3cy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSAucmVhZC1tb3JlLWNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY21zLW1vZHVsZS5uZXdzLW1vZHVsZSBoMyB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlIHtcbiAgICAgICAgZ2FwOiA0MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1sZWZ0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS50ZXh0LWFsaWduLWxlZnQgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUudGV4dC1hbGlnbi1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnRleHQtYWxpZ24tcmlnaHQgLnJlYWQtbW9yZS1idXR0b24ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnRleHQtYWxpZ24tY2VudGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLnRleHQtYWxpZ24tY2VudGVyIC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS10b3Age1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS10b3AgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS10b3AuaGFzLWltYWdlIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXg6IDE7IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXRvcCAucmVhZC1tb3JlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0OmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5yZWFkLW1vcmUge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4OyB9IH1cbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5yZWFkLW1vcmUtYnV0dG9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWdyb3c6IDA7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLnJlYWQtbW9yZSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyNTBweDsgfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1sZWZ0OmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLnJlYWQtbW9yZSB7XG4gICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7IH0gfVxuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5sYXlvdXQtc3R5bGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4OyB9IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUubGF5b3V0LXN0eWxlIC5jb250ZW50LWJhbm5lciB7XG4gICAgICBoZWlnaHQ6IHVuc2V0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3QgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG4gICAgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3QgLmNvbnRlbnQtY29udGFpbmVyIHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUuY29tcGFjdCAuY29udGVudC1iYW5uZXIge1xuICAgICAgaGVpZ2h0OiAzNzVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5yaWdodC1hbGlnbmVkOmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxlZnQtYWxpZ25lZDpoYXMoLmNvbnRlbnQtYmFubmVyKSAuY29udGVudC1jb250YWluZXIsIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5jb21wYWN0OmhhcyguY29udGVudC1iYW5uZXIpIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciwgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmxlZnQtYWxpZ25lZCAuY29udGVudC1iYW5uZXIsIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5jb21wYWN0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICBoZWlnaHQ6IDM4MHB4O1xuICAgICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciBpbWcsIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZS5sZWZ0LWFsaWduZWQgLmNvbnRlbnQtYmFubmVyIGltZywgLmNtcy1tb2R1bGUuZW50cnktbW9kdWxlLmNvbXBhY3QgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH0gfVxuICAgIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuY21zLW1vZHVsZS5yaWdodC1hbGlnbmVkLCAuY21zLW1vZHVsZS5sZWZ0LWFsaWduZWQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY21zLW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jb250ZW50LWhlYWRpbmcsIC5jbXMtbW9kdWxlLmxlZnQtYWxpZ25lZCAuY29udGVudC1oZWFkaW5nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuY21zLW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogYXV0bztcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY21zLW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jbXMtY29udGVudCwgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jbXMtY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBmbGV4OiAwIDAgNjAlO1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLnJpZ2h0LWFsaWduZWQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgLmNtcy1tb2R1bGUucmlnaHQtYWxpZ25lZCAuY29udGVudC1iYW5uZXIge1xuICAgIG9yZGVyOiAxO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZS5yaWdodC1hbGlnbmVkIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4OyB9IH1cbiAgLmNtcy1tb2R1bGUubGVmdC1hbGlnbmVkIC5jb250ZW50LWNvbnRhaW5lciArIC5jb250ZW50LWJhbm5lciB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmxlZnQtYWxpZ25lZCAuY29udGVudC1jb250YWluZXIgKyAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLmNtcy1tb2R1bGUuY29sdW1uIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jbXMtbW9kdWxlLmNvbHVtbiAuY29udGVudC1iYW5uZXIge1xuICAgIG1heC13aWR0aDogMTA4MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNDBweCBhdXRvIDYwcHg7IH1cbiAgICAuY21zLW1vZHVsZS5jb2x1bW4gLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiA0NzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1tb2R1bGUuY29sdW1uIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuY21zLW1vZHVsZS5jb2x1bW4taW52ZXJ0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgICAuY21zLW1vZHVsZS5jb2x1bW4taW52ZXJ0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1tb2R1bGUuY29sdW1uLWludmVydCAuY29udGVudC1iYW5uZXIge1xuICAgICAgICAgIGhlaWdodDogMzkwcHg7IH0gfVxuICAuY21zLW1vZHVsZTpub3QoLmNvbHVtbik6bm90KC5jb2x1bW4taW52ZXJ0KTpub3QoLnJvdy1pbnZlcnQpOm5vdCgubGF5b3V0LXN0eWxlKS5oYXMtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLW1vZHVsZTpub3QoLmNvbHVtbik6bm90KC5jb2x1bW4taW52ZXJ0KTpub3QoLnJvdy1pbnZlcnQpOm5vdCgubGF5b3V0LXN0eWxlKS5oYXMtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTsgfSB9XG4gIC5jbXMtbW9kdWxlOm5vdCgubGVmdC1hbGlnbmVkKS5oYXMtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5jbXMtbW9kdWxlOm5vdCgubGVmdC1hbGlnbmVkKS5jb2x1bW4taW52ZXJ0IC5jb250ZW50LWJhbm5lciB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDsgfVxuICAuY21zLW1vZHVsZTpub3QoLmxlZnQtYWxpZ25lZCkgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNtcy1tb2R1bGUgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBsYWNlLWNvbnRlbnQ6IG5vcm1hbDsgfVxuICAgIC5jbXMtbW9kdWxlIC5jb250ZW50LWJhbm5lciBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICAgIG9iamVjdC1wb3NpdGlvbjogdG9wIGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgICAgIC5jbXMtbW9kdWxlIC5jb250ZW50LWJhbm5lciBpbWcge1xuICAgICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUge1xuICAgIGZsZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY21zLW1vZHVsZSAubW9kdWxlLW5hdmlnYXRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLXRvcDogYXV0bzsgfVxuICAuY21zLW1vZHVsZSAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNtcy1tb2R1bGUgLmJsb2ctYnV0dG9uLCAuY21zLW1vZHVsZSAubmV3cy1idXR0b24sIC5jbXMtbW9kdWxlIC5ldmVudHMtYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ucm93LWJhY2tncm91bmQuY29udGFpbmVyLXBhZGRpbmcgLmNtcy1tb2R1bGUuaGFzLWltYWdlOm5vdCguY29sdW1uKTpub3QoLnJvdy1pbnZlcnQpIC5jb250ZW50LWJhbm5lciB7XG4gIHdpZHRoOiA1OTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJvdy1iYWNrZ3JvdW5kLmNvbnRhaW5lci1wYWRkaW5nIC5jbXMtbW9kdWxlLmhhcy1pbWFnZTpub3QoLmNvbHVtbik6bm90KC5yb3ctaW52ZXJ0KSAuY29udGVudC1iYW5uZXIge1xuICAgICAgaGVpZ2h0OiAzNzBweDsgfSB9XG4gIC5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyAuY21zLW1vZHVsZS5oYXMtaW1hZ2U6bm90KC5jb2x1bW4pOm5vdCgucm93LWludmVydCkgLmNvbnRlbnQtYmFubmVyIGltZyB7XG4gICAgbWF4LWhlaWdodDogMzc1cHg7IH1cblxuLnJvdy1iYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yb3ctYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJvdy1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfSB9XG4gICAgLnJvdy1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSAubW9kdWxlLWJhY2tncm91bmQge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnJvdy1iYWNrZ3JvdW5kLnJlbW92ZS1wYWRkaW5nLXRvcCB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucm93LWJhY2tncm91bmQucmVtb3ZlLXBhZGRpbmctdG9wIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAucm93LWJhY2tncm91bmQucmVtb3ZlLXBhZGRpbmctYm90dG9tIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy1ib3R0b20ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy1ib3RoIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yb3ctYmFja2dyb3VuZC5yZW1vdmUtcGFkZGluZy1ib3RoIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgLnJvdy1iYWNrZ3JvdW5kIC5yb3ctYmFja2dyb3VuZC1pbWFnZVtzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4ubW9kdWxlLWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubW9kdWxlLWJhY2tncm91bmQge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAubW9kdWxlLWJhY2tncm91bmRbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmRbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDsgfSB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0gLm5ld3MtbW9kdWxlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubW9kdWxlLWJhY2tncm91bmRbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdIC5uZXdzLW1vZHVsZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7IH0gfVxuICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2Uge1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1vZHVsZS1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIHtcbiAgICAgICAgcGFkZGluZzogMTVweDsgfSB9XG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUsIC5tb2R1bGUtYmFja2dyb3VuZC5oYXMtYmFja2dyb3VuZC1pbWFnZSAuY21zLW1vZHVsZS5lbnRyeS1tb2R1bGUge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIC5jbXMtbW9kdWxlLmVudHJ5LW1vZHVsZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDQ1cHg7IH0gfVxuICAgIC5tb2R1bGUtYmFja2dyb3VuZDpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkgLm5ld3MtbW9kdWxlLCAubW9kdWxlLWJhY2tncm91bmQuaGFzLWJhY2tncm91bmQtaW1hZ2UgLm5ld3MtbW9kdWxlIHtcbiAgICAgIG1hcmdpbjogMjVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5uZXdzLW1vZHVsZSwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIC5uZXdzLW1vZHVsZSB7XG4gICAgICAgICAgbWFyZ2luOiA0MHB4OyB9IH1cbiAgICAubW9kdWxlLWJhY2tncm91bmQ6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLm1vZHVsZS1iYWNrZ3JvdW5kLmhhcy1iYWNrZ3JvdW5kLWltYWdlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiB1bnNldDsgfVxuICAubW9kdWxlLWJhY2tncm91bmQgLnJvdy1iYWNrZ3JvdW5kLWltYWdlW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIC5tb2R1bGUtYmFja2dyb3VuZCAubW9kdWxlLWJhY2tncm91bmQtaW1hZ2Vbc3R5bGUqPVwiYmFja2dyb3VuZC1pbWFnZVwiXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cblxuLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLmNhcm91c2VsLXBhZGRpbmcge1xuICBwYWRkaW5nOiAwIDAgNTBweDsgfVxuXG4uY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE4cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQgPiBhIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWwoMjIpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5jbXMtc3Vic2lkaWFyeS1tb2R1bGUgLnNlcmllcy1jYXJkID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuY21zLXN1YnNpZGlhcnktbW9kdWxlIC5zZXJpZXMtY2FyZCB1bCBsaTpob3ZlciA+IGEge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmNtcy1zdWJzaWRpYXJ5LW1vZHVsZSAuc2VyaWVzLWNhcmQgdWwgbGkgPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi5lYmctaW5mb3JtYXRpb24tbW9kdWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLWZ1bGwtZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtbm90ZXMge1xuICAgICAgZmxleDogMTsgfSB9XG4gIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3Rlcy5hY3RpdmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiBpbmhlcml0OyB9XG4gIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3RlcyBwIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLW5vdGVzIHAge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuZWJnLWluZm9ybWF0aW9uLW1vZHVsZSAuZ3JvdXAtbm90ZXMgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAyMDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1ub3RlcyAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldDsgfSB9XG4gIC5lYmctaW5mb3JtYXRpb24tbW9kdWxlIC5ncm91cC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMjBweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmViZy1pbmZvcm1hdGlvbi1tb2R1bGUgLmdyb3VwLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMCU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLnBhZ2UtaGVhZGluZy1tb2R1bGUge1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGFnZS1oZWFkaW5nLW1vZHVsZSB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cbiAgLnBhZ2UtaGVhZGluZy1tb2R1bGUgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBhZ2UtaGVhZGluZy1tb2R1bGUgLmNtcy1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLm1vZHVsZS1jb25maWcge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLm1vZHVsZS1jb25maWcgbGksIC5tb2R1bGUtY29uZmlnIHN0cm9uZywgLm1vZHVsZS1jb25maWcgaDMge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIC5tb2R1bGUtY29uZmlnIGxpLCAubW9kdWxlLWNvbmZpZyBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5tb2R1bGUtY29uZmlnIGxpIHN0cm9uZyB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgIC5tb2R1bGUtY29uZmlnIGxpIHN0cm9uZzphZnRlciB7XG4gICAgICBjb250ZW50OiAnOic7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAubW9kdWxlLWNvbmZpZyBoMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1vZHVsZS1jb25maWcgaDM6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuZWZmZWN0LXN0eWxlIHtcbiAgLS1ib3JkZXItcmFkaXVzLXNtYWxsOiAxcHg7XG4gIC0tYm9yZGVyLXJhZGl1cy1tZWRpdW06IDVweDtcbiAgLS1ib3JkZXItcmFkaXVzLWxhcmdlOiAyNSU7XG4gIC0tYm9yZGVyLXJhZGl1cy14bGFyZ2U6IDUwJTtcbiAgLS1ib3JkZXItd2lkdGgtdGhpbjogMXB4O1xuICAtLWJvcmRlci13aWR0aC1saWdodDogMnB4O1xuICAtLWJvcmRlci13aWR0aC1tZWRpdW06IDVweDtcbiAgLS1ib3JkZXItd2lkdGgtYm9sZDogMTBweDtcbiAgLS1pbWFnZS1yZWR1Y2Utc21hbGw6IC45NTtcbiAgLS1pbWFnZS1yZWR1Y2UtbWVkaXVtOiAuODA7XG4gIC0taW1hZ2UtcmVkdWNlLWxhcmdlOiAuNjA7IH1cbiAgLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5lZmZlY3Qtc3R5bGUgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5tb2R1bGUtY29udGVudC1jb250YWluZXIuZWZmZWN0LXN0eWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtYm9yZGVyIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSwgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLWJvcmRlciAuY29udGVudC1jb250YWluZXIgLmltYWdlIHtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgsIDEwcHgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIsICNmZmZmZmYpOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSwgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLCAxMHB4KSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyLCAjZmZmZmZmKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAwLjhzOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZTpiZWZvcmUsIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2U6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMsIDUwJSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuOHM7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5pbWFnZSB7XG4gIG9wYWNpdHk6IDE7XG4gIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKSAvIDIpO1xuICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzIDAuNnM7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmltYWdlLXJhZGl1cy1hbmltYXRpb24gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5pbWFnZTpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cywgNTAlKSAvIDIpO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgMC42czsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiAuY29udGVudC1jb250YWluZXIuaW1hZ2U6aG92ZXIge1xuICBvcGFjaXR5OiAxO1xuICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsIDUwJSkgLyAyKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAwLjZzOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbWFnZS1yYWRpdXMtYW5pbWF0aW9uIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZTpob3ZlcjpiZWZvcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IGNhbGMoKHZhcigtLWJvcmRlci1yYWRpdXMsIDUwJSkpIC8gMik7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAwLjZzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5pbnZlcnQtY2VsbC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44czsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuaW52ZXJ0LWNlbGwtc2hhZG93IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmludmVydC1jZWxsLXNoYWRvdyAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuaW1hZ2Uge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4uY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXIuaW1hZ2U6aG92ZXIsIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5pbWFnZSB7XG4gIG9wYWNpdHk6IDE7IH1cbiAgLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLnJlZHVjZS1pbWFnZS1ob3ZlciAuY29udGVudC1jb250YWluZXIuaW1hZ2U6aG92ZXIgaW1nLCAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIucmVkdWNlLWltYWdlLWhvdmVyIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuaW1hZ2UgaW1nIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLXJlZHVjZS1pbWFnZSwgMC45NSkpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcsIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5yZWR1Y2UtaW1hZ2UtaG92ZXIgLmltYWdlIGltZyB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjhzOyB9XG5cbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5jZWxsLWJvcmRlci1kZWZhdWx0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsgfVxuICAuY29sbGVjdGlvbi5tb2R1bGUtY29udGVudC1jb250YWluZXIuY2VsbC1ib3JkZXItZGVmYXVsdCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7IH1cblxuLmNvbGxlY3Rpb24ubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLmJveC1zaGFkb3ctZGVmYXVsdC1ob3Zlci1zdGF0ZXMgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5ib3gtc2hhZG93LWRlZmF1bHQtaG92ZXItc3RhdGVzIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9XG5cbi5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMge1xuICBwYWRkaW5nOiAyMHB4IDAgMDtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLW1vZHVsZS5lZmZlY3Qtc3R5bGUubW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLm1vZHVsZS1ib3JkZXJzIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLXRvcCAuY29udGVudC1iYW5uZXIge1xuICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7IH1cbiAgLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lci5tb2R1bGUtYm9yZGVycy5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWJhbm5lciB7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1iYW5uZXIge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBib3JkZXItbGVmdDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfSB9XG4gIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtYmFubmVyIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpOyB9XG4gIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWJhbm5lciB7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTsgfSB9XG4gIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jbXMtbW9kdWxlLmVmZmVjdC1zdHlsZS5tb2R1bGUtY29udGVudC1jb250YWluZXIubW9kdWxlLWJvcmRlcnMgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogODBweCAxMDBweDsgfSB9XG5cbi5hbmltYXRpb24tbW9kdWxlIHtcbiAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLXdpZHRoLCBhdXRvKS92YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pOyB9XG4gIC5hbmltYXRpb24tbW9kdWxlIFtkYXRhLWFuaW1hdGlvbl0ge1xuICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvKTsgfVxuXG4vKlxyXG4tLS0tLSBTdG9jayBJbmRpY2lhdG9yKHMpIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gSW5zdG9jaywgT3V0IG9mIHN0b2NrICYgTG93IHN0b2NrIGljb25zLlxyXG4tIEVtYWlsIHdoZW4gYmFjayBpbiBzdG9ja1xyXG4qL1xuLnN0b2NrLWluZGljYXRvci5wcmVzZXQxIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQxIHAge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAuc3RvY2staW5kaWNhdG9yLnByZXNldDEgcDpiZWZvcmUge1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDEgYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDEgLnN0b2NrTGV2ZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnByZXNldDIge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIGE6aG92ZXIsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSBhOmhvdmVyLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgc3BhbiwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSBzcGFuLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIHNwYW4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgPiBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTIgcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIC5sYWJlbCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xID4gcCwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0xIHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSAubGFiZWwsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCA+IHAsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMCBwLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgLmxhYmVsIHtcbiAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIC5sYWJlbDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTEgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSAubGFiZWw6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0wIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgLmxhYmVsOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nOiAwIDVweCAwIDA7IH1cbiAgLnN0b2NrLWluZGljYXRvci5wcmVzZXQyLnNvaC0yIHNwYW4sIC5zdG9jay1pbmRpY2F0b3IucHJlc2V0Mi5zb2gtMSBzcGFuLCAuc3RvY2staW5kaWNhdG9yLnByZXNldDIuc29oLTAgc3BhbiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0yID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTIgcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTIgLmxhYmVsOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMSA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0xIHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0xIC5sYWJlbDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTAgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMCBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMCAubGFiZWw6YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTIgPiBwOmJlZm9yZSwgLnN0b2NrLWluZGljYXRvci5zb2gtMiAubGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIxcIjtcbiAgY29sb3I6ICMwMGFkZWY7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0yIHNwYW4ge1xuICBjb2xvcjogIzAwYWRlZjsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0xID4gcDpiZWZvcmUsIC5zdG9jay1pbmRpY2F0b3Iuc29oLTEgLmxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CMXCI7XG4gIGNvbG9yOiByZ2JhKDEwMywgMjEsIDEwNiwgMC4yKTtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTEgc3BhbiB7XG4gIGNvbG9yOiByZ2JhKDEwMywgMjEsIDEwNiwgMC4yKTsgfVxuXG4uc3RvY2staW5kaWNhdG9yLnNvaC0xIC5zdG9ja0xldmVsIHtcbiAgY29sb3I6ICMwMTQxNmY7IH1cblxuLnN0b2NrLWluZGljYXRvci5zb2gtMCA+IHA6YmVmb3JlLCAuc3RvY2staW5kaWNhdG9yLnNvaC0wIC5sYWJlbDpiZWZvcmUge1xuICBjb250ZW50OiBcIu+AjVwiO1xuICBjb2xvcjogI2ZmMDEwMTtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iuc29oLTAgLnN0b2NrTGV2ZWwge1xuICBjb2xvcjogI2ZmMDEwMTsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbjpob3ZlciAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBjb2xvcjogIzY3MTU2YTsgfVxuXG4uc3RvY2staW5kaWNhdG9yLm5vdGlmaWNhdGlvbi5hY3RpdmUgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcbiAgY29sb3I6ICMwMTQxNmY7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb24gLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcbiAgY29udGVudDogXCLvg7NcIjtcbiAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gIGNvbG9yOiAjZmYwMTAxO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb246bm90KC5hY3RpdmUpOmhvdmVyIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XG4gIGNvbnRlbnQ6IFwi74OzXCI7IH1cblxuLnN0b2NrLWluZGljYXRvci5ub3RpZmljYXRpb24uYWN0aXZlOmhvdmVyIHtcbiAgY3Vyc29yOiBuby1kcm9wOyB9XG5cbi5zdG9jay1pbmRpY2F0b3Iubm90aWZpY2F0aW9uLmFjdGl2ZSAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICMwMTQxNmY7IH1cblxuLnN0b2NrLWluZGljYXRvciBbZGF0YS10b29sdGlwXSB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLnN0b2NrLWluZGljYXRvciAubGFiZWwge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jb2xsZWN0aW9uLW9ubHktaW5kaWNhdG9yIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY29sbGVjdGlvbi1vbmx5LWluZGljYXRvcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCYXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbiNzdG9ja05vdGlmaWNhdGlvbkRldGFpbHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjc3RvY2tOb3RpZmljYXRpb25EZXRhaWxzIHtcbiAgICAgIHRvcDogMTB2dyAhaW1wb3J0YW50OyB9IH1cbiAgI3N0b2NrTm90aWZpY2F0aW9uRGV0YWlscyAuY21zQ29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMjBweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4jbm90aWZpY2F0aW9uRm9ybUNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI25vdGlmaWNhdGlvbkZvcm1Db250YWluZXIge1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwOyB9IH1cblxuI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIHtcbiAgbWF4LXdpZHRoOiA4NXZ3O1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIHtcbiAgICAgIG1heC13aWR0aDogMzB2dzsgfSB9XG4gICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm1TdWJtaXQge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtU3VibWl0OmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAxNDE2ZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgNjUsIDExMSwgMC41KTtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtU3VibWl0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNub3RpZmljYXRpb25EZXRhaWxzRm9ybSAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgI25vdGlmaWNhdGlvbkRldGFpbHNGb3JtIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0gLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuW2RhdGEtc3RvY2staW5kaWNhdG9yLXVwZGF0ZV0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICBncmlkLWF1dG8tY29sdW1uczogYXV0bztcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KGNhbGMoMzAlIC0gNy41cHgpLCAxZnIpIG1pbm1heChjYWxjKDcwJSAtIDcuNXB4KSwgMWZyKTtcbiAgICAgIGdhcDogMTVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcbiAgICAgIGdhcDogMjBweDsgfSB9XG4gIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJpZ2h0LCAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yZXNwb25zZS1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yaWdodCwgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmVzcG9uc2UtYXJlYSB7XG4gICAgICAgIGdhcDogMTBweCAwOyB9IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1yaWdodCAuY2FsbGJhY2tDb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJlc3BvbnNlLWFyZWEgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktbW9kdWxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweCAxNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIGdhcDogMTBweCAyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktbW9kdWxlIHtcbiAgICAgICAgZ2FwOiAxMHB4IDMwcHg7IH0gfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1tb2R1bGU6bm90KDpoYXMoKikpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktbW9kdWxlIGhyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkYWRhZGE7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zaGFyZS1idXR0b24ge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zaGFyZS1idXR0b246YWZ0ZXIge1xuICAgICAgZm9udC1zaXplOiAxN3B4OyB9XG5cbi5wcm9kdWN0LWVucXVpcnktaGVhZGluZy1jb250YWluZXIgLnByb2R1Y3QtZW5xdWlyeS1oZWFkaW5nIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzAxNDE2ZjtcbiAgZm9udC1zaXplOiAxLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1zZWxlY3Rpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXNlbGVjdGlvbi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xuICAgICAgZ2FwOiAxMHB4IDE1cHg7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMTBweCAyNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2VsZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDEwcHggMzBweDsgfSB9XG5cbi5xdWFudGl0eS1tb2R1bGUsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5xdWFudGl0eS1tb2R1bGUgLmxhYmVsLCAucHJvZHVjdC1lbnF1aXJ5LXF1YW50aXR5LXNlbGVjdG9yIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDZweCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucXVhbnRpdHktbW9kdWxlIC5sYWJlbCwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciAubGFiZWwge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7IH0gfVxuICAucXVhbnRpdHktbW9kdWxlIC5zZWxlY3QsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3IgLnNlbGVjdCB7XG4gICAgd2lkdGg6IHVuc2V0OyB9XG4gICAgLnF1YW50aXR5LW1vZHVsZSAuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktcXVhbnRpdHktc2VsZWN0b3IgLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgIG1pbi13aWR0aDogdW5zZXQ7IH1cblxuI21haW4tcHJvZHVjdC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICBwYWRkaW5nOiAyMHB4IDVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjbWFpbi1wcm9kdWN0LWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDAgMDsgfSB9XG5cbiNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdEltYWdlLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0OyB9IH1cbiAgI3Byb2R1Y3RJbWFnZSAjYWRkaXRpb25hbC1pbWFnZXMsICNwcm9kdWN0SW1hZ2UgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyICNhZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNwcm9kdWN0SW1hZ2UgI2FkZGl0aW9uYWwtaW1hZ2VzLCAjcHJvZHVjdEltYWdlIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAjYWRkaXRpb25hbC1pbWFnZXMsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIHtcbiAgICAgICAgd2lkdGg6IDM3NXB4OyB9IH1cbiAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyLCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5zbGlkZS5hY3RpdmUgLnRodW1ibmFpbCwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLnNsaWRlLmFjdGl2ZSAudGh1bWJuYWlsIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyZjY1ODk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LXByZXYsXG4gICAgICAjcHJvZHVjdEltYWdlIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2LFxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4OyB9XG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldjpiZWZvcmUsXG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dDpiZWZvcmUsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSxcbiAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2LCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldiB7XG4gICAgICAgIHJpZ2h0OiAzMHB4OyB9XG4gICAgICAgICNwcm9kdWN0SW1hZ2UgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtcHJldjpiZWZvcmUsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1wcmV2OmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0LCAucHJvZHVjdC1lbnF1aXJ5LW1haW4tbXVsdGltZWRpYS1jb250YWluZXIgLmFkZGl0aW9uYWxJbWFnZVNsaWRlckNvbnRhaW5lciAuYngtbmV4dCB7XG4gICAgICAgIGxlZnQ6IDIxcHg7IH1cbiAgICAgICAgI3Byb2R1Y3RJbWFnZSAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIC5ieC1uZXh0OmJlZm9yZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIC5hZGRpdGlvbmFsSW1hZ2VTbGlkZXJDb250YWluZXIgLmJ4LW5leHQ6YmVmb3JlIHtcbiAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpOyB9IH1cblxuI21haW5JbWFnZUNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyOmhvdmVyIC5vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyIC5vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAjbWFpbkltYWdlQ29udGFpbmVyLmltYWdlLTM2MCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI21haW5JbWFnZUNvbnRhaW5lci5pbWFnZS0zNjA6aG92ZXI6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNtYWluSW1hZ2VDb250YWluZXIuaW1hZ2UtMzYwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgbWF4LWhlaWdodDogOTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLzNkaWNvbi5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuMik7IH1cbiAgI21haW5JbWFnZUNvbnRhaW5lciBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDU1MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSwgI21haW5JbWFnZUNvbnRhaW5lci5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSB7XG4gIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2U6aG92ZXIsICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2U6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgaW1nLCAjbWFpbkltYWdlQ29udGFpbmVyLnByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlIGltZyB7XG4gICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSArIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXM6aGFzKGltZyksICNtYWluSW1hZ2VDb250YWluZXIucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UgKyAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzOmhhcyhpbWcpIHtcbiAgICBtYXJnaW46IDIwcHggYXV0byAwOyB9XG5cbi5wcm9kdWN0LW92ZXJsYXktbW9kdWxlIHtcbiAgbWFyZ2luOiAwIDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XG4gICAgICBvcmRlcjogMTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGEge1xuICAgICAgICBmbGV4OiAwIDEgY2FsYygzMyUgLSAxNXB4KTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDEycHg7IH1cbiAgICAgICAgLnByb2R1Y3Qtb3ZlcmxheS1tb2R1bGUgPiBhOm50aC1jaGlsZCgzbikge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgICAucHJvZHVjdC1vdmVybGF5LW1vZHVsZSA+IGE6bnRoLWNoaWxkKDNuICsgMSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAgIC5wcm9kdWN0LW92ZXJsYXktbW9kdWxlID4gYTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgZ2FwOiAxMHB4O1xuICBtYXJnaW46IDVweCAwIDEwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNSwgMWZyKTtcbiAgICAgIGdhcDogNXB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweDsgfSB9XG5cbi5wYXJ0LWNvZGUtY29udGFpbmVyIHNwYW4ge1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cblxuLnBhcnQtY29kZS1jb250YWluZXIsIC5wcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAucGFydC1jb2RlLWNvbnRhaW5lciBwLCAucHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnBhcnQtY29kZS1jb250YWluZXIgc3BhbiwgLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1yZWZlcmVuY2UtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBnYXA6IDEwcHggMjVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZ2FwOiA1cHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIge1xuICAgICAgZ2FwOiA1cHggMTBweDsgfSB9XG4gIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciAubGFiZWwge1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXIgLnZhbHVlIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIGJ1dHRvbiwgLnByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyIC50b29sdGlwLXRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogNXB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciBidXR0b24sIC5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciAudG9vbHRpcC10cmlnZ2VyIHtcbiAgICAgICAgZ2FwOiA1cHggMTBweDsgfSB9XG5cbiNwcm9kdWN0ICNwcm9kdWN0LWluZm8tbGVmdCBoMSB7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4jcHJvZHVjdCAuc2xpZGUgLmxhYmVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcHJvZHVjdCAuYWRkQnV0dG9uQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTBweCAwO1xuICBvcmRlcjogNDsgfVxuXG4jcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyB7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgcCwgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgbGkge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICNwcm9kdWN0ICNwcm9kdWN0LW5vdGVzIC5wcm9kdWN0LXJlYWQtbW9yZSB7XG4gICAgaGVpZ2h0OiAxNHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3Byb2R1Y3QgI3Byb2R1Y3Qtbm90ZXMgLnRhYmJlZC1yZWFkLW1vcmUge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjcHJvZHVjdCAjcHJvZHVjdC1ub3RlcyAudGFiYmVkLXJlYWQtbW9yZTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4jcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdCAjYWx0ZXJuYXRpdmUtb3B0aW9ucyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgI3Byb2R1Y3QgI2FsdGVybmF0aXZlLW9wdGlvbnMgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgI3Byb2R1Y3QgI2FsdGVybmF0aXZlLW9wdGlvbnMgLmNhcm91c2VsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWJhc2tldC1idXR0b24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgb3JkZXI6IDQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LWJhc2tldC1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9IH1cblxuLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29ucy1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1hcmdpbjogMTVweCAwIDEwcHg7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29ucy1jb250YWluZXIgKyAuaGF6YXJkLWluZm8tY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5oYXphcmQtc3RhdGVtZW50LWNvbnRhaW5lciAuaGF6YXJkLWljb24ge1xuICAgIHdpZHRoOiA3NXB4O1xuICAgIGhlaWdodDogNzVweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtdG94aWMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWFjdXRlLXRveGljaXR5LWljb24uc3ZnXCIpOyB9XG4gICAgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaWNvbi5oYXotY2F0LWdhcyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvaGF6YXJkLXN0YXRlbWVudC1pY29ucy9oYXphcmQtY29tcHJlc3NlZC1nYXMtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtY29ycm9zaXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1jb3Jyb3NpdmUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZW52aXJvbm1lbnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWVudmlyb25tZW50YWwtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZXhwbG9zaXZlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1leHBsb3NpdmUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtZmxhbW1hYmxlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1mbGFtbWFibGUtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtb3pvbmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zL2hhemFyZC1zdGF0ZW1lbnQtaWNvbnMvaGF6YXJkLWhhcm1mdWwtaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtb3hpZGlzaW5nIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1veGlkaXNpbmctaWNvbi5zdmdcIik7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pY29uLmhhei1jYXQtaGVhbHRoIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy9oYXphcmQtc3RhdGVtZW50LWljb25zL2hhemFyZC1zZXJpb3VzLWhlYWx0aC1pY29uLnN2Z1wiKTsgfVxuICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMTBweCAwIDIwcHg7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBoNCB7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaW5mby1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaW5mby1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciBwICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIC5oYXphcmQtaWNvbnMtY29udGFpbmVyLCAuaGF6YXJkLXN0YXRlbWVudC1jb250YWluZXIgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4OyB9XG5cbi5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWhlYWRpbmcgaDIsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtaGVhZGluZyBoMywgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1oZWFkaW5nIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwge1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCB1bCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCBsaTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIHtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgb2wge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCBvbCBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IGxpIHtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDEsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGgxIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGgyLCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoMiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoMywgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDMge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsICsgaDQsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBvbCArIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCArIGg1LCAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgb2wgKyBoNSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAucHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtY29udGFpbmVyIC5tdWx0aS1saW5lLWNvbnRlbnQgdWwgKyBoNiwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sICsgaDYge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IGRsIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCB1bCwgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IG9sIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lciAubXVsdGktbGluZS1jb250ZW50IHAsIC5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIgLm11bHRpLWxpbmUtY29udGVudCBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lci5wcm9kdWN0LW5vdGVzIHtcbiAgICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgLnByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWNvbnRhaW5lci5wcm9kdWN0LW5vdGVzIC5yZWFkLW1vcmU6bm90KDpoYXMoLnJlYWQtbW9yZS1jb250ZW50KSkge1xuICAgICAgbWF4LWhlaWdodDogMTAwcHg7IH1cblxuI3NwbGl0LXNwZWNpZmljYXRpb24gdWwge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaW5lLWhlaWdodDogMjVweDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICNzcGxpdC1zcGVjaWZpY2F0aW9uIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICNzcGxpdC1zcGVjaWZpY2F0aW9uIHVsIGxpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cblxuI3NwbGl0LXNwZWNpZmljYXRpb24gbGkge1xuICBtYXJnaW46IDVweCAwOyB9XG5cbiNzcGxpdC1zcGVjaWZpY2F0aW9uIGxpLCAjc3BsaXQtc3BlY2lmaWNhdGlvbiBwLCAjc3BsaXQtc3BlY2lmaWNhdGlvbiBhLCAjc3BsaXQtc3BlY2lmaWNhdGlvbiBzcGFuIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cblxuLnNwbGl0LXNwZWNpZmljYXRpb24ge1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMjsgfSB9XG5cbiNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnJycCB7XG4gICAgb3JkZXI6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucGFjay1wcmljZSB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciAucGFjay1zaXplIHtcbiAgICBvcmRlcjogNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wYWNrLWl0ZW0tcHJpY2Uge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnNhdmluZyB7XG4gICAgb3JkZXI6IDM7IH0gfVxuXG4jcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlIC5sYWJlbDplbXB0eSArIC52YWx1ZSB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIC5wcmljZSB7XG4gICAgb3JkZXI6IDU7IH0gfVxuXG4jcHJvZHVjdC1wcmljZS1jb250YWluZXIgLnByaWNlIC52YWx1ZSB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG4ub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIHRyOm5vdCg6aGFzKC5pbWFnZS1jb2wpKSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDQwMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgLmNvZGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDEyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgLnByaWNlLWNvbCB7XG4gICAgICAgIHdpZHRoOiA4MHB4OyB9IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkgdGQuZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHRkLmRlc2NyaXB0aW9uLWNvbCAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdHI6bm90KDpoYXMoLmltYWdlLWNvbCkpIHRkLmRlc2NyaXB0aW9uLWNvbCAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgd2lkdGg6IDI4MHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciB0YWJsZSAuY29kZS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHRhYmxlIC5wcmljZS1jb2wge1xuICAgICAgICB3aWR0aDogODBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgLmFkZC1jb2wge1xuICAgICAgICB3aWR0aDogODBweDsgfSB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGFibGUgdGguZGVzY3JpcHRpb24tY29sIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBnYXA6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgdGQuY29kZS1jb2wge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbWFnZS1jb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW1hZ2UtY29sIHtcbiAgICAgICAgd2lkdGg6IDExMHB4OyB9IH1cbiAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDIwcHggNXB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHAgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIHtcbiAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgb2wge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgbGkge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGgxLCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDEge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoMiwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDMsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciB1bCArIGg0LCAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIG9sICsgaDQge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgdWwgKyBoNSwgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBvbCArIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuaW50cm8tY29udGFpbmVyIHVsICsgaDYsIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIgb2wgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLm9wdGlvbmFsLWV4dHJhcy1jb250YWluZXIgLmludHJvLWNvbnRhaW5lciBkbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIC5pbnRyby1jb250YWluZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAub3B0aW9uYWwtZXh0cmFzLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbiNwcm9kdWN0LWNhc2UtcHJpY2luZywgI3Byb2R1Y3QtcHJpY2UtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcHJvZHVjdC1jYXNlLXByaWNpbmcsICNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCA0MHB4OyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1mYXZvdXJpdGVzLWNvbnRhaW5lciAuZmF2b3VyaXRlczphZnRlciB7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4jcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAwIDAgNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZywgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cbiAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uLCAucHJvZHVjdC1lbnF1aXJ5LXByaWNlLWJyZWFrLWNvbnRhaW5lciAucXVhbnRpdHktYnJlYWstbW9kdWxlLWRlc2NyaXB0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTgsIDEyOSwgMTkxLCAwLjgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIC5xdWFudGl0eS1icmVhay1tb2R1bGUtZGVzY3JpcHRpb24gc3BhbiwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgLnF1YW50aXR5LWJyZWFrLW1vZHVsZS1kZXNjcmlwdGlvbiBzcGFuIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIHtcbiAgICBtYXJnaW46IDE1cHggMCAwOyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSB0aCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgdGgge1xuICAgICAgcGFkZGluZzogMCA1cHggMTBweDsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgdGJvZHkgdGQsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIHRib2R5IHRkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgdGJvZHkgdGQuc2F2aW5ncy1jb2wsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLnNhdmluZ3MtY29sIHtcbiAgICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAjcHJvZHVjdC1xdWFudGl0eS1icmVhay1wcmljaW5nIHRhYmxlIC5xdWFudGl0eS1jb2wsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIC5xdWFudGl0eS1jb2wge1xuICAgICAgd2lkdGg6IDMwJTsgfVxuICAgICNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcgdGFibGUgLnByaWNlLXBlci1pdGVtLWNvbCwgLnByb2R1Y3QtZW5xdWlyeS1wcmljZS1icmVhay1jb250YWluZXIgdGFibGUgLnByaWNlLXBlci1pdGVtLWNvbCB7XG4gICAgICB3aWR0aDogNDAlOyB9XG4gICAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZyB0YWJsZSAuc2F2aW5ncy1jb2wsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHRhYmxlIC5zYXZpbmdzLWNvbCB7XG4gICAgICB3aWR0aDogMzAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Byb2R1Y3QtcXVhbnRpdHktYnJlYWstcHJpY2luZywgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcbiAgICBtYXJnaW4tbGVmdDogMjBweDsgfSB9XG5cbi5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMTBweCAwIDIwcHg7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwIDIwcHg7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIHtcbiAgLS1wcmljZS1tYXgtd2lkdGg6IDFmcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcge1xuICAgICAgLS1wcmljZS1tYXgtd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIHtcbiAgICAgIC0tcHJpY2UtbWF4LXdpZHRoOiA0MCU7IH0gfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcge1xuICAtLXByaWNlLW1heC13aWR0aDogMWZyOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2Uge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvOyB9IH1cblxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZSAudmFsdWUge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDIwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgdmFyKC0tcHJpY2UtbWF4LXdpZHRoKSkpOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE5MHB4LCBjYWxjKHZhcigtLXByaWNlLW1heC13aWR0aCkgLSAxMHB4KSkpO1xuICAgICAgICBnYXA6IDEwcHggMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTkwcHgsIGNhbGModmFyKC0tcHJpY2UtbWF4LXdpZHRoKSAtIDEwcHgpKSk7XG4gICAgICAgIGdhcDogMTBweCAyMHB4OyB9IH1cbiAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyOm5vdCg6aGFzKCopKSwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpub3QoOmhhcygqKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpoYXMoKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKik6bm90KDpsYXN0LWNoaWxkKTphZnRlciwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpoYXMoKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKik6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogY2FsYygyMHB4IC8gMiAqIC0xKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpoYXMoKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKik6bm90KDpsYXN0LWNoaWxkKTphZnRlciwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lcjpoYXMoKyAucHJpY2UtZ3JvdXAtY29udGFpbmVyID4gKik6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDkwJTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiBjYWxjKDIwcHggLyAyICogLTEpO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBsZWZ0OiB1bnNldDsgfSB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnJycCwgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ycnAsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgICAgIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucnJwICsgLnNhdmluZywgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnJycCArIC5zYXZpbmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgICAgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAubGFiZWw6bm90KDplbXB0eSksIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLmxhYmVsOm5vdCg6ZW1wdHkpLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIucHJpY2UgLmxhYmVsOm5vdCg6ZW1wdHkpLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC52YWx1ZSwgLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAudmFsdWUsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5wcmljZSAudmFsdWUsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAudmFsdWUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC52YXQsIC5wcm9kdWN0LWVucXVpcnktc2luZ2xlLXByaWNpbmcgLnByaWNlcyAucHJpY2UtZ3JvdXAtY29udGFpbmVyIC5wcmljZS1jb250YWluZXIuZ3JvdXAtcHJpY2UgLnZhdCwgLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIC5wcmljZXMgLnByaWNlLWdyb3VwLWNvbnRhaW5lciAucHJpY2UtY29udGFpbmVyLnByaWNlIC52YXQsIC5wcm9kdWN0LWVucXVpcnktZ3JvdXAtcHJpY2luZyAucHJpY2VzIC5wcmljZS1ncm91cC1jb250YWluZXIgLnByaWNlLWNvbnRhaW5lci5ncm91cC1wcmljZSAudmF0IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG5cbiNwcm9kdWN0LWNhc2UtcHJpY2luZyAuY2FzZS1wcmljZSBwIHtcbiAgbWFyZ2luOiAwO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuI3Byb2R1Y3QtY2FzZS1wcmljaW5nIC5wcmljZSB7XG4gIG1hcmdpbjogNXB4IDA7IH1cblxuLmRlbGl2ZXJ5LWNvdW50ZG93bi1jb250YWluZXIgW2RhdGEtY291bnRkb3duLXRpbWVdIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZXMgLmNvbGxlY3Rpb24taXRlbS5hY3RpdmUgLnRodW1ibmFpbCBhLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC5jb2xsZWN0aW9uLWl0ZW0uYWN0aXZlIC50aHVtYm5haWwgYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM2NzE1NmE7XG4gIG9wYWNpdHk6IDAuNjtcbiAgdHJhbnNpdGlvbjogYm9yZGVyIDAuOHM7IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYSwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuNnM7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhOmhvdmVyLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYTpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDE0MTZmO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuNnM7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhOmFjdGl2ZSwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGE6YWN0aXZlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAzLCAyMSwgMTA2LCAwLjUpO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIDAuNnM7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MCwgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI2FkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjA6aG92ZXI6YWZ0ZXIsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLmltYWdlLTM2MDpob3ZlcjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEuaW1hZ2UtMzYwOmFmdGVyLCAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIC50aHVtYm5haWwgYS5pbWFnZS0zNjA6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvM2RpY29uLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTIuNXB4O1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuMik7IH1cbiAgICAjYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLnZpZGVvLXRodW1ibmFpbCBpbWcsIC5wcm9kdWN0LWVucXVpcnktYWRkaXRpb25hbC1pbWFnZXMgLnRodW1ibmFpbCBhLnZpZGVvLXRodW1ibmFpbCBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNhZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZywgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyAudGh1bWJuYWlsIGEudmlkZW8tdGh1bWJuYWlsIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBhdXRvOyB9IH1cblxuLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMjBweDsgfSB9XG4gIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gICAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpID4gYSwgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzID4gbGkgPiBzcGFuLCAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaSA+IHAsIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpID4gZGl2IHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpIGEsIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyA+IGxpIHNwYW4ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZ3JvdXBlZC1wcm9kdWN0LW1vZHVsZXMgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9IH1cbiAgLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIC5yYXRpbmctc3VtbWFyeS1kaXNwbGF5IHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMjM0MzhyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuYWRkaXRpb25hbC1pbWFnZS14LCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4zMTI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuYWRkaXRpb25hbC1pbWFnZS14LCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5hZGRpdGlvbmFsLWltYWdlLXgge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMC4xNTYyNXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMC4xNTYyNXJlbTsgfSB9XG5cbiNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYWRkaXRpb25hbC1pbWFnZS1ncmlkIC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnRodW1ibmFpbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuXG4jYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5zbWFsbC11cC0xID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMSA+IC50aHVtYm5haWwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMiA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTIgPiAudGh1bWJuYWlsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtMyA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTMgPiAudGh1bWJuYWlsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNCA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTQgPiAudGh1bWJuYWlsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDI1JSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAuc21hbGwtdXAtNSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLnNtYWxsLXVwLTUgPiAudGh1bWJuYWlsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIHdpZHRoOiBjYWxjKDIwJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTEgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5tZWRpdW0tdXAtMSA+IC50aHVtYm5haWwge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC0yID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTIgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC0zID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTMgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC00ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTQgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyNSUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLm1lZGl1bS11cC01ID4gLnRodW1ibmFpbCwgLmFkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubWVkaXVtLXVwLTUgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygyMCUgLSAwLjYyNXJlbSk7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2FkZGl0aW9uYWwtaW1hZ2UtZ3JpZCAubGFyZ2UtdXAtMSA+IC50aHVtYm5haWwsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTEgPiAudGh1bWJuYWlsIHtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMC4zMTI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4xNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTIgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC0yID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC4zMTI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4xNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTMgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC0zID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMC4zMTI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4xNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTQgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC00ID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMC4zMTI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4xNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTU2MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNhZGRpdGlvbmFsLWltYWdlLWdyaWQgLmxhcmdlLXVwLTUgPiAudGh1bWJuYWlsLCAuYWRkaXRpb25hbC1pbWFnZS1ncmlkIC5sYXJnZS11cC01ID4gLnRodW1ibmFpbCB7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMC4zMTI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4xNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMTU2MjVyZW07IH0gfVxuXG4uc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDE1cHg7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xuICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuY29udHJvbCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MjBweDtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5jb250cm9sIC5jb250cm9sLXNlbGVjdC1vcHRpb24udW5hdmFpbGFibGUtb3B0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICAgIGNvbG9yOiAjN2I3YjdiO1xuICAgIG9wYWNpdHk6IC41O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmNvbnRyb2wgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbi51bmF2YWlsYWJsZS1vcHRpb246YWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IC44OyB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAubGFiZWwsIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiA0MCU7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5sYWJlbCwgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIHdpZHRoOiAyNyU7IH0gfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmF0dHJpYnV0ZS1kaXNwbGF5IC5sYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXIgLmF0dHJpYnV0ZS1kaXNwbGF5IC52YWx1ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciAuYXR0cmlidXRlLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyIC5hdHRyaWJ1dGUtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuI3Byb2R1Y3QtaW5mby1sZWZ0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3Byb2R1Y3QtaW5mby1sZWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAjcHJvZHVjdC1zcGVjaWZpY2F0aW9uLWRlc2NyaXB0aW9uIHtcbiAgICBvcmRlcjogMTsgfVxuICAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTEgLnBhcnQtY29kZS1jb250YWluZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gICNwcm9kdWN0LWluZm8tbGVmdC5wcmVzZXQtMSAjcHJvZHVjdEltYWdlLCAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTEgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMzsgfVxuICAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgI3Byb2R1Y3Qtc3BlY2lmaWNhdGlvbi1kZXNjcmlwdGlvbiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0yIC5wYXJ0LWNvZGUtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMzsgfVxuICAjcHJvZHVjdC1pbmZvLWxlZnQucHJlc2V0LTIgI3Byb2R1Y3RJbWFnZSwgI3Byb2R1Y3QtaW5mby1sZWZ0LnByZXNldC0yIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDE7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnByb2R1Y3QtZW5xdWlyeS10YWJzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMjBweCAwIDM1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5wcm9kdWN0LWVucXVpcnktdGFicy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDI1cHggMCA0NXB4OyB9IH1cblxuLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4IDEwcHg7XG4gIG1hcmdpbjogMCAwIDE1cHg7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy02KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy05KTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAxMHB4IDIwcHg7XG4gICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIGgzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIGgzIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZ2FwOiA1cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciBwIHtcbiAgICAgICAgZ2FwOiA1cHggMTBweDsgfSB9XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjYTIzNGUzO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rIHtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAudmlldy1vcmRlci1saW5rOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLnZpZXctb3JkZXItbGluazpob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIC52aWV3LW9yZGVyLWxpbms6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gICAgICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLnZpZXctb3JkZXItbGluazphY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAucHJvZHVjdC5wcmV2aW91c2x5LXB1cmNoYXNlZC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDVweCAxMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAxMHB4IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LnByZXZpb3VzbHktcHVyY2hhc2VkLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBnYXA6IDEwcHggNDBweDsgfSB9XG5cbnRhYmxlLmN1c3RvbS1zdG9jay10YWJsZSB0Ym9keSB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUuY3VzdG9tLXN0b2NrLXRhYmxlIHRib2R5IHRyW2NvbHNwYW49XCIyXCJdIHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5jdXN0b20tc3RvY2stdGFibGUgdGJvZHkgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAzMDBweDsgfSB9XG5cbiNiYXNrZXQtZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtZm9ybSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjYmFza2V0LWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDMwcHggMCAwOyB9IH1cblxuI2Jhc2tldC10YWJsZSB7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSB0ZDpub3QoLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wpLCAjYmFza2V0LXRhYmxlIHRoOm5vdCguYmFza2V0LWRlc2NyaXB0aW9uLWNvbCkge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmFkZC10by1iYXNrZXQtY29sIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsgfSB9XG4gICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHAge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgI2Jhc2tldC10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNiYXNrZXQtdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogMS8xOyB9XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMjBweCAwIDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBtYXJnaW46IDAgNDBweCAwIDA7IH0gfVxuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgYSB7XG4gICAgICAgIHdpZHRoOiAxNTVweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTMycHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgaW1nIHtcbiAgICAgICAgd2lkdGg6IDE1NXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEzMnB4OyB9IH1cbiAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMiBzcGFuOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgIG1pbi13aWR0aDogNDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHggMDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDA7IH0gfVxuICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNiYXNrZXQtdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgbWluLXdpZHRoOiAzMDBweDsgfSB9XG4gICAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb246aG92ZXIge1xuICAgICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrLWluZGljYXRvciB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7IH1cbiAgICAjYmFza2V0LXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2tXYXJuaW5nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBjb2xvcjogcmdiYSgxNDksIDE0OSwgMTQ5LCAwLjYpO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZy5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgI2Jhc2tldC10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZyBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICNiYXNrZXQtdGFibGUgLnN1YnNpZGlhcnktZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAjYmFza2V0LXRhYmxlIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAjYmFza2V0LXRhYmxlIC5ub24tcmV0dXJuYWJsZS1kZXNjcmlwdGlvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoZNcIjtcbiAgICAgIHBhZGRpbmc6IDAgNXB4IDAgMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sIHtcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wsICNiYXNrZXQtdGFibGUgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICBtYXgtd2lkdGg6IDE1JTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAudmF0LXJhdGUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1wcmljZS1jb2wge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1wcmljZS1jb2wge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYWRkLXRvLWJhc2tldC1jb2wge1xuICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSB7XG4gICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5IC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICNiYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHtcbiAgICAgIHdpZHRoOiAxMSU7IH0gfVxuICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHNwYW4ge1xuICAgIHdpZHRoOiA2MCU7XG4gICAgb3JkZXI6IDI7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHNwYW4ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIG9yZGVyOiA0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMTQxNmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LXRhYmxlIHRkLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgICAgd2lkdGg6IDUlOyB9IH1cbiAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG9yZGVyOiA2OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI2Jhc2tldC10YWJsZSB0ZC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9IH1cbiAgI2Jhc2tldC10YWJsZSAucmVtb3ZlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAjYmFza2V0LXRhYmxlIC5iYXNrZXRVcGRhdGVSb3cge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTU5NTk1OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI2Jhc2tldC10YWJsZSAuYmFza2V0LWl0ZW0tcm93IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgxMjBweCwgbWF4LWNvbnRlbnQpIG1pbm1heCgxMjBweCwgbWF4LWNvbnRlbnQpO1xuICAgICAgZ2FwOiA1cHg7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjYmFza2V0LXRhYmxlIC5iYXNrZXQtaXRlbS1yb3cgdGQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfSB9XG4gICNiYXNrZXQtdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmNvbC1sYWJlbCwgI2Jhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sIC5jb2wtbGFiZWwsICNiYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sIC5jb2wtbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB0Ym9keSB0ciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGJvZHkgdHIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyIDMwcHg7XG4gICAgICBnYXA6IDEwcHggMjBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHRib2R5IHRkOm5vdCguaW1hZ2UtY29sKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIHRkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfSB9XG5cbnRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmltYWdlLWNvbCB7XG4gIGdyaWQtY29sdW1uOiAxO1xuICBncmlkLXJvdzogc3BhbiA0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5pbWFnZS1jb2wge1xuICAgICAgd2lkdGg6IDEyLjIlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuZGVzY3JpcHRpb24tY29sIHtcbiAgZ3JpZC1jb2x1bW46IDIgLyBzcGFuIDM7IH1cbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuZGVzY3JpcHRpb24tY29sIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweCAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4OyB9IH1cbiAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuZGVzY3JpcHRpb24tY29sIC5kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgdGQuZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMzAlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuY29kZS1jb2wge1xuICBncmlkLWNvbHVtbjogMjtcbiAgZ3JpZC1yb3c6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLmNvZGUtY29sIHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuXG50YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5wcmljZS1jb2wge1xuICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMztcbiAgZ3JpZC1yb3c6IDM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnF1aWNrLW9yZGVyLWZvcm0tdGFibGUgLnByaWNlLWNvbCB7XG4gICAgICB3aWR0aDogMjAlOyB9IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAucXVhbnRpdHktY29sIHtcbiAgZ3JpZC1yb3c6IDQ7IH1cblxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuYWRkLWNvbCB7XG4gIGdyaWQtY29sdW1uOiAyO1xuICBncmlkLXJvdzogNTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSAuYWRkLWNvbCB7XG4gICAgICB3aWR0aDogMTguOSU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIC5hZGRUb0Jhc2tldC5pY29uLCB0YWJsZS5xdWljay1vcmRlci1mb3JtLXRhYmxlIC5hZGQtY29sIC5iYXNrZXQtYWRkLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRyLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwcHggMWZyO1xuICAgIGdhcDogMTBweCAyMHB4OyB9IH1cblxudGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRkLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRib2R5IHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICB0YWJsZS5iYXNrZXQtdGFibGUgdGJvZHkgdGQgLmNvbC1sYWJlbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0Ym9keSB0ZCAuY29sLWxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmcjtcbiAgICBnYXA6IDEwcHggMjBweDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwOyB9IH1cblxudGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9jay1pbmRpY2F0b3IsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrLWluZGljYXRvciB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sLCB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5LCB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sLCB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1xdWFudGl0eSwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LWNvZGUtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtY29kZS1jb2wge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMzsgfSB9XG5cbnRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyLmFsaWduLXJpZ2h0LCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyLmFsaWduLXJpZ2h0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIC5iYXNrZXQtcHJpY2UtY29udGFpbmVyIHNwYW4sIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIgc3BhbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLmJhc2tldC1wcmljZS1jb250YWluZXIgc3BhbiwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAuYmFza2V0LXByaWNlLWNvbnRhaW5lciBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1wcmljZS1jb2wgLnZhdC1yYXRlLWNvbnRhaW5lciwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXByaWNlLWNvbCAudmF0LXJhdGUtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXF1YW50aXR5LCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkge1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiA0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wsIHRhYmxlI2Jhc2tldC10YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogNTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSAuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xuICAgIHdpZHRoOiAxMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgZ3JpZC1yb3c6IDY7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5iYXNrZXQtdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIC5yZW1vdmUtYnV0dG9uLCB0YWJsZSNiYXNrZXQtdGFibGUuYmFza2V0LXRhYmxlIC5iYXNrZXQtcmVtb3ZlLWNvbCAucmVtb3ZlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cblxuI2Jhc2tldC1zdGlja3ktc3VtbWFyeS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgI2Jhc2tldCAuYmFza2V0LWl0ZW0tcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbiNiYXNrZXQgI2Jhc2tldC1kZWxpdmVyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICBwYWRkaW5nOiA0NXB4OyB9IH1cbiAgI2Jhc2tldCAjYmFza2V0LWRlbGl2ZXJ5IGgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgI2Jhc2tldCAjYmFza2V0LWRlbGl2ZXJ5IGgyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DkVwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogIzEyODFiZjsgfVxuICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgLmNtcy1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgLmNtcy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgICAjYmFza2V0ICNiYXNrZXQtZGVsaXZlcnkgLmNtcy1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbiNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAxMHB4OyB9XG4gICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyOmhhcyguc2VwZXJhdG9yOm5vdCg6ZW1wdHkpKSB7XG4gICAgZ2FwOiAyMHB4OyB9XG4gICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLmludmFsaWQgYSB7XG4gICAgY3Vyc29yOiBuby1kcm9wOyB9XG4gICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbiB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTJweCA1cHgpO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b246aG92ZXIsICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MWJmO1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMjgxYmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbi5ob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gICAgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uOmFjdGl2ZSwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgICBib3JkZXItY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbjpkaXNhYmxlZCwgI2Jhc2tldCAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIgI3NhZ2VwYXktY2hlY2tvdXQtYnV0dG9uLmRpc2FibGVkLCAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b246ZGlzYWJsZWQ6aG92ZXIsICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciAjc2FnZXBheS1jaGVja291dC1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgICNiYXNrZXQgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbiAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAjYmFza2V0IC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyICsgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLCAuc3VtbWFyeS1pdGVtICsgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lci52b3VjaGVyIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74CsXCI7IH1cblxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIudmF0IGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qVXCI7IH1cblxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAzMHB4IDAgMjVweDtcbiAgcGFkZGluZzogMDsgfVxuICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgbGFiZWw6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgY29sb3I6ICMxMjgxYmY7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm8td3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1jb250YWluZXIuaXMtaW52YWxpZC1jb250YWluZXIgKyAuZm9ybS1lcnJvciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMTVweCAwIDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0IHtcbiAgICBoZWlnaHQ6IDM1cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0OmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dDpmb2N1cyB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjJweDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LmlzLXZhbGlkLWlucHV0ICsgYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxYmY7IH1cbiAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5IHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMnB4KTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRhNmQ0O1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcxNTZhO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseTphY3RpdmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MWJmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MWJmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHk6ZGlzYWJsZWQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5hcHBseS5kaXNhYmxlZCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5W2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmRpc2FibGVkOmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LmFwcGx5OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQuYXBwbHkgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLnN1bW1hcnktaW5wdXQtc3VibWl0LnJlbW92ZSB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTJweCk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2MwMDAwMDtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICAgIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlLmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6YWN0aXZlLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjgxYmY7XG4gICAgICBib3JkZXItY29sb3I6ICMxMjgxYmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6ZGlzYWJsZWQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUuZGlzYWJsZWQsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmVbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlOmRpc2FibGVkOmhvdmVyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuc3VtbWFyeS1pbnB1dC1zdWJtaXQucmVtb3ZlLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmU6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5zdW1tYXJ5LWlucHV0LXN1Ym1pdC5yZW1vdmUgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQge1xuICAgIC0tZm9udC1mYW1pbHk6IEZvbnQgQXdlc29tZSBTb2xpZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDAgMTBweDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBwYWRkaW5nOiAzNXB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0OmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0OmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB7XG4gICAgICAgIGdhcDogMCAxNXB4OyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcbiAgICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQucHJlc2V0LTEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5wcmVzZXQtMiB7XG4gICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5wcmVzZXQtMiB7XG4gICAgICAgICAgcGFkZGluZzogMTVweCA2NXB4OyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5wcmVzZXQtMyB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQucHJlc2V0LTMge1xuICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzEyODExZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3M6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3M6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMxMjgxMWY7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIGgxLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIGgyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIGgzLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIGg0LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIGg1LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIGg2LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5zdWNjZXNzIHAsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3MgYSB7XG4gICAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQud2FybmluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZmU2O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmc6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmc6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIGgxLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIGgyLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIGgzLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIGg0LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIGg1LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIGg2LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIHAsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgYSB7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoMSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGgzLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBoNCwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgaDUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmFsZXJ0IGg2LCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBwLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5hbGVydCBhIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5kaXNhYmxlZCBwIHtcbiAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmluZm9ybWF0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dC5pbmZvcm1hdGlvbjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLvgZpcIjsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQuaW5mb3JtYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0LmluZm9ybWF0aW9uIHAge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lmljb24tbm9uLXJldHVybmFibGUge1xuICAgICAgLS1mb250LWZhbWlseTogZm9udGVsbG87IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0Lmljb24tbm9uLXJldHVybmFibGU6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLuoZNcIjsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IC51c2VyLWZyaWVuZGx5LXByZWZpeCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0ID4gcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDE1cHggYXV0byAwO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAge1xuICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUge1xuICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRib2R5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkgdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCB0YWJsZS5uby13cmFwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgZ2FwOiAxNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZSB7XG4gICAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpiZWZvcmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXSwgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvoblcIjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDAgNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5zdW1tYXJ5LWl0ZW0taW5wdXQtY29udGFpbmVyIC5jYWxsb3V0IHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgLmNhbGxvdXQgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciAuY2FsbG91dCA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDI0cHg7IH0gfVxuXG4uc3VtbWFyeS1pdGVtLWlucHV0LWNvbnRhaW5lciArIC53YXJuaW5nLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLndhcm5pbmctY29udGFpbmVyIHtcbiAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG4gIC53YXJuaW5nLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI2Jhc2tldC1jb250cm9scyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAyMHB4IDAgMzVweDtcbiAgZ2FwOiAxNXB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAjYmFza2V0LWNvbnRyb2xzIHtcbiAgICAgIG1hcmdpbjogMjVweCAwIDUwcHg7XG4gICAgICBnYXA6IDE1cHggMDsgfSB9XG4gICNiYXNrZXQtY29udHJvbHMgLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBnYXA6IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5idXR0b25zLWNvbnRhaW5lciBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDEwcHggMzBweCk7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpob3ZlciwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhO1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzE1NmE7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpob3ZlcjphZnRlciwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5ob3ZlcjphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQ6YWN0aXZlLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmRpc2FibGVkLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmRpc2FibGVkLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0W2Rpc2FibGVkXSB7XG4gICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmRpc2FibGVkOmFmdGVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0LmRpc2FibGVkOmFmdGVyLCAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0W2Rpc2FibGVkXTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldDpkaXNhYmxlZDpob3ZlciwgI2Jhc2tldC1jb250cm9scyAudXBkYXRlLWJhc2tldC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmZvY3VzLXZpc2libGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgICAjYmFza2V0LWNvbnRyb2xzIC51cGRhdGUtYmFza2V0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74ChXCI7XG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLnVwZGF0ZS1iYXNrZXQgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0IHtcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxMHB4IDMwcHgpO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqL1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1sYXJnZS1tYXJnaW4sIDApOyB9IH1cbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmhvdmVyLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuaG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcxNTZhO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpob3ZlcjphZnRlciwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDphY3RpdmUsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldC5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmRpc2FibGVkLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuZGlzYWJsZWQsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldFtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmRpc2FibGVkOmFmdGVyLCAjYmFza2V0LWNvbnRyb2xzIC5lbXB0eS1iYXNrZXQuZGlzYWJsZWQ6YWZ0ZXIsICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldFtkaXNhYmxlZF06YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpkaXNhYmxlZDpob3ZlciwgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldDpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgI2Jhc2tldC1jb250cm9scyAuZW1wdHktYmFza2V0OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74utXCI7XG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICNiYXNrZXQtY29udHJvbHMgLmVtcHR5LWJhc2tldCAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4ucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWdyb3c6IDE7XG4gIGdhcDogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGdhcDogMTVweDsgfSB9XG4gIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmNvbnRyb2wuc2VhcmNoIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmNvbnRyb2wuc2VhcmNoIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQxNXB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIC5jb250cm9sLnNlYXJjaCBpbnB1dCB7XG4gICAgICAgICAgd2lkdGg6IDMwNXB4OyB9IH1cbiAgICAucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIgLnNlYXJjaC1jb250YWluZXIgLmlucHV0LXByZWZpeC1pY29uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICAgIC5xdWljay1vcmRlci1mb3JtLWNvbnRhaW5lciAuc2VhcmNoLWNvbnRhaW5lciAuaW5wdXQtcHJlZml4LWljb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLnF1aWNrLW9yZGVyLWZvcm0tY29udGFpbmVyIC5zZWFyY2gtY29udGFpbmVyIC5mb3JtLWVycm9yIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uYmFza2V0LXRvdGFsLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTgsIDEyOSwgMTkxLCAwLjgpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5iYXNrZXQtdG90YWwtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi5iYXNrZXQtdG90YWwtc3RpY2t5LWNvbnRhaW5lciB7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAxMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJhc2tldC10b3RhbC1zdGlja3ktY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAuc3VtbWFyeS1zdGlja3ktY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnN1bW1hcnktc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDMxMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cblxuI2Jhc2tldC1zdW1tYXJ5LCAuc3VtbWFyeS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiA0MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LCAuc3VtbWFyeS1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiB1bnNldDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjYmFza2V0LXN1bW1hcnksIC5zdW1tYXJ5LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMzEwcHg7XG4gICAgICBtYXJnaW46IDAgMCAwIGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LmlzLXN0dWNrLCAuc3VtbWFyeS1jb250YWluZXIuaXMtc3R1Y2sge1xuICAgICAgcG9zaXRpb246IGZpeGVkOyB9IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LmlzLXN0dWNrOm5vdCgubm8tYW5pbWF0ZSksIC5zdW1tYXJ5LWNvbnRhaW5lci5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpIHtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC42czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Jhc2tldC1zdW1tYXJ5LmlzLWFuY2hvcmVkLCAuc3VtbWFyeS1jb250YWluZXIuaXMtYW5jaG9yZWQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LmlzLWFuY2hvcmVkLmlzLWF0LXRvcCwgLnN1bW1hcnktY29udGFpbmVyLmlzLWFuY2hvcmVkLmlzLWF0LXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5pcy1hbmNob3JlZDpub3QoLm5vLWFuaW1hdGUpLCAuc3VtbWFyeS1jb250YWluZXIuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuOHM7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICN2b3VjaGVyLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0xICN2b3VjaGVyLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNnb29kcy1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI2dvb2RzLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiAzOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdm91Y2hlci1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI2RlbGl2ZXJ5LXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA1OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdG90YWwtdmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjdG90YWwtdmFsdWUge1xuICAgIG9yZGVyOiA2O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMSAjdG90YWwtdmFsdWU6YmVmb3JlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmFmdGVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3RvdGFsLXZhbHVlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI25ldC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI25ldC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNzsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3ZhdC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3ZhdC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogODsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgI3ZhdC1pbnB1dC1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjdmF0LWlucHV0LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDk7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNlZGl0LWJhc2tldC1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMSAjZWRpdC1iYXNrZXQtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTA7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0xICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgI3N1bW1hcnktd2FybmluZy1jb250YWluZXIge1xuICAgIG9yZGVyOiAxMTsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTEgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTEgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTI7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN2b3VjaGVyLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN2b3VjaGVyLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICNnb29kcy1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI2dvb2RzLXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiAzOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdm91Y2hlci1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICNkZWxpdmVyeS1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI2RlbGl2ZXJ5LXN1bW1hcnktdmFsdWUge1xuICAgIG9yZGVyOiA1OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjdG90YWwtdmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjdG90YWwtdmFsdWUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3JkZXI6IDg7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3RvdGFsLXZhbHVlOmJlZm9yZSwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICN0b3RhbC12YWx1ZTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2FlYWVhZTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3JkZXI6IDY7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICNuZXQtc3VtbWFyeS12YWx1ZTpiZWZvcmUsIC5zdW1tYXJ5LWNvbnRhaW5lci5wcmVzZXQtMiAjbmV0LXN1bW1hcnktdmFsdWU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCAxcHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjYmFza2V0LXN1bW1hcnkucHJlc2V0LTIgI3ZhdC1zdW1tYXJ5LXZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3ZhdC1zdW1tYXJ5LXZhbHVlIHtcbiAgICBvcmRlcjogNztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yICN2YXQtaW5wdXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI3ZhdC1pbnB1dC1jb250YWluZXIge1xuICAgIG9yZGVyOiA5OyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjZWRpdC1iYXNrZXQtY29udGFpbmVyLCAuc3VtbWFyeS1jb250YWluZXIucHJlc2V0LTIgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEwOyB9XG4gICNiYXNrZXQtc3VtbWFyeS5wcmVzZXQtMiAjc3VtbWFyeS13YXJuaW5nLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTE7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5LnByZXNldC0yIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciwgLnN1bW1hcnktY29udGFpbmVyLnByZXNldC0yIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDEyOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAuYmFza2V0LXN1bW1hcnktaGVhZGluZywgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWhlYWRpbmcsIC5zdW1tYXJ5LWNvbnRhaW5lciAuYmFza2V0LXN1bW1hcnktaGVhZGluZywgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWhlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pbnRyby1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pbnRyby1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaW50cm8tY29udGFpbmVyIHAsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pbnRyby1jb250YWluZXIgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0sIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0uaGlnaGxpZ2h0ZWQsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtLmhpZ2hsaWdodGVkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIHNwYW4sIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLnZhbHVlLCAjYmFza2V0LXN1bW1hcnkgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuLnZhbHVlLCAuc3VtbWFyeS1jb250YWluZXIgLnN1bW1hcnktaXRlbSBzcGFuLmxhYmVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIHNwYW4ubGFiZWwsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIHNwYW4ubGFiZWwge1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgI2Jhc2tldC1zdW1tYXJ5IC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSwgLnN1bW1hcnktY29udGFpbmVyIC5zdW1tYXJ5LWl0ZW0gc3Bhbi52YWx1ZSB7XG4gICAgICAgIG1heC13aWR0aDogNDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICNiYXNrZXQtc3VtbWFyeSAuc3VtbWFyeS1pdGVtIC5pbmNWYXQsIC5zdW1tYXJ5LWNvbnRhaW5lciAuc3VtbWFyeS1pdGVtIC5pbmNWYXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAjYmFza2V0LXN1bW1hcnkgI3RvdGFsLXZhbHVlIC5sYWJlbCwgI2Jhc2tldC1zdW1tYXJ5ICN0b3RhbC12YWx1ZSAudmFsdWUsIC5zdW1tYXJ5LWNvbnRhaW5lciAjdG90YWwtdmFsdWUgLmxhYmVsLCAuc3VtbWFyeS1jb250YWluZXIgI3RvdGFsLXZhbHVlIC52YWx1ZSB7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgI2Jhc2tldC1zdW1tYXJ5ICNlZGl0LWJhc2tldC1jb250YWluZXIsIC5zdW1tYXJ5LWNvbnRhaW5lciAjZWRpdC1iYXNrZXQtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAzMHB4IDdweCAwIDA7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5ICNlZGl0LWJhc2tldC1jb250YWluZXI6YWZ0ZXIsIC5zdW1tYXJ5LWNvbnRhaW5lciAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74qRXCI7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5ICNlZGl0LWJhc2tldC1jb250YWluZXI6aG92ZXIsIC5zdW1tYXJ5LWNvbnRhaW5lciAjZWRpdC1iYXNrZXQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICAgI2Jhc2tldC1zdW1tYXJ5ICNlZGl0LWJhc2tldC1jb250YWluZXI6YWN0aXZlLCAuc3VtbWFyeS1jb250YWluZXIgI2VkaXQtYmFza2V0LWNvbnRhaW5lcjphY3RpdmUge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjZGVsaXZlcnktc2VsZWN0b3Ige1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4jZGVsaXZlcnktc2VsZWN0b3Igc2VsZWN0LCAjZGVsaXZlcnktc2VsZWN0b3IgbGFiZWwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4jZGVsaXZlcnktc2VsZWN0b3IgLmRlbGl2ZXJ5LWxhYmVsIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2RlbGl2ZXJ5LXNlbGVjdG9yIC5kZWxpdmVyeS1zZXJ2aWNlLCAjZGVsaXZlcnktc2VsZWN0b3IgLmRlbGl2ZXJ5LWFyZWEge1xuICAgIHdpZHRoOiA0MDVweDtcbiAgICBtYXJnaW46IDAgMCAwIGF1dG87IH0gfVxuXG4jZGVsaXZlcnktc2VsZWN0b3IgLmRlbGl2ZXJ5LXNlcnZpY2UuZGlzYWJsZWQge1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLmxpbmstZmFpbGVkLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGluay1mYWlsZWQtY29udGFpbmVyIC5saW5rLWZhaWxlZC1oZWFkaW5nIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIGNvbG9yOiAjZmYwMTAxO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAubGluay1mYWlsZWQtY29udGFpbmVyIC5wcmltYXJ5LWJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGDXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uY3VzdG9tZXItYXNzZXRzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gpVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmJyYW5jaC1zd2l0Y2hlcjpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmFjY291bnQtc3dpdGNoZXI6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCAXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ubWFuYWdlLWNhbGxzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gnlwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmNoYW5nZS1kZXRhaWxzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tNDpiZWZvcmUge1xuICBjb250ZW50OiBcIu6ggVwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmNvbnRhY3QtcHJlZmVyZW5jZXM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi01OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCFXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uY29udHJhY3QtaXRlbXM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi02OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCGXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uc2VydmljZS1jb250cmFjdHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi03OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGAXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uc29mdHdhcmUtZGV2ZWxvcG1lbnQtbG9nczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTg6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYVcIjtcbiAgY29sb3I6ICM2NjMzOTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tOTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hgVwiO1xuICBjb2xvcjogIzY2MzM5OTsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5vbmxpbmUtZG9jdW1lbnRhdGlvbjpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTEwOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoYRcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mYXZvdXJpdGVzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTE6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIRcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5sb2dvdXQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xMzpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gilwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnZpZXctb3JkZXJzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMTU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoI5cIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5jaGFuZ2UtcGFzc3dvcmQ6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xNjpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gglwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLm1hbmFnZS1jYXJkczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCMXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ucGF5bWVudC1yZXF1ZXN0czpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTE4OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCmXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZG93bmxvYWQtcHJpY2UtbGlzdHM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0xOTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hulwiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLnJlY2VudGx5LXB1cmNoYXNlZDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTIxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCPXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uc2l0ZS1saXN0OmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjI6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoL9cIjtcbiAgY29sb3I6ICM1ZjdiMjc7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uc3RhdGVtZW50OmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoIdcIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5oaXN0b3JpY2FsLXRyYW5zYWN0aW9uczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI1OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qCJXCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0udXBsb2FkLWJhc2tldDpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI2OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC2XCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0udXBsb2FkLW9yZGVyczpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTI3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC1XCI7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ubWFuYWdlLXVzZXJzOmJlZm9yZSwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMjg6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoI1cIjsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5lbXBsb3llZS1zdGF0dXM6YmVmb3JlLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0yOTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hi1wiOyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZTpiZWZvcmUsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTMwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qGCXCI7XG4gIGNvbG9yOiAjNjYzMzk5OyB9XG5cbi5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTMxOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74W6XCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBCcmFuZHNcIjtcbiAgY29sb3I6ICMzMzY2OTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzI6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoZJcIjtcbiAgY29sb3I6ICMzMzY2OTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzM6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoKVcIjtcbiAgY29sb3I6ICMzMzY2OTk7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0uZnVuY3Rpb24tMzQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgYtcIjtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBmb250LXNpemU6IDE3cHg7XG4gIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIFtjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zNTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6hgVwiO1xuICBjb2xvcjogIzY2MzM5OTsgfVxuXG4ubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyAuYWNjb3VudC1wYWdlIGEge1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIC5hY2NvdW50LXBhZ2UgYSAucGFnZS1pY29uIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgICAgLm1lbnUgLmFjY291bnQtbWVudS1zZWN0aW9ucyAuYWNjb3VudC1wYWdlIGEgLnBhZ2UtaWNvbi5jaGFuZ2UtcGFzc3dvcmQsIC5tZW51IC5hY2NvdW50LW1lbnUtc2VjdGlvbnMgLmFjY291bnQtcGFnZSBhIC5wYWdlLWljb24uZnVuY3Rpb24tMTYge1xuICAgICAgICBmb250LXNpemU6IDUuMzMzMzNweDsgfVxuICAubWVudSAuYWNjb3VudC1tZW51LXNlY3Rpb25zIC5hY2NvdW50LW1lbnUtaGVhZGluZy1jb250YWluZXIge1xuICAgIG1hcmdpbjogNXB4IDAgMTBweDsgfVxuXG4uYWNjb3VudC1tZW51LWhlYWRpbmctY29udGFpbmVyIHtcbiAgbWFyZ2luOiAzNXB4IDAgMjBweDsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuY2VsbCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSB7XG4gIGhlaWdodDogMTAwJTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2Uuc2l0ZS1zdHlsZSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIGEge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAzMHB4O1xuICAgIHBhZGRpbmc6IDE5cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjNmM2YzO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmOyB9XG4gICAgICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIGE6aG92ZXIgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBhOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2Ugc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgIGZsZXg6IDE7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2Ugc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZTpob3ZlciBzcGFuW2NsYXNzKj1cIi1pY29uXCJdLmZ1bmN0aW9uLTM0OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgY29sb3IgMC42czsgfVxuXG4uYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ge1xuICBmb250LXNpemU6IDMwcHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmNoYW5nZS1wYXNzd29yZCwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTE2IHtcbiAgICBmb250LXNpemU6IDhweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uY2hhbmdlLWRldGFpbHMsIC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbi5mdW5jdGlvbi00IHtcbiAgICBmb250LXNpemU6IDI1cHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLm1hbmFnZS1jYXJkcywgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTE3IHtcbiAgICBmb250LXNpemU6IDIzcHg7IH1cbiAgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCwgLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIgLmFjY291bnQtcGFnZSAucGFnZS1pY29uLmZ1bmN0aW9uLTkge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkLCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tMzUge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24ubG9nb3V0LCAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciAuYWNjb3VudC1wYWdlIC5wYWdlLWljb24uZnVuY3Rpb24tMjkge1xuICAgIGZvbnQtc2l6ZTogMjVweDsgfVxuXG4uYWNjb3VudC1tZW51IC5hY2NvdW50LW1lbnUtaXRlbXMtY29udGFpbmVyIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbiB7XG4gIGZvbnQtc2l6ZTogMjBweDsgfVxuXG4uYWNjb3VudC1tZW51IGgyIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmFjY291bnQtbWVudSBoMiB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAuYWNjb3VudC1wYWdlIHtcbiAgcGFkZGluZzogMCAwIDIwcHg7IH1cbiAgI2FjY291bnQtcGFnZS1ncmlkIC5hY2NvdW50LXBhZ2UgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMzVweCAyMHB4IDMwcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY2hhbmdlLWRldGFpbHM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmNoYW5nZS1wYXNzd29yZDpiZWZvcmUge1xuICBmb250LXNpemU6IDEzcHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uY29udHJhY3QtaXRlbXM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmZhdm91cml0ZXM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLnZpZXctb3JkZXJzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNTVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5yZWNlbnRseS1wdXJjaGFzZWQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm1hbmFnZS1jYXJkczpiZWZvcmUge1xuICBmb250LXNpemU6IDM1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uc3RhdGVtZW50OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5tYW5hZ2UtdXNlcnM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA1NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmJyYW5jaC1zd2l0Y2hlcjpiZWZvcmUsICNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmFjY291bnQtc3dpdGNoZXI6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2MHB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmNvbnRhY3QtcHJlZmVyZW5jZXM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA2MHB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmhpc3RvcmljYWwtdHJhbnNhY3Rpb25zOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNjBweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi51cGxvYWQtYmFza2V0OmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi51cGxvYWQtb3JkZXJzOmJlZm9yZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5sb2dvdXQ6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLm1hbmFnZS1jYWxsczpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uc2VydmljZS1jb250cmFjdHM6YmVmb3JlIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmN1c3RvbWVyLWFzc2V0czpiZWZvcmUge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24ucGF5bWVudC1yZXF1ZXN0cyB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5kb3dubG9hZC1wcmljZS1saXN0cyB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5zaXRlLWxpc3Qge1xuICBmb250LXNpemU6IDQ1cHg7IH1cblxuI2FjY291bnQtcGFnZS1ncmlkIC5wYWdlLWljb24uZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkIHtcbiAgZm9udC1zaXplOiA0NXB4OyB9XG5cbiNhY2NvdW50LXBhZ2UtZ3JpZCAucGFnZS1pY29uLmRpcGxvbWF0LXVwZGF0ZS1kYXRhYmFzZSB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4jYWNjb3VudC1wYWdlLWdyaWQgLnBhZ2UtaWNvbi5vbmxpbmUtZG9jdW1lbnRhdGlvbiB7XG4gIGZvbnQtc2l6ZTogNDVweDsgfVxuXG4uYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWNjb3VudC1zb3J0aW5nLW9wdGlvbnMge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG4gIC5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyAuc29ydC1vcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMTVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbi5icmFuY2gtZmlsdGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0OTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbi5icmFuY2gtZmlsdGVyIHNlbGVjdCwgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbi5icmFuY2gtZmlsdGVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgICAgIHdpZHRoOiAzMDBweDsgfSB9XG4gICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbi5icmFuY2gtZmlsdGVyIC50b29sdGlwLWNvbnRhaW5lciB7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbi5wYWdpbmF0aW9uIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmFjY291bnQtc29ydGluZy1vcHRpb25zIC5zb3J0LW9wdGlvbiAubGFiZWwsIC5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyAuc29ydC1vcHRpb24gLnBhZ2luYXRpb25MYWJlbCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLmFjY291bnQtYnV0dG9ucy1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWNjb3VudC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMjM1cHg7IH0gfVxuICAuYWNjb3VudC1idXR0b25zLWNvbnRhaW5lci5jZW50ZXItYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ub3JkZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAub3JkZXItY29udGFpbmVyICsgLnJlc3BvbnNpdmUtdGFicyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgKyAucmVzcG9uc2l2ZS10YWJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfSB9XG4gIC5vcmRlci1jb250YWluZXIucGF5bWVudC1jb25maXJtYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyLnBheW1lbnQtY29uZmlybWF0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lci5wYXltZW50LWNvbmZpcm1hdGlvbiAub3JkZXItZGV0YWlscy1jb250YWluZXIgLm9yZGVyLWRldGFpbHMsIC5vcmRlci1jb250YWluZXIucGF5bWVudC1jb25maXJtYXRpb24gLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIC5vcmRlci1kZWxpdmVyeSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5vcmRlci1jb250YWluZXIucHJlc2V0LTEgI29yZGVyLXRhYmxlIHtcbiAgICAgIHdpZHRoOiA5NzBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5vcmRlci1jb250YWluZXIucHJlc2V0LTEgI29yZGVyLXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sIHtcbiAgICAgIHdpZHRoOiAxNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWNvbnRhaW5lci5wcmVzZXQtMSAjb3JkZXItdGFibGUgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICB3aWR0aDogNTE1cHg7IH0gfVxuICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkOm5vdCguYmFza2V0LWRlc2NyaXB0aW9uLWNvbCksIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRoOm5vdCguYmFza2V0LWRlc2NyaXB0aW9uLWNvbCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlLnJlYWQtb25seSB0ZC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUucmVhZC1vbmx5IHRkLmFkZC10by1iYXNrZXQtY29sIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSB7XG4gICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0gfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSBwIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZS5yZWFkLW9ubHkgdGQuYmFza2V0LXF1YW50aXR5IC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUucmVhZC1vbmx5IHRkLmJhc2tldC1xdWFudGl0eSAubGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTsgfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIHtcbiAgICAgICAgd2lkdGg6IDE3NXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCAyMHB4IDAgMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wgLmltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA0MHB4IDAgMDsgfSB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBhIHtcbiAgICAgICAgICB3aWR0aDogMTU1cHg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgYSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMzJweDtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTU1cHg7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YzZjNmMzsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIC5pbWFnZSBpbWcge1xuICAgICAgICAgICAgICB3aWR0aDogMTMycHg7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDIgc3BhbjsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcbiAgICAgIG1pbi13aWR0aDogNDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBnYXA6IDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xuICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgcGFkZGluZzogMjVweCAwOyB9IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMDBweDsgfSB9XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuZGVzY3JpcHRpb246aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5kZXNjcmlwdGlvbjphY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCAuc3RvY2staW5kaWNhdG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4OyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGNvbG9yOiByZ2JhKDE0OSwgMTQ5LCAxNDksIDAuNik7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIC5zdG9ja1dhcm5pbmcuYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwgLnN0b2NrV2FybmluZyBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5zdWJzaWRpYXJ5LWRlc2NyaXB0aW9uIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAubm9uLXJldHVybmFibGUtZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAubm9uLXJldHVybmFibGUtZGVzY3JpcHRpb246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCLuoZNcIjtcbiAgICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1jb2RlLWNvbCB7XG4gICAgICAgIHdpZHRoOiAxMCU7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcHJpY2UtY29sLCAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNSU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAudmF0LXJhdGUtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXByaWNlLWNvbCB7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1wcmljZS1jb2wge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmFkZC10by1iYXNrZXQtY29sIHtcbiAgICAgICAgd2lkdGg6IDE1JTsgfSB9XG4gICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXF1YW50aXR5IHtcbiAgICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLmxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtcXVhbnRpdHkgLmlucHV0LW51bWJlci1ncm91cCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1xdWFudGl0eSAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSAuYmFza2V0LXN1Yi10b3RhbCB7XG4gICAgICAgIHdpZHRoOiAxMSU7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXQtc3ViLXRvdGFsIHNwYW4ge1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1zdWItdG90YWwgc3BhbiB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIHRkLmJhc2tldC1zdWItdG90YWwtY29sIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBvcmRlcjogNDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1yZW1vdmUtY29sIHtcbiAgICAgICAgd2lkdGg6IDUlOyB9IH1cbiAgICAub3JkZXItY29udGFpbmVyICNvcmRlci10YWJsZSB0ZC5iYXNrZXQtcmVtb3ZlLWNvbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgb3JkZXI6IDY7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgdGQuYmFza2V0LXJlbW92ZS1jb2wge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH0gfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5yZW1vdmUtYnV0dG9uIHtcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5vcmRlci1jb250YWluZXIgI29yZGVyLXRhYmxlIC5iYXNrZXRVcGRhdGVSb3cge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5NTk1OTU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1pdGVtLXJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCkgbWlubWF4KDEyMHB4LCBtYXgtY29udGVudCk7XG4gICAgICAgIGdhcDogNXB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm9yZGVyLWNvbnRhaW5lciAjb3JkZXItdGFibGUgLmJhc2tldC1pdGVtLXJvdyB0ZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsgfSB9XG4gIC5vcmRlci1jb250YWluZXIgI2Jhc2tldC1zdW1tYXJ5IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm9yZGVyLWNvbnRhaW5lciAjYmFza2V0LXN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi5vcmRlci1kZXRhaWxzLCAub3JkZXItZGVsaXZlcnksIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNXB4IDA7XG4gIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9yZGVyLWRldGFpbHMsIC5vcmRlci1kZWxpdmVyeSwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAzMHB4IDQwcHg7IH0gfVxuICAub3JkZXItZGV0YWlscy5pbmxpbmUsIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUsIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyLmlubGluZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEwcHggMjBweDsgfVxuICAgIC5vcmRlci1kZXRhaWxzLmlubGluZSAub3JkZXItZGV0YWlsLWhlYWRpbmcsIC5vcmRlci1kZWxpdmVyeS5pbmxpbmUgLm9yZGVyLWRldGFpbC1oZWFkaW5nLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5pbmxpbmUgLm9yZGVyLWRldGFpbC1oZWFkaW5nIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vcmRlci1kZXRhaWxzLmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gc3BhbiwgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gc3BhbiwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfSB9XG4gICAgLm9yZGVyLWRldGFpbHMuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzLCAub3JkZXItZGVsaXZlcnkuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGdhcDogNXB4OyB9XG4gICAgICAub3JkZXItZGV0YWlscy5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mgc3BhbiwgLm9yZGVyLWRlbGl2ZXJ5LmlubGluZSAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gYWRkcmVzcyBzcGFuLCAuZW5xdWlyeS1kZXRhaWxzLWNvbnRhaW5lci5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mgc3BhbiB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgICAub3JkZXItZGV0YWlscy5pbmxpbmUgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IGFkZHJlc3Mgc3Bhbjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyLCAub3JkZXItZGVsaXZlcnkuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHNwYW46bm90KDpsYXN0LWNoaWxkKTphZnRlciwgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIuaW5saW5lIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBhZGRyZXNzIHNwYW46bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJywnO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAub3JkZXItZGV0YWlscy5wYXllci1kZXRhaWxzLCAub3JkZXItZGVsaXZlcnkucGF5ZXItZGV0YWlscywgLmVucXVpcnktZGV0YWlscy1jb250YWluZXIucGF5ZXItZGV0YWlscyB7XG4gICAgcGFkZGluZzogMjBweCAyMHB4OyB9XG5cbi5vcmRlci1kZXRhaWwtaGVhZGluZywgLm9yZGVyLWRlbGl2ZXJ5LWhlYWRpbmcsIC5lbnF1aXJ5LWRldGFpbHMtaGVhZGluZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAwIDAgNXB4O1xuICBtYXJnaW46IDAgMCAyNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAub3JkZXItZGV0YWlsLWhlYWRpbmcgaDMsIC5vcmRlci1kZWxpdmVyeS1oZWFkaW5nIGgzLCAuZW5xdWlyeS1kZXRhaWxzLWhlYWRpbmcgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAub3JkZXItZGV0YWlsLWhlYWRpbmcgYS5lZGl0LCAub3JkZXItZGVsaXZlcnktaGVhZGluZyBhLmVkaXQsIC5lbnF1aXJ5LWRldGFpbHMtaGVhZGluZyBhLmVkaXQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5kZXRhaWwtaXRlbS1jb250YWluZXIsIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5kZXRhaWwtaXRlbS1jb250YWluZXI6aGFzKD4gcDplbXB0eSksIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lcjpoYXMoPiBwOmVtcHR5KSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gc3BhbiwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyID4gc3BhbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kZXRhaWwtaXRlbS1jb250YWluZXIgPiBzcGFuLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgPiBzcGFuIHtcbiAgICAgICAgd2lkdGg6IDE3MHB4OyB9IH1cbiAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciA+IHAsIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciA+IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyID4gcCwgLmRlbGl2ZXJ5LWl0ZW0tY29udGFpbmVyID4gcCB7XG4gICAgICAgIGZsZXg6IDE7IH0gfVxuICAuZGV0YWlsLWl0ZW0tY29udGFpbmVyIGEsIC5kZWxpdmVyeS1pdGVtLWNvbnRhaW5lciBhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciBhZGRyZXNzLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIgYWRkcmVzcyB7XG4gICAgZmxleDogMTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjZmYwMTAxOyB9XG4gIC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wgLmN1cnJlbnQtcHJpY2Utc2F2aW5nIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIC5jdXJyZW50LXByaWNlLXNhdmluZyB7XG4gICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMzVweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCAuY3VycmVudC1wcmljZS1zYXZpbmc6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcZjBkZCc7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuXG4ub3JkZXItZGV0YWlscy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfSB9XG4gIC5vcmRlci1kZXRhaWxzLWNvbnRhaW5lciAuZ3JpZC14IHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMTBweCk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIC5ncmlkLXgge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgMjBweCk7IH0gfVxuXG4ucmVxdWlzaXRpb24tYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucmVxdWlzaXRpb24tYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7IH0gfVxuXG4ucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciAuY29udGFpbmVyLXJlZmVyZW5jZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciAuY29udGFpbmVyLXJlZmVyZW5jZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIgLmNvbnRhaW5lci1yZWZlcmVuY2Uge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4OyB9IH1cblxuLnVzZXJzLWZvdW5kLWNvdW50IHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC51c2Vycy1mb3VuZC1jb3VudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgLnVzZXJzLWZvdW5kLWNvdW50IHNwYW4ge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnVzZXJzLWZvdW5kLWNvdW50IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbiN1c2Vycy10YWJsZSB0ZCB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICN1c2Vycy10YWJsZSB0ZCAubGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjdXNlcnMtdGFibGUgdGQgLmxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiN1c2Vycy10YWJsZSB0ZC51c2Vycy1jb250YWN0LWNvbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbiN1c2Vycy10YWJsZSAudXNlcnMtYWNjb3VudC1jb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjdXNlcnMtdGFibGUgLnVzZXJzLWFjY291bnQtY29sIHtcbiAgICAgIHdpZHRoOiAyNSU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN1c2Vycy10YWJsZSAudXNlcnMtY29udGFjdC1jb2wge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN1c2Vycy10YWJsZSAudXNlcnMtZW1haWwtY29sIHtcbiAgICB3aWR0aDogMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWRlbGV0ZS1jb2wge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN1c2Vycy10YWJsZSAudXNlcnMtZGVsZXRlLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdXNlcnMtdGFibGUgLnVzZXJzLWRlbGV0ZS1jb2wgLnJlbW92ZS11c2VyLWJ1dHRvbiB7XG4gICAgbWFyZ2luOiBhdXRvOyB9IH1cblxuLnJlbW92ZS11c2VyLWJ1dHRvbiB7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucmVtb3ZlLXVzZXItYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnJlbW92ZS11c2VyLWJ1dHRvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74utXCI7XG4gICAgY29sb3I6ICM5NTk1OTU7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICBmb250LXNpemU6IDEuMTM2MzZyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAucmVtb3ZlLXVzZXItYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICM2NzE1NmE7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAucmVtb3ZlLXVzZXItYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDE0MTZmOyB9XG5cbi5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAyMHB4IGF1dG8gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1hbmFnZS11c2VyLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIC5wcmltYXJ5LWJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDAgMjBweCAwIGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1hbmFnZS11c2VyLWJ1dHRvbi1jb250YWluZXIgLnNlY29uZGFyeS1idXR0b24ge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tYW5hZ2UtdXNlci1idXR0b24tY29udGFpbmVyIC50ZXJ0aWFyeS1idXR0b24ge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuI3NlbGVjdC1icmFuY2hlcy10YWJsZSB7XG4gIG1heC13aWR0aDogODUwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IGF1dG87XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3NlbGVjdC1icmFuY2hlcy10YWJsZSAubGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNzZWxlY3QtYnJhbmNoZXMtdGFibGUgLmJyYW5jaC1jb2wge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjc2VsZWN0LWJyYW5jaGVzLXRhYmxlIC5icmFuY2gtY29sIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4OyB9IH1cbiAgI3NlbGVjdC1icmFuY2hlcy10YWJsZSB0ZC5icmFuY2gtY29sIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3NlbGVjdC1icmFuY2hlcy10YWJsZSAuYWxsb3ctbG9naW4tY29sIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAjdG9rZW5zLXRhYmxlLnBheW1lbnQgLmNhcmQtdHlwZS1jb2wge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN0b2tlbnMtdGFibGUucGF5bWVudCAuY2FyZC1udW1iZXItY29sIHtcbiAgICB3aWR0aDogMTgwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICN0b2tlbnMtdGFibGUucGF5bWVudCAuY2FyZC1leHBpcmUtZGF0ZS1jb2wge1xuICAgIHdpZHRoOiAyNDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI3Rva2Vucy10YWJsZS5wYXltZW50IC5jYXJkLXJlbW92ZS1jb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG4jdG9rZW5zLXRhYmxlLCAudG9rZW5zLXRhYmxlIHtcbiAgbWFyZ2luOiAwOyB9XG4gICN0b2tlbnMtdGFibGUgdHI6aG92ZXIgLmNhcmQtdHlwZTpiZWZvcmUsIC50b2tlbnMtdGFibGUgdHI6aG92ZXIgLmNhcmQtdHlwZTpiZWZvcmUge1xuICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmNhcmQtdHlwZS1jb2wsICN0b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkIC5jYXJkLW51bWJlci1jb2wsICN0b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkIC5leHBpcmUtZGF0ZSwgLnRva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmNhcmQtdHlwZS1jb2wsIC50b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkIC5jYXJkLW51bWJlci1jb2wsIC50b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkIC5leHBpcmUtZGF0ZSB7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICN0b2tlbnMtdGFibGUgdHIuY2FyZC1leHBpcmVkIC5leHBpcmUtZGF0ZSwgLnRva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQgLmV4cGlyZS1kYXRlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAjdG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuY2FyZC10eXBlLWNvbCwgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQ6aG92ZXIgLmNhcmQtbnVtYmVyLWNvbCwgI3Rva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQ6aG92ZXIgLmV4cGlyZS1kYXRlLCAudG9rZW5zLXRhYmxlIHRyLmNhcmQtZXhwaXJlZDpob3ZlciAuY2FyZC10eXBlLWNvbCwgLnRva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQ6aG92ZXIgLmNhcmQtbnVtYmVyLWNvbCwgLnRva2Vucy10YWJsZSB0ci5jYXJkLWV4cGlyZWQ6aG92ZXIgLmV4cGlyZS1kYXRlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAjdG9rZW5zLXRhYmxlIHRkLCAudG9rZW5zLXRhYmxlIHRkIHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAjdG9rZW5zLXRhYmxlIC5jYXJkLXNlbGVjdC1jb2wgLnJhZGlvLCAudG9rZW5zLXRhYmxlIC5jYXJkLXNlbGVjdC1jb2wgLnJhZGlvIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3Rva2Vucy10YWJsZSAuY2FyZC10eXBlLWNvbCwgLnRva2Vucy10YWJsZSAuY2FyZC10eXBlLWNvbCB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMDBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAjdG9rZW5zLXRhYmxlIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCwgLnRva2Vucy10YWJsZSAuY2FyZC1leHBpcmUtZGF0ZS1jb2wge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAjdG9rZW5zLXRhYmxlIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCwgLnRva2Vucy10YWJsZSAuY2FyZC1leHBpcmUtZGF0ZS1jb2wge1xuICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gICN0b2tlbnMtdGFibGUgLmV4cGlyZS1kYXRlLCAudG9rZW5zLXRhYmxlIC5leHBpcmUtZGF0ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3Rva2Vucy10YWJsZSAuZXhwaXJlLWRhdGUsIC50b2tlbnMtdGFibGUgLmV4cGlyZS1kYXRlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3Rva2Vucy10YWJsZSAuY2FyZC1yZW1vdmUtY29sLCAudG9rZW5zLXRhYmxlIC5jYXJkLXJlbW92ZS1jb2wge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZy1yaWdodDogMjAwcHg7IH0gfVxuICAjdG9rZW5zLXRhYmxlIC5zZWxlY3RlZC1jYXJkLCAudG9rZW5zLXRhYmxlIC5zZWxlY3RlZC1jYXJkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ubm8tdG9rZW5zLWZvdW5kIHtcbiAgbWFyZ2luOiA1MHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5uby10b2tlbnMtZm91bmQge1xuICAgICAgbWFyZ2luOiAxMDBweCAwOyB9IH1cbiAgLm5vLXRva2Vucy1mb3VuZCAubm8tdG9rZW5zLWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CnVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgZm9udC1zaXplOiA0LjA2MjVyZW07XG4gICAgY29sb3I6ICNkYWRhZGE7IH1cblxuLnBheW1lbnQtZGV0YWlscy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiA2MHZoO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLm1vZGFsLWNvbnRhaW5lclt0eXBlPXNlbGVjdC1wYXltZW50XSAjcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3BheW1lbnQtYWRkLW5ldy1jYXJkLWZvcm0ge1xuICBtYXgtd2lkdGg6IDY0MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiBhdXRvOyB9XG4gICNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIGZpZWxkc2V0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAjcGF5bWVudC1hZGQtbmV3LWNhcmQtZm9ybSAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5zYXZlLWNhcmQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNhdmUtY2FyZC1jb250YWluZXIgLmNvbnRyb2wuY2hlY2tib3gge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5zYXZlLWNhcmQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuI3BheW1lbnQtZnJhbWUge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyOiAwOyB9XG5cbi5zdGF0ZW1lbnQtbGlzdC1jb250YWluZXIuaW4tYWN0aXZlLCAuc3RhdGVtZW50LXBheS1jb250YWluZXIuaW4tYWN0aXZlLCAuYWNjb3VudC1wYXktY29udGFpbmVyLmluLWFjdGl2ZSB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGhlaWdodCAwLjZzOyB9XG5cbi5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3RhdGVtZW50LWJhbGFuY2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAyJSAyMHB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIC5zdGF0ZW1lbnQtYmFsYW5jZS1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gICAgLnN0YXRlbWVudC1iYWxhbmNlLWNvbnRhaW5lciBwIHNwYW4ge1xuICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4OyB9XG5cbi5zdGF0ZW1lbnQtcGF5LWNvbnRhaW5lciwgLmFjY291bnQtcGF5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0YXRlbWVudC1wYXktY29udGFpbmVyLCAuYWNjb3VudC1wYXktY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMzBweCAwIDA7IH0gfVxuXG4uc3VtbWFyeS1jb250YWluZXIuc3RhdGVtZW50IC5zdW1tYXJ5LWhlYWRpbmcsIC5zdW1tYXJ5LWNvbnRhaW5lci5hY2NvdW50LXBheW1lbnQtc3VtbWFyeSAuc3VtbWFyeS1oZWFkaW5nIHtcbiAgbWFyZ2luOiAwIDAgNDBweDsgfVxuXG4udHJhbnNhY3Rpb24tdHlwZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRyYW5zYWN0aW9uLXR5cGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG5cbi5kaXJlY3QtZGViaXQtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmRpcmVjdC1kZWJpdC1pY29uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6hjlwiO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cblxudGFibGUuc2VydmljZS1jb250cmFjdHMge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuYnJhbmNoLWNvbCB7XG4gICAgICB3aWR0aDogNi4yJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAubmV4dC1kdWUtZGF0ZS1jb2wge1xuICAgICAgd2lkdGg6IDglO1xuICAgICAgcGFkZGluZzogMCAxMnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5kb2N1bWVudC1yZWZlcmVuY2UtY29sIHtcbiAgICAgIHdpZHRoOiA5JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAueW91ci1yZWZlcmVuY2UtY29sIHtcbiAgICAgIHdpZHRoOiAxMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLnNrdS1yZWZlcmVuY2UtY29sIHtcbiAgICAgIHdpZHRoOiAxMiU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmNvbnRyYWN0LXZhbHVlLWNvbCB7XG4gICAgICB3aWR0aDogOCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmNvbnRyYWN0LXR5cGUtY29sIHtcbiAgICAgIHdpZHRoOiAxMiU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgdGQuY29udHJhY3QtdHlwZS1jb2wge1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAuY29udHJhY3QtZ3JvdXAtY29sIHtcbiAgICAgIHdpZHRoOiA5LjglOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5mcmVxdWVuY3ktY29sIHtcbiAgICAgIHdpZHRoOiA4LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC5wYXltZW50LW1ldGhvZC1jb2wge1xuICAgICAgd2lkdGg6IDklOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLnNlcnZpY2UtY29udHJhY3RzIC50ZXJtaW5hdGlvbi1kYXRlLWNvbCB7XG4gICAgICB3aWR0aDogOCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2VydmljZS1jb250cmFjdHMgLmJhbGFuY2UtY29sIHtcbiAgICAgIHdpZHRoOiA3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAucmVuZXdhbC1jb2wge1xuICAgICAgd2lkdGg6IDUuNSU7IH0gfVxuICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAudHVicy1yZW5ldy1idXR0b24ge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICB0YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyAudHVicy1yZW5ldy1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTVweCAzNXB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAuaXRlbS1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAuaXRlbS1jb2wge1xuICAgIHdpZHRoOiA1JTsgfSB9XG5cbnRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAucmVmZXJlbmNlLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5yZWZlcmVuY2UtY29sIHtcbiAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAucmVmZXJlbmNlLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5yZWZlcmVuY2UtY29sIHtcbiAgICAgIHdpZHRoOiAxNCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLm9yZGVyLXN0YXR1cy10YWJsZSAuZGVzY3JpcHRpb24tY29sLCB0YWJsZS5vcmRlci1pbnZvaWNlLWVucXVpcnktdGFibGUgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgd2lkdGg6IDIzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIHRoLmRlc2NyaXB0aW9uLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIHRoLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgLmludm9pY2VzLWNvbCwgdGFibGUub3JkZXItc3RhdHVzLXRhYmxlIC5kZWxpdmVyaWVzLWNvbCwgdGFibGUub3JkZXItaW52b2ljZS1lbnF1aXJ5LXRhYmxlIC5pbnZvaWNlcy1jb2wsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSAuZGVsaXZlcmllcy1jb2wge1xuICAgIHdpZHRoOiAxMiU7IH0gfVxuXG50YWJsZS5vcmRlci1zdGF0dXMtdGFibGUgdWwsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC5pdGVtLWNvbCB7XG4gICAgd2lkdGg6IDYuOTUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC5yZWZlcmVuY2UtY29sIHtcbiAgICB3aWR0aDogMTMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC5xdWFudGl0eS1jb2wge1xuICAgIHdpZHRoOiAxNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmRlbGl2ZXJ5LWVucXVpcnktdGFibGUgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgd2lkdGg6IDI3JTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5kZWxpdmVyeS1lbnF1aXJ5LXRhYmxlIC5vdXItcmVmZXJlbmNlLWNvbCB7XG4gICAgd2lkdGg6IDE1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSAueW91ci1yZWZlcmVuY2UtY29sIHtcbiAgICB3aWR0aDogMTUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5jb250cmFjdHMtdGFibGUge1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLmNvbnRyYWN0cy10YWJsZSAuZGVzY3JpcHRpb24tY29sIHtcbiAgICB3aWR0aDogMzMlO1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxudGFibGUuY29udHJhY3RzLXRhYmxlIHRkLmRlc2NyaXB0aW9uLWNvbCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIC50eXBlLWNvbCwgdGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIC5kb2N1bWVudC1yZWZlcmVuY2UtY29sLCB0YWJsZS50cmFuc2FjdGlvbnMtdGFibGUgLnZhbHVlLWNvbCwgdGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIC5zdGF0dXMtY29sIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnRyYW5zYWN0aW9ucy10YWJsZSAuZGF0ZS1jb2wge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmFjY291bnQtcmV0dXJuLWJ1dHRvbiB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAxNXB4IDM1cHgpO1xuICBjb2xvcjogIzAxNDE2ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpob3ZlciwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5ob3ZlciB7XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiYmU4Zjc7XG4gICAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmFjY291bnQtcmV0dXJuLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuYWNjb3VudC1yZXR1cm4tYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmFjdGl2ZSwgLmFjY291bnQtcmV0dXJuLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC5hY2NvdW50LXJldHVybi1idXR0b246ZGlzYWJsZWQsIC5hY2NvdW50LXJldHVybi1idXR0b24uZGlzYWJsZWQsIC5hY2NvdW50LXJldHVybi1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5hY2NvdW50LXJldHVybi1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5hY2NvdW50LXJldHVybi1idXR0b24uZGlzYWJsZWQ6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAuYWNjb3VudC1yZXR1cm4tYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLnBheS1jb2wge1xuICAgIHdpZHRoOiA2LjIlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC5kYXRlLWNvbCB7XG4gICAgd2lkdGg6IDIwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAudGltZS1jb2wge1xuICAgIHdpZHRoOiA4LjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5wYXltZW50LXJlcXVlc3RzLXRhYmxlIC5yZWZlcmVuY2UtY29sIHtcbiAgICB3aWR0aDogMTguMSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnBheW1lbnQtcmVxdWVzdHMtdGFibGUgLmFtb3VudC1jb2wge1xuICAgIHdpZHRoOiAxMC44JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSAuY29udGFjdC1jb2wge1xuICAgIHdpZHRoOiAyNSU7IH0gfVxuXG4uc2l0ZS1saXN0LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zaXRlLWxpc3QtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDQwcHg7IH0gfVxuICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuYmVzcG9rZS1zaXRlLWljb24ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnNpdGUtbGlzdC1jb250YWluZXIgLmJlc3Bva2Utc2l0ZS1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu6goVwiO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWxvZ28ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAgIC5zaXRlLWxpc3QtY29udGFpbmVyIC5zaXRlLWxvZ286aG92ZXIge1xuICAgICAgb3BhY2l0eTogLjU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1sb2dvIC5pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBhc3BlY3QtcmF0aW86IDEgLyAxOyB9XG4gICAgICAuc2l0ZS1saXN0LWNvbnRhaW5lciAuc2l0ZS1sb2dvIC5pbWFnZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtZGVzY3JpcHRpb24gYTpob3ZlciB7XG4gICAgY29sb3I6ICM2NzE1NmE7IH1cbiAgLnNpdGUtbGlzdC1jb250YWluZXIgLnNpdGUtZGVzY3JpcHRpb24gYTphY3RpdmUge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXM6YmVmb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uc2l0ZS1saXN0LXB1Ymxpc2gtc3RhdHVzLnN1Y2Nlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgIxcIjtcbiAgY29sb3I6ICMxMjgxMWY7IH1cblxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cy5mYWlsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgapcIjtcbiAgY29sb3I6ICNiMjBjMGM7IH1cblxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cy51bmtub3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GZXCI7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMuY2FuY2VsbGVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74qNXCI7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5zaXRlLWxpc3QtcHVibGlzaC1zdGF0dXMuaW4tcHJvZ3Jlc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhJBcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICBhbmltYXRpb246IHNwaW5uZXIgMS41cyBsaW5lYXIgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBzcGlubmVyIHtcbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmRhdGEtdGltZS1jb250YWluZXIgLnRpbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGF0YS10aW1lLWNvbnRhaW5lciAudGltZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUucHVibGlzaC1oaXN0b3J5IC5kYXRhLXRpbWUtY29udGFpbmVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIHRib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4OyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIHRib2R5IHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0ZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGQuc2l0ZS1sb2dvLWNvbCB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRkIC5jb2wtbGFiZWwge1xuICB3aWR0aDogNDAlO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUucHJlc2V0LTEgdGJvZHkgdHIge1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlLnByZXNldC0xIHRib2R5IHRyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlLnByZXNldC0xIHRib2R5IHRyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgdGQgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgdGguc2l0ZS1sb2dvLWNvbCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIHRyLnN0YWdpbmctc2l0ZSAuc2l0ZS1sb2dvLWNvbCAuc2l0ZS1sb2dvIHtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMSk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wge1xuICAgIHdpZHRoOiAxMTJweDtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWxvZ28tY29sIGEge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCAuc2l0ZS1sb2dvIHtcbiAgaGVpZ2h0OiAxMjBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBwYWRkaW5nOiAzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wgLnNpdGUtbG9nbyB7XG4gICAgICB3aWR0aDogMTEwcHg7XG4gICAgICBtYXJnaW46IDJweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtbG9nby1jb2wgLnNpdGUtbG9nbyAuaW1hZ2UsIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1sb2dvLWNvbCAuc2l0ZS1sb2dvIGEge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbnRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCBociB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAxMHB4IDAgMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wgaHIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCAuc2l0ZS1kZXNjcmlwdGlvbiBhIHtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWRlc2NyaXB0aW9uLWNvbCAuc2l0ZS1kZXNjcmlwdGlvbiBhIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIC5zaXRlLWVudmlyb25tZW50IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtZGVzY3JpcHRpb24tY29sIC5zaXRlLWVudmlyb25tZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSB0aC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgdGQuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgdGQuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuc2l0ZS1kZXNjcmlwdGlvbiwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWVudmlyb25tZW50IHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5saWNlbnNlLWNvbCwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5wdWJsaXNoaW5nLWNvbCB7XG4gICAgd2lkdGg6IDExMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnN0YXJ0ZWQtY29sLCB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLmVuZGVkLWNvbCwgdGFibGUuc2l0ZS1saXN0LXRhYmxlIC5sYXN0LXRvdWNoLWNvbCB7XG4gICAgd2lkdGg6IDE0NXB4OyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5zaXRlLWJ1dHRvbnMtY29sIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAyMHB4O1xuICBtYXJnaW46IDMwcHggMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtYnV0dG9ucy1jb2wgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBnYXA6IDEwcHg7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG50YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtYnV0dG9ucy1jb2wgYnV0dG9uLCB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLnNpdGUtYnV0dG9ucy1jb2wgYSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIHRhYmxlLnNpdGUtbGlzdC10YWJsZSAuZGF0YS10aW1lLWNvbnRhaW5lciB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICB0YWJsZS5zaXRlLWxpc3QtdGFibGUgLmRhdGEtdGltZS1jb250YWluZXIgLnRpbWUge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxudGFibGUuc2l0ZS1saXN0LXRhYmxlIC5iZXNwb2tlLXNpdGUtaWNvbjpiZWZvcmUge1xuICBmb250LXNpemU6IDQ0cHg7IH1cblxuLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm94LXNoYWRvdyAwLjhzOyB9XG4gIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJveC1zaGFkb3cgMC42czsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyLnN0YWdpbmctc2l0ZSAuc2l0ZS1sb2dvIHtcbiAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxKTsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWxvZ28ge1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1sb2dvIC5pbWFnZSB7XG4gICAgICBwYWRkaW5nOiAzMHB4OyB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1sb2dvIC5pbWFnZSwgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1sb2dvIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWRlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWRlc2NyaXB0aW9uIGEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciBociB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMTVweDsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiA1cHggMDsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtb3B0aW9uID4gc3BhbiB7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtb3B0aW9uIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtb3B0aW9uICsgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuZGF0YS10aW1lLWNvbnRhaW5lciAudGltZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjBweDtcbiAgICBtYXJnaW46IDMwcHggMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuc2l0ZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5zaXRlLWxpc3QtY29udGVudC1jb250YWluZXIgLnNpdGUtYnV0dG9ucy1jb250YWluZXIgYnV0dG9uLCAuc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIGEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cbiAgLnNpdGUtbGlzdC1jb250ZW50LWNvbnRhaW5lciAuYmVzcG9rZS1zaXRlLWljb246YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDc0cHg7IH1cblxuLypcclxuLS0tLS0gQ01TIFN0eWxpbmcgLS0tLS0tIFxyXG4tIFN0eWxlIGZvciB0aGUgYWN0dWFsIGNtcyBwYWdlcyB0aGVtc2VsdmVzOlxyXG4gIC0gQ01TIEVudHJ5XHJcbiAgLSBCbG9nXHJcbiAgLSBOZXdzXHJcbiAgLSBFdmVudHNcclxuICAtIENNUyBTZXJpZXNcclxuLSBDTVMgZW50cnkgY29udHJvbHNcclxuLSBDTVMgbW9kdWxlXHJcbi0gQ01TIGNvbnRlbnQgY29udGFpbmVyLCB0aGlzIGdldCB1c2VkIHRocm91Z2hvdXQgZXhwcmVzcyBmb3IgdmFyaW91cyBwaWVjZXMgb2YgY29udGVudCB0aGF0IGlzIGRlZmluZWQgaW4gdGhlIHZtYWRtaW4ncyBjbXMgc3lzdGVtIHRoZXNlIGJsb2NrIG9mIGNvbnRlbnQgY2FuIGxpdGVyYWxseSBiZSBhbnl3aGVyZSAoIGhlYWRpbmdzIGZvciBwYWdlcywgaW4gdGhlIGZvb3RlciwgYWpheCByZXNwb25zZXMgKS5cclxuKi9cbi5kaXNwbGF5LWNtcy1zZXJpZXMtaW50cm8sIC5zZXJpZXMtZXhwbGFuYXRvcnktdGV4dCB7XG4gIG1heC13aWR0aDogODUwcHg7XG4gIG1hcmdpbjogMjBweCBhdXRvIDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLWludHJvLmNtcy1jb250ZW50LWNvbnRhaW5lciBwLCAuc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQuY21zLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjN2I3YjdiOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMtaW50cm8gcCwgLnNlcmllcy1leHBsYW5hdG9yeS10ZXh0IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjN2I3YjdiOyB9XG5cbi5kaXNwbGF5LWNtcy1zZXJpZXMge1xuICBtYXJnaW46IDI1cHggMCAwOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMgYTpob3ZlciBoMywgLmRpc3BsYXktY21zLXNlcmllcyBhOmhvdmVyIC52aWRlby1wbGF5ZXItaW5kaWNhdG9yLXRleHQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjNjcxNTZhKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMgaDMge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMgLmVudHJ5LWNvbnRlbnQge1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMgLmVudHJ5LWNvbnRlbnQgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMubmV3cyAuY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMubmV3cyAuY2VsbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuYmxvZyAuY2VsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuYmxvZyAuY2VsbDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZXZlbnRzIC5jZWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ldmVudHMgLmNlbGw6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLnZpZGVvLXBsYXlsaXN0IC5jZWxsID4gYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudmlkZW8tcGxheWxpc3QgLmNlbGwgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcyAuY2VsbCB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzIC5jZWxsOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5jZWxsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY2VsbCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiAyNzBweDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTEwcHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5jb250ZW50LWJhbm5lciB7XG4gICAgICB3aWR0aDogNDAwcHg7XG4gICAgICBoZWlnaHQ6IDI2MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgd2lkdGg6IDMxMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLnRhYmxlIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZTpub3QoLmZhZGUtZGlzYWJsZWQtbG93LWNvbnRlbnQpIHtcbiAgICAgIGhlaWdodDogMjAwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRpc3BsYXktY21zLXNlcmllcy50YWJsZSAuZW50cnktY29udGVudC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XG4gICAgICAgICAgaGVpZ2h0OiAzMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMudGFibGUgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAzMCU7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmNlbGwgYSB7XG4gICAgbWF4LWhlaWdodDogNTIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5jZWxsIGEge1xuICAgICAgICBwYWRkaW5nOiA0NXB4OyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5jb250ZW50LWJhbm5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgaDMge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmR1cmF0aW9uLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQudmlkZW8tcGxheWxpc3QgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICBwYWRkaW5nOiAwIDAgMzBweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBjb2xvcjogdmFyKC0tYmxhY2stY29sb3VyKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCA1MHB4OyB9IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLnZpZGVvLXBsYXlsaXN0IC5jb250ZW50LWNvbnRhaW5lciAudmlkZW8tcGxheWVyLWluZGljYXRvci10ZXh0IHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG87IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmJsb2cgLmNlbGwge1xuICAgIGhlaWdodDogNTMwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZzogMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ibG9nIC5jZWxsIHtcbiAgICAgICAgcGFkZGluZzogNTBweDsgfSB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmJsb2cgLmNlbGwgLmNvbnRlbnQtYmFubmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH1cbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ibG9nIC5jZWxsIC5jb250ZW50LWJhbm5lciAuaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDE3MHB4OyB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmJsb2cgLmNlbGwgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCB7XG4gICAgICAgIGhlaWdodDogMjYwcHg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBhZGRpbmc6IDM1cHggNDVweDsgfSB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgIGZsZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQuZXZlbnRzIC5jZWxsIC5jb250ZW50LWJhbm5lciB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuZW50cnktY29udGVudC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XG4gICAgICAgIGhlaWdodDogMjAwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZC5ldmVudHMgLmNlbGwgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA3NXB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRpc3BsYXktY21zLXNlcmllcy5ncmlkLmV2ZW50cyAuY2VsbCAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xuICAgICAgICAgIGhlaWdodDogNzVweDsgfSB9XG4gIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZCAuY2VsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZGlzcGxheS1jbXMtc2VyaWVzLmdyaWQgLmNvbnRlbnQtYmFubmVyIC5pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgICAgIC5kaXNwbGF5LWNtcy1zZXJpZXMuZ3JpZCAuY29udGVudC1iYW5uZXIgLmltYWdlIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH0gfVxuICAuZGlzcGxheS1jbXMtc2VyaWVzIC5wdWJsaXNoLWRhdGUge1xuICAgIG1hcmdpbjogMCAwIDE3cHg7IH1cblxuLnB1Ymxpc2gtZGF0ZSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cblxuLnJlYWQtbW9yZS1hbmNob3Ige1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgMCAyMHB4O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlYWQtbW9yZS1hbmNob3Ige1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfSB9XG4gIC5yZWFkLW1vcmUtYW5jaG9yOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY21zLWVudHJ5LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMjVweCAzMHB4IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtZW50cnktY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMTEwcHggNzBweDsgfSB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyLm5ld3MtYXJ0aWNsZSAuY21zLWhlYWRpbmc6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+HqlwiOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyLmV2ZW50IC5jbXMtaGVhZGluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GzXCI7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIuYmxvZy1wb3N0IC5jbXMtaGVhZGluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KGXCI7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIuaW5mb3JtYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lci5pbmZvcm1hdGlvbi5zdHlsZS0xIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY21zLWhlYWRpbmcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jbXMtaGVhZGluZzpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XG4gICAgICBvcGFjaXR5OiAwLjM7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY21zLWhlYWRpbmcgaDEge1xuICAgICAgbWFyZ2luOiAwIDAgNDBweDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXg6IDEgMXB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgxIHtcbiAgICAgIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gICAgICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgxOm9ubHktY2hpbGQge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgzIHtcbiAgICAgIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMzpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg0IHtcbiAgICAgIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDQ6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNSB7XG4gICAgICBtYXJnaW46IDE1cHggMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBoNTpvbmx5LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGg2IHtcbiAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDY6b25seS1jaGlsZCB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIGltZyB7XG4gICAgICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCB7XG4gICAgICBtYXJnaW46IDEwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wge1xuICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIG9sIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG4gICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgbGkge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDEsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGgxIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoMiwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDIge1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGgzLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHVsICsgaDQsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBvbCArIGg0IHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdWwgKyBoNSwgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIG9sICsgaDUge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB1bCArIGg2LCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgb2wgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRsIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDE1cHggMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB7XG4gICAgICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGdhcDogMTVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LWZhbWlseTogXCJLaHVsYVwiLCBcIktodWxhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICAgIHBhZGRpbmc6IDUwcHggNjBweDsgfSB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgY29sb3I6ICNlZWVlZWU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICBmbG9hdDogbGVmdDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBkaXYuZ2FsbGFyeSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRpdi5nYWxsYXJ5LmNlbGwtZ3V0dGVycyB7XG4gICAgICAgIGdhcDogMTBweDsgfVxuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGRpdi5nYWxsYXJ5ID4gaW1nIHtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkgYSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgZGl2LmdhbGxhcnkgYSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGlmcmFtZVtzcmMqPVwiaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS9tYXBzL2VtYmVkXCJdIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7IH1cbiAgICB0aCwgdGQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIGZpZWxkc2V0IGgyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5iYWNrZ3JvdW5kLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgLmJhY2tncm91bmQtc2VjdGlvbiB7XG4gICAgICAgICAgcGFkZGluZzogMTVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1iYW5uZXIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciAuaW1hZ2U6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLmNvbnRlbnQtYmFubmVyIC5pbWFnZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciAuaW1hZ2U6bm90KDpmaXJzdC1jaGlsZCksIC5jbXMtZW50cnktY29udGFpbmVyIC5jb250ZW50LWJhbm5lciAuaW1hZ2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWVudHJ5LWNvbnRhaW5lciAuY29udGVudC1iYW5uZXIgLmltYWdlIHtcbiAgICAgIHdpZHRoOiA3OCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIC5wdWJsaXNoLWRhdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgLmNtcy1lbnRyeS1jb250YWluZXIgLnRhZ2dpbmctY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDIwcHggMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1lbnRyeS1jb250YWluZXIgLnRhZ2dpbmctY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDsgfSB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLCAuY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cInRlbDpcIl0sIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl06aG92ZXIsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5jbXMtZW50cnktY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cblxuLmNtcy1lbnRyeS1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmNtcy1tb2R1bC5lbnRyeS1tb2R1bGUgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvg6BcIjsgfVxuXG4uY21zLWVudHJ5LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5jbXMtY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIu+huVwiO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgYTpub3QoW2NsYXNzKj1cIi1idXR0b25cIl0pLCAuY21zLW1vZHVsLmVudHJ5LW1vZHVsZSBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDAgNXB4O1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jbXMtZW50cnktY29udGFpbmVyIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSksIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4uY21zLWVudHJ5LW5hdmlnYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDQwcHggMCAzMHB4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNtcy1lbnRyeS1uYXZpZ2F0aW9uIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuY21zLWVudHJ5LW5hdmlnYXRpb24gLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY21zLWVudHJ5LW5hdmlnYXRpb24gLmJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbi5jbXMtZW50cmllcy1jb250cm9scywgLmVudHJpZXMtaWNvbi1jb250cm9scyB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWVudHJpZXMtY29udHJvbHMsIC5lbnRyaWVzLWljb24tY29udHJvbHMge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5sYWJlbCwgLmVudHJpZXMtaWNvbi1jb250cm9scyAubGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5jbXMtZW50cmllcy1jb250cm9scyAuY29udHJvbC1idXR0b24sIC5lbnRyaWVzLWljb24tY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uIHtcbiAgICB3aWR0aDogNTVweDtcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMDBhZGVmO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAuY21zLWVudHJpZXMtY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmZpcnN0LW9mLXR5cGUsIC5lbnRyaWVzLWljb24tY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmZpcnN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjpob3ZlciwgLmVudHJpZXMtaWNvbi1jb250cm9scyAuY29udHJvbC1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY0YTZkNDtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgYm94LXNoYWRvdzogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgLmNtcy1lbnRyaWVzLWNvbnRyb2xzIC5jb250cm9sLWJ1dHRvbjphY3RpdmUsIC5lbnRyaWVzLWljb24tY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhO1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuY21zLWVudHJpZXMtY29udHJvbHMgLmNvbnRyb2wtYnV0dG9uOmJlZm9yZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAuY29udHJvbC1idXR0b246YmVmb3JlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNnB4OyB9XG4gIC5jbXMtZW50cmllcy1jb250cm9scyAucHJldmlvdXMtY21zLWVudHJ5OmJlZm9yZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAucHJldmlvdXMtY21zLWVudHJ5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgZNcIjsgfVxuICAuY21zLWVudHJpZXMtY29udHJvbHMgLm5leHQtY21zLWVudHJ5OmJlZm9yZSwgLmVudHJpZXMtaWNvbi1jb250cm9scyAubmV4dC1jbXMtZW50cnk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BlFwiOyB9XG5cbi5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweCAwO1xuICBtYXJnaW46IDE1cHggMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAxMHB4IDMwcHg7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4OyB9IH1cbiAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmxhYmVsIHtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeSB7XG4gICAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDApO1xuICAgIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAxNXB4IDE1cHgpO1xuICAgIGNvbG9yOiAjMDBhZGVmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7XG4gICAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpob3ZlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NGE2ZDQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnk6aG92ZXI6YmVmb3JlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuaG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTphY3RpdmUsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeS5hY3RpdmUge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTphY3RpdmU6YmVmb3JlLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuYWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmRpc2FibGVkLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkuZGlzYWJsZWQsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeVtkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmRpc2FibGVkOmJlZm9yZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmRpc2FibGVkOmJlZm9yZSwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5W2Rpc2FibGVkXTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpkaXNhYmxlZDpob3ZlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5LmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5wcmV2aW91cy1lbnRyeTpmb2N1cy12aXNpYmxlIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLnByZXZpb3VzLWVudHJ5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Bk1wiO1xuICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBjb2xvcjogIzAwYWRlZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ucHJldmlvdXMtZW50cnkgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkge1xuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAwKTtcbiAgICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMTVweCAxNXB4KTtcbiAgICBjb2xvcjogIzAwYWRlZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIC8qXHJcbiAgICAgICAgLS0tIEljb24gY29uZmlndXJhdGlvbiAtLS1cclxuICAgICAgICAtICRpY3Bvc2l0aW9uID0+IEJlZm9yZSBvciBhZnRlciB0ZXh0XHJcbiAgICAgICAgLSBtYXJnaW4gPT4gaWNvbiBtYXJnaW5cclxuICAgICAgICAtIGNvbG91ciA9PiBpY29uIGNvbG91ciBzdGF0ZXMgKCBkZWZhdWx0LCBob3ZlciAmIGFjdGl2ZSApXHJcbiAgICAgICAgLSBzaXplID0+IGljb24gc2l6ZS5cclxuICAgICAgICAtIGNvbnRlbnQgPT4gdGhlIGZvbnQgaWNvbiBpdHNlbGYsIG5vcm1hbGx5IHN0b3JlZCBpbiAkc2l0ZS1pY29uc1xyXG4gICAgICAgIC0gZm9udC1mYW1pbHkgPT4gdGhlIGZvbnQgZmFtaWx5IHRoYXQgdGhlIGljb24gYmVsb25ncyB0byBmb250IGF3ZXNvbWUgb3IgZm9udGVsbG8uXHJcbiAgICAgICAgKi8gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5IHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmhvdmVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeS5ob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRhNmQ0O1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6aG92ZXI6YWZ0ZXIsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmhvdmVyOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTphY3RpdmUsIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5LmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6YWN0aXZlOmFmdGVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeS5hY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmRpc2FibGVkLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeS5kaXNhYmxlZCwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnlbZGlzYWJsZWRdIHtcbiAgICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmRpc2FibGVkOmFmdGVyLCAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeS5kaXNhYmxlZDphZnRlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnlbZGlzYWJsZWRdOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAuZW50cmllcy10ZXh0LWNvbnRyb2xzLWNvbnRhaW5lciAuY29udHJvbC1idXR0b24ubmV4dC1lbnRyeTpkaXNhYmxlZDpob3ZlciwgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnkuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gICAgLmVudHJpZXMtdGV4dC1jb250cm9scy1jb250YWluZXIgLmNvbnRyb2wtYnV0dG9uLm5leHQtZW50cnk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgIGNvbG9yOiAjMDBhZGVmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIC5jb250cm9sLWJ1dHRvbi5uZXh0LWVudHJ5IC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5jbXMtZW50cnktYmFjay1idXR0b24ge1xuICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiAxNXB4O1xuICB3aWR0aDogMjMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDEwcHggMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTVweCAzNXB4KTtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY21zLWVudHJ5LWJhY2stYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luLCAxMHB4IDApOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtZW50cnktYmFjay1idXR0b24ge1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCAwIDIwcHgpOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmhvdmVyLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JiZThmNztcbiAgICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuY21zLWVudHJ5LWJhY2stYnV0dG9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5jbXMtZW50cnktYmFjay1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC5jbXMtZW50cnktYmFjay1idXR0b246YWN0aXZlLCAuY21zLWVudHJ5LWJhY2stYnV0dG9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbjpkaXNhYmxlZCwgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbi5kaXNhYmxlZCwgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLmNtcy1lbnRyeS1iYWNrLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5jbXMtZW50cnktYmFjay1idXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5jbXMtZW50cnktYmFjay1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5zaXRlLW1hcCB7XG4gIG1hcmdpbjogMCAwIDI1cHg7IH1cbiAgLnNpdGUtbWFwID4gdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnNpdGUtbWFwID4gdWwgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgLnNpdGUtbWFwOm5vdCguc3VwcHJlc3MtYm9yZGVyKSA+IHVsID4gbGkge1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICAuc2l0ZS1tYXA6bm90KC5zdXBwcmVzcy1ib3JkZXIpID4gdWwgPiBsaTpvbmx5LWNoaWxkIHtcbiAgICAgIGJvcmRlci13aWR0aDogMDsgfVxuICAgIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cbiAgICAgIC5zaXRlLW1hcDpub3QoLnN1cHByZXNzLWJvcmRlcikgPiB1bCA+IGxpOmhvdmVyIGE6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAuc2l0ZS1tYXAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gICAgLnNpdGUtbWFwIHVsIC5wYXJlbnQgPiBhLCAuc2l0ZS1tYXAgdWwgLnBhcmVudCA+IHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMwMTQxNmY7IH1cbiAgICAgIC5zaXRlLW1hcCB1bCAucGFyZW50ID4gYTpiZWZvcmUsIC5zaXRlLW1hcCB1bCAucGFyZW50ID4gc3BhbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BlFwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAzNXB4IDAgMjVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGNvbG9yOiAjYWVhZWFlO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgLnNpdGUtbWFwIHVsIC5wYXJlbnQgPiB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAgIC5zaXRlLW1hcCB1bCAucGFyZW50IC5jaGlsZCB7XG4gICAgICBwYWRkaW5nOiA3cHggMDsgfVxuICAgICAgLnNpdGUtbWFwIHVsIC5wYXJlbnQgLmNoaWxkID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLnNpdGUtbWFwIC5wYXJlbnQgYTpob3ZlciwgLnNpdGUtbWFwIHVsIC5jaGlsZCA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLnNpdGUtbWFwIC5wYXJlbnQgYTphY3RpdmUsIC5zaXRlLW1hcCB1bCAuY2hpbGQgPiBhOmFjdGl2ZSB7XG4gICAgY29sb3I6ICMxMjgxYmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uY21zLW1vZHVsZSAucmVhZC1tb3JlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDIwcHggMCAwO1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IsIGJvcmRlciwgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC5jbXMtbW9kdWxlIC5yZWFkLW1vcmUtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzY3MTU2YTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGNvbG9yLCBib3JkZXItY29sb3IsIGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAuY21zLW1vZHVsZSAucmVhZC1tb3JlLWJ1dHRvbjphY3RpdmUge1xuICAgIGNvbG9yOiAjMTI4MWJmO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5iYWNrLXRvLWluZm9ybWF0aW9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDIzMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tc21hbGwtbWFyZ2luLCAxMHB4IDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDE1cHggMzVweCk7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJhY2stdG8taW5mb3JtYXRpb24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDEwcHggMCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJhY2stdG8taW5mb3JtYXRpb24ge1xuICAgICAgd2lkdGg6IDIzMHB4O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCAwIDIwcHgpOyB9IH1cbiAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcbiAgICAuYmFjay10by1pbmZvcm1hdGlvbjpob3ZlciwgLmJhY2stdG8taW5mb3JtYXRpb24uaG92ZXIge1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmJlOGY3O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC5iYWNrLXRvLWluZm9ybWF0aW9uOmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYmFjay10by1pbmZvcm1hdGlvbjphY3RpdmUsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJhY2stdG8taW5mb3JtYXRpb246ZGlzYWJsZWQsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmRpc2FibGVkLCAuYmFjay10by1pbmZvcm1hdGlvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmJhY2stdG8taW5mb3JtYXRpb246ZGlzYWJsZWQ6aG92ZXIsIC5iYWNrLXRvLWluZm9ybWF0aW9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLmJhY2stdG8taW5mb3JtYXRpb246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gIC5iYWNrLXRvLWluZm9ybWF0aW9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uY21zLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTJweCAwIDQxcHg7IH1cbiAgLmNtcy1jb250YWluZXIgcCB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuZGl2W3N0eWxlKj1cImJhY2tncm91bmQtY29sb3JcIl0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgZGl2W3N0eWxlKj1cImJhY2tncm91bmQtY29sb3JcIl0gLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAwIDUwcHg7IH0gfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGgxIHtcbiAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDE6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMTpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMiB7XG4gIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBjb2xvcjogIzAxNDE2ZjtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDI6b25seS1jaGlsZCB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgaDMge1xuICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICBwYWRkaW5nOiAxNXB4IDA7XG4gIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjNjcxNTZhO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNCB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDQ6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNDpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNSB7XG4gIG1hcmdpbjogMTVweCAwIDEwcHg7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGg1Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGg2IHtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDE1cHg7XG4gIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGdhcDogMjVweDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlICsgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74SNXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBjb2xvcjogI2VlZWVlZTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxNXB4IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB7XG4gIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aCB7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGQge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5uby13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIgdWwgdWwge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHVsIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIG9sIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwIDI1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCBvbCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7IH1cbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgb2wgb2wgb2wgb2wge1xuICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciBsaSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDEsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoMSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGgyLCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoMywgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGgzIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHVsICsgaDQsIC5jbXMtY29udGVudC1jb250YWluZXIgb2wgKyBoNCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lciB1bCArIGg1LCAuY21zLWNvbnRlbnQtY29udGFpbmVyIG9sICsgaDUge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgdWwgKyBoNiwgLmNtcy1jb250ZW50LWNvbnRhaW5lciBvbCArIGg2IHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGRsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLnN1Y2Nlc3Mge1xuICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIuc3VjY2VzcyBoMiB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5zdWNjZXNzIC5hbW91bnQtcGFpZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzEyODExZjsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLmFsZXJ0IHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLmFsZXJ0IGgyIHtcbiAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5hbGVydCBwIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLmFsZXJ0IC5hbW91bnQtcGFpZCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLmNlbnRlci1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIuZXJyb3Ige1xuICBjb2xvcjogI2IyMGMwYzsgfVxuICAuY21zLWNvbnRlbnQtY29udGFpbmVyLmVycm9yIGgyLCAuY21zLWNvbnRlbnQtY29udGFpbmVyLmVycm9yIGgzLCAuY21zLWNvbnRlbnQtY29udGFpbmVyLmVycm9yIGg0LCAuY21zLWNvbnRlbnQtY29udGFpbmVyLmVycm9yIGg1IHtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLmd1dHRlci15IHtcbiAgbWFyZ2luOiAxMnB4IDAgNDFweDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyLnBhZ2UtaGVhZGluZy1jb250ZW50IHtcbiAgcGFkZGluZzogMCAwIDE1cHg7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5uby1zaWRlLXBhZGRpbmcge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLmNtcy1jb250ZW50LWNvbnRhaW5lci5vdXRsaW5lIHtcbiAgcGFkZGluZzogMTVweCAxMHB4O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZWVlZWVlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lci5vdXRsaW5lIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweDsgfSB9XG4gIC5jbXMtY29udGVudC1jb250YWluZXIub3V0bGluZTpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTU5NTk1O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgcCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmEge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCkpOyB9XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBhOmFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIGFbY2xhc3MqPVwiLWJ1dHRvblwiXTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyIHA6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgcDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyICsgdGFibGUge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbi5jbXMtY29udGVudC1jb250YWluZXIgKyAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqIFBvcHVwcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiNwb3B1cE92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDcyLCA3MiwgNzIsIDAuNSk7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA1MDAwMDsgfVxuICAjcG9wdXBPdmVybGF5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDA7IH1cblxuI3BvcHVwQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDAuM2VtO1xuICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAyJTtcbiAgbWF4LXdpZHRoOiA4MDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjcG9wdXBDb250YWluZXIge1xuICAgICAgd2lkdGg6IDg0MHB4OyB9IH1cbiAgI3BvcHVwQ29udGFpbmVyLnN0YW5kYXJkIHtcbiAgICBtYXgtaGVpZ2h0OiA5MCU7IH1cbiAgICAjcG9wdXBDb250YWluZXIuc3RhbmRhcmQgI3BvcHVwQ29udGVudCB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgICAjcG9wdXBDb250YWluZXIuc3RhbmRhcmQgI3BvcHVwQ29udGVudCAuY29udGVudENvbnRhaW5lciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgI3BvcHVwQ29udGFpbmVyLnNjcm9sbCAjcG9wdXBDb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgI3BvcHVwQ29udGFpbmVyLnNjcm9sbCAjcG9wdXBDb250ZW50IC5jb250ZW50Q29udGFpbmVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwdmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICNwb3B1cENvbnRhaW5lciBsZWdlbmQge1xuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMHB4KTsgfVxuICAjcG9wdXBDb250YWluZXIgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3BvcHVwQ29udGFpbmVyIGZvcm0ge1xuICAgICAgICB3aWR0aDogNzQwcHg7IH0gfVxuICAjcG9wdXBDb250YWluZXIgLmNvbmZpcm1hdGlvbkNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzEyODExZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW46IDAgMWVtIDAgMDtcbiAgICBwYWRkaW5nOiAxM3B4IDEwcHg7IH1cbiAgI3BvcHVwQ29udGFpbmVyIC5wb3B1cEJ1dHRvbkNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuICAgICNwb3B1cENvbnRhaW5lciAucG9wdXBCdXR0b25Db250YWluZXIgLnBvcHVwQ2xvc2VCdXR0b24ge1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uY2xvc2VCdXR0b24ucG9wdXBDbG9zZUJ1dHRvbiB7XG4gIHdpZHRoOiA3MHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jbG9zZUJ1dHRvbi5wb3B1cENsb3NlQnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgI1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICM2NzE1NmE7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLnNlY29uZGFyeS1idXR0b24ucG9wdXBDbG9zZUJ1dHRvbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNjaGVja291dC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgLnNlY3Rpb24tYnV0dG9ucy1jb250YWluZXIgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZm9ybUZpZWxkQ29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI2NoZWNrb3V0Rm9ybSBzZWxlY3Qge1xuICBwYWRkaW5nOiAwIDAgMCAyNXB4OyB9XG5cbiNjaGVja291dEZvcm0gLmNoYW5nZURldGFpbHMge1xuICBtYXJnaW46IDVweCAwIDE1cHg7IH1cblxuI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRGb3JtRGV0YWlscyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNDcsIDEwMSwgMTM3LCAwLjIpOyB9XG5cbiNjaGVja291dEZvcm0gLmNoZWNrb3V0LWRldGFpbHMge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbiNjaGVja291dEZvcm0gI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lciB7XG4gIG1hcmdpbjogMjBweCAwIDM1cHg7IH1cbiAgI2NoZWNrb3V0Rm9ybSAjZGVsaXZlcnlEZXRhaWxzQ29udGFpbmVyIGgzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAjY2hlY2tvdXRGb3JtICNkZWxpdmVyeURldGFpbHNDb250YWluZXIgaDM6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG5cbiNjaGVja291dEZvcm0gI2NoZWNrb3V0QnV0dG9uQ29udGFpbmVyIHtcbiAgbWFyZ2luOiA3NXB4IDAgMDsgfVxuICAjY2hlY2tvdXRGb3JtICNjaGVja291dEJ1dHRvbkNvbnRhaW5lciAjY2hlY2tvdXRTdWJtaXRCdXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICAgI2NoZWNrb3V0Rm9ybSAjY2hlY2tvdXRCdXR0b25Db250YWluZXIgI2NoZWNrb3V0U3VibWl0QnV0dG9uOmVuYWJsZWQ6aG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAxNDE2ZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgNjUsIDExMSwgMC41KTtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAjY2hlY2tvdXRGb3JtICNjaGVja291dEJ1dHRvbkNvbnRhaW5lciAjY2hlY2tvdXRTdWJtaXRCdXR0b246Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG5cbiNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIge1xuICBtYXgtd2lkdGg6IDYwMHB4O1xuICBtYXgtaGVpZ2h0OiA4MDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMjBweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9XG4gICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgaDEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiA3MC40cHggMCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgaDE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXGY0ZmYnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZm9udC1zaXplOiA0NHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIC5idXR0b25Db250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgLmJ1dHRvbkNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyIC5idXR0b25Db250YWluZXIgYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7IH0gfVxuICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2FuY2VsQnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZWFlYWU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0NhbmNlbEJ1dHRvbjplbmFibGVkOmhvdmVyIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEsIDY1LCAxMTEsIDAuNSk7XG4gICAgICBjb2xvcjogI2FlYWVhZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc0NhbmNlbEJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgI2VkaXREZXRhaWxzRm9ybUNvbnRhaW5lciAjY2hhbmdlRGV0YWlsc1N1Ym1pdEJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNTdWJtaXRCdXR0b246ZW5hYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDE0MTZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLCA2NSwgMTExLCAwLjUpO1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNTdWJtaXRCdXR0b246Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9XG4gICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNDbG9zZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42cztcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICAjZWRpdERldGFpbHNGb3JtQ29udGFpbmVyICNjaGFuZ2VEZXRhaWxzQ2xvc2U6ZW5hYmxlZDpob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDE0MTZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxLCA2NSwgMTExLCAwLjUpO1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgICNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIgI2NoYW5nZURldGFpbHNDbG9zZTpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cblxuI2NoYW5nZURldGFpbHMuc3VjY2VzcyBoMiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICM2NGE2ZDQ7IH1cblxuI2FjY291bnRQb3N0Y29kZUxvb2t1cEFkZHJlc3NDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4jdGVybXMge1xuICBtYXJnaW46IDUwcHggMCAwOyB9XG5cbiNkZWxpdmVyeURldGFpbHNDb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lci5hY3RpdmUge1xuICAgIG1heC1oZWlnaHQ6IDUwMDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuI2RlbGl2ZXJ5Q29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNkZWxpdmVyeVVwZ3JhZGVDb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4udmFsaWRhdGlvbkVycm9yIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuNzVyZW0gIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uZGVsaXZlcnktb3B0aW9uIHtcbiAgd2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7IH1cblxuLmNoZWNrb3V0LWNvbXBsZXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4jYmlsbFBvc3Rjb2RlTG9va3VwQWRkcmVzc0NvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5lZGl0LmNoZWNrb3V0UG9wdXBMaW5rIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgcCwgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgaDIge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXI6aG92ZXIgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lcjpob3ZlciAucXVhdGVybmFyeS1idXR0b246bm90KDpob3Zlcikge1xuICAgIGJvcmRlci1jb2xvcjogI2M4YzhjODsgfVxuICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjBweCAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIgaDIge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDsgfSB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICAgICAgICBtYXJnaW46IGF1dG8gMjVweCAwIDA7IH0gfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucXVhdGVybmFyeS1idXR0b246YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5jaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciAucXVhdGVybmFyeS1idXR0b246aG92ZXI6YWZ0ZXIge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIC5xdWF0ZXJuYXJ5LWJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICMwMTQxNmY7IH1cbiAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CHXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgY29sb3I6ICM0YmIzZGU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAgICAgICAuY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7IH0gfVxuXG4uZXJyb3JDb250YWluZXIucG9zdGNvZGVMb29rdXBTZWxlY3RDb250YWluZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZzogMTBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmRlbGl2ZXJ5LXJlYWQtb25seSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKlxyXG4tLS0tLSA0MDQgLS0tLS0tIFxyXG4tIEFyZSB5b3UgbG9zdD8gXHJcbiovXG4uZXJyb3Itbm90LWZvdW5kLWxvZ28ge1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDUyLjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVycm9yLW5vdC1mb3VuZC1sb2dvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwNXB4OyB9IH1cblxuLmVycm9yLW5vdC1mb3VuZC1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy80MDQuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5MHB4IDMwcHg7IH1cblxuLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiA5MHZ3O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiBhdXRvO1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDgwMHB4OyB9IH1cbiAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgxIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMi41cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmVycm9yLW5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIGgyIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gIC5lcnJvci1ub3QtZm91bmQtY29udGVudC1jb250YWluZXIgLmNtcy1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDYyLjVweCAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAxMjVweCAwIDA7IH0gfVxuXG4vKlxyXG4tLS0tLSBMaWdodCBib3ggIC0tLS0tXHJcbi0gVGhpcyBnZXQgZGlzcGxheWVkIG9uIHByb2R1Y3QgcGFnZXMgdG8gZGlzcGxheSB0aGUgZnVsbCByZXNvbHV0aW9uIHByb2R1Y3QgaW1hZ2VzLlxyXG5GdW50aW9uYWxpdHkgdGhpcyBob2xkczpcclxuLSBMaWdodCBib3ggYWN0aXZlIC8gaW5hY3RpdmUgc3RhdGVzLlxyXG4tIFRoZSBvdmVybGF5IHN0eWxlcy5cclxuLSBBZGRpdGlvbmFsIEltYWdlcy5cclxuLSAzNjAgaW1hZ2Ugc3VwcG9ydC5cclxuLSBUaGUgaGVhZGVyIHRoYXQgZ2V0cyBnZW5lcmF0ZWQuXHJcbi0gVmlkZW8gcGxheWVyLlxyXG4qL1xuI2xpZ2h0Ym94LW92ZXJsYXkuYWN0aXZlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwO1xuICBvcGFjaXR5OiAwLjc7XG4gIHotaW5kZXg6IDEwMDAwOyB9XG5cbi5saWdodGJveCB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmxpZ2h0Ym94LmFjdGl2ZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAgIC5saWdodGJveC5hY3RpdmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbiNsaWdodGJveC1oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzEyODFiZjtcbiAgei1pbmRleDogNTAwMDsgfVxuICAjbGlnaHRib3gtaGVhZGVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICNsaWdodGJveC1oZWFkZXIgI2xpZ2h0Ym94LWNvdW50IHtcbiAgICBvcmRlcjogMTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBsZXR0ZXItc3BhY2luZzogN3B4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICNsaWdodGJveC1oZWFkZXIgI2xpZ2h0Ym94LWNvdW50IHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgI2xpZ2h0Ym94LWhlYWRlciAjbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDQ7IH1cblxuI2xpZ2h0Ym94LWNvbnRlbnQtb3V0ZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDAwOyB9XG5cbiNsaWdodGJveC1jb250ZW50LWlubmVyLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5yZWVsLW92ZXJsYXkge1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmltYWdlLmxpZ2h0Ym94LWVuYWJsZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCLvjJ5cIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAycHggOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBjb2xvcjogIzAxNDE2ZjtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uaW1hZ2UubGlnaHRib3gtZW5hYmxlZDpob3ZlcjpiZWZvcmUge1xuICBjb2xvcjogIzY3MTU2YTtcbiAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmOyB9XG5cbi5saWdodGJveCAjbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiBhdXRvIDE1cHg7IH1cblxuLmxpZ2h0Ym94IC5jbG9zZS1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA7IH1cbiAgLmxpZ2h0Ym94IC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAubGlnaHRib3ggLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAubGlnaHRib3ggLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICBjb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAubGlnaHRib3ggLnJlZWwtb3ZlcmxheSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cblxuLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tbGlnaHRib3gtaGVhZGVyLWhlaWdodCkgLSAxMHB4KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHVuc2V0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCB7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCB7XG4gICAgICBhbGlnbi1zZWxmOiBhdXRvO1xuICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgbWF4LWhlaWdodDogNzB2aDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlLmFjdGl2ZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMTAwcHgpO1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlLmFjdGl2ZSB7XG4gICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDg1dmg7IH0gfVxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5saWdodEJveFNsaWRlLmFjdGl2ZS5pcy12aWRlbyB7XG4gICAgICAgIHdpZHRoOiAxMDB2dzsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZS5hY3RpdmUuaXMtdmlkZW8ge1xuICAgICAgICAgICAgd2lkdGg6IDYwdnc7IH0gfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZSBpbWcsIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubGlnaHRCb3hTbGlkZSAjbGlnaHRib3gtdmlkZW8tcGxheWVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47IH1cbiAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2LFxuICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldixcbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dCB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDcwcHg7IH0gfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpiZWZvcmUsXG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0OmJlZm9yZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6YmVmb3JlLFxuICAgICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDI2cHg7IH0gfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpub3QoLmRpc2FibGVkKTpob3ZlcixcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLnByZXY6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlLFxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0Om5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpub3QoLmRpc2FibGVkKTphY3RpdmU6YmVmb3JlLFxuICAgICAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5uZXh0Om5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldi5kaXNhYmxlZCxcbiAgICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQuZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgLmxpZ2h0Ym94IC5saWdodGJveC1jb250ZW50IC5wcmV2IHtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgNXB4IDVweCAwO1xuICAgIGJvcmRlci13aWR0aDogMnB4IDJweCAycHggMDsgfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAucHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZNcIjsgfVxuICAubGlnaHRib3ggLmxpZ2h0Ym94LWNvbnRlbnQgLm5leHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweCAwIDAgNXB4O1xuICAgIGJvcmRlci13aWR0aDogMnB4IDAgMnB4IDJweDsgfVxuICAgIC5saWdodGJveCAubGlnaHRib3gtY29udGVudCAubmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZRcIjsgfVxuXG4ubGlnaHRib3ggLnNsaWRlc0NvbnRhaW5lciB7XG4gIGJveC1zaGFkb3c6IC0yMHB4IDZweCA2MHB4IC0xM3B4ICMwMDAwMDA7IH1cblxuLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfSB9XG4gIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5kaXNhYmxlZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwgbGkge1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG4gICAgICAubGlnaHRib3ggI2xpZ2h0Ym94UGFnZXJDb250YWluZXIudmVydGljYWwgbGkuYWN0aXZlIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNDsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCAucHNfX3JhaWwteSB7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLnZlcnRpY2FsIC5wc19fcmFpbC15IC5wc19fdGh1bWIteSB7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgNjUsIDExMSwgMC43KTsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci52ZXJ0aWNhbCAucHNfX3JhaWwteCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIGxpIHtcbiAgICAgICAgICBmbGV4OiBpbmhlcml0OyB9IH1cbiAgICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIGxpLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgbGkuYWN0aXZlIGltZyB7XG4gICAgICAgICAgb3BhY2l0eTogMC40OyB9XG4gICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgLnBzX19yYWlsLXkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5saWdodGJveCAjbGlnaHRib3hQYWdlckNvbnRhaW5lci5ob3Jpem9udGFsIC5wc19fcmFpbC14IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgLmxpZ2h0Ym94ICNsaWdodGJveFBhZ2VyQ29udGFpbmVyLmhvcml6b250YWwgLnBzX19yYWlsLXggLnBzX190aHVtYi14IHtcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgNjUsIDExMSwgMC43KTsgfVxuXG4ubGlnaHRib3gtcGFnZXItaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDE7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlnaHRib3gtcGFnZXItaXRlbSB7XG4gICAgICB3aWR0aDogMTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0ge1xuICAgICAgd2lkdGg6IDE3MHB4OyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0gaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0gaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNXZ3O1xuICAgICAgICBtYXgtaGVpZ2h0OiAyMHZoOyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uYWN0aXZlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5saWdodGJveC1wYWdlci1pdGVtLmlzLXZpZGVvIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaXMtdmlkZW8gaW1nIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaXMtdmlkZW8gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDIwcHg7IH0gfVxuICAubGlnaHRib3gtcGFnZXItaXRlbS5pbWFnZS0zNjAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5saWdodGJveC1wYWdlci1pdGVtLmltYWdlLTM2MDpob3ZlcjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmxpZ2h0Ym94LXBhZ2VyLWl0ZW0uaW1hZ2UtMzYwOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWF4LXdpZHRoOiA1NXB4O1xuICAgICAgbWF4LWhlaWdodDogNTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLzNkaWNvbi5zdmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDIxOCwgMjE4LCAyMTgsIDAuMik7IH1cblxuLmxpZ2h0Ym94LWJhY2tncm91bmQge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTc0LCAxNzQsIDE3NCwgMC4zKTsgfVxuXG4jbGlnaHRib3gtdmlkZW8tcGxheWVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYXNwZWN0LXJhdGlvOiAxNi85OyB9XG5cbi8qXHJcbi0tLS0tIE1hZ25pZmllciAtLS0tLSBcclxuVGhpcyBpcyBwcmltYXJpbHkgdXNlZCBvbiB0aGUgcHJvZHVjdCBwYWdlIHdoZW4geW91IGhvdmVyIG92ZXIgdGhlIG1haW4gaW1hZ2UuXHJcbiovXG4uaW1nLW1hZ25pZmllci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmltZy1tYWduaWZpZXItZ2xhc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiBhdXRvO1xuICBjdXJzb3I6IGNyb3NzaGFpcjsgfVxuXG4ucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UubWFnbmlmaWNhdGlvbi1jb250YWluZXIuaW1hZ2U6aG92ZXI6YmVmb3JlIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiAxMXB4OyB9XG5cbi5pbWFnZS1tYWduaWZpY2F0aW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuaW1hZ2UtbWFnbmlmaWNhdGlvbi5hY3RpdmUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmltYWdlLW1hZ25pZmljYXRpb24gLm1hZ25pZnlpbmctZ2xhc3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGN1cnNvcjogY3Jvc3NoYWlyOyB9XG5cbi5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwOyB9XG4gIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDE0MTZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbDpiZWZvcmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICBsaW5lLWhlaWdodDogMDsgfVxuICAgIC5tYWduaWZpZXItY29udHJvbHMtY29udGFpbmVyIC5tYWduaWZpZXItY29udHJvbC5kZS1pbmNyZW1lbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CQXCI7IH1cbiAgICAubWFnbmlmaWVyLWNvbnRyb2xzLWNvbnRhaW5lciAubWFnbmlmaWVyLWNvbnRyb2wuaW5jcmVtZW50OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjlwiOyB9XG5cbi8qXHJcbi0tLS0tIGJ4U2xpZGVyICggQ2Fyb3VzZWxzICkgLS0tLS0tIFxyXG4tIGh0dHBzOi8vYnhzbGlkZXIuY29tL1xyXG4tIFRoaXMgaGFuZGxlcyBhbGwgdGhlIGRpc3BsYXkgc3R5bGVzIGZvciBjYXJvdXNlbHMgLyBzbGlkZXNob3dzIGFyb3VuZCBleHByZXNzIHRoaXMgY2FuIGJlIGluIGEgbW9kdWxlIG9yIGFkZGl0aW9uYWwgaW1hZ2VzIG9uIHRoZSBwcm9kdWN0IHBhZ2UsIHRoZSBjb250ZW50IGlzIG5vdCByZXN0cmljdGVkIHRvIGp1c3QgaW1hZ2VzIGJ1dCBjYW4gZXh0ZW5kIHRvIGRpc3BsYXkgcHJvZHVjdCAvIGViZydzLiBcclxuKi9cbi5jYXJvdXNlbCB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC0tbW9kdWxlLWd1dHRlcjogMTBweDsgfVxuICAuY2Fyb3VzZWwuYngtdW5kZXJsaW5lIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAuY2Fyb3VzZWwuYngtdW5kZXJsaW5lIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC5jYXJvdXNlbC5ieC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAgIC5jYXJvdXNlbC5ieC1zaGFkb3cgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuICAuY2Fyb3VzZWwudHJhbnNpdGlvbi1tb2RlLWhvcml6b250YWwgLmNvbGxlY3Rpb24taXRlbSB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5jYXJvdXNlbC50cmFuc2l0aW9uLW1vZGUtaG9yaXpvbmFsIC5ieC12aWV3cG9ydCwgLmNhcm91c2VsLnRyYW5zaXRpb24tbW9kZS1mYWRlIC5ieC12aWV3cG9ydCB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXg6IGNsaXAgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXJvdXNlbCB7XG4gICAgICAtLW1vZHVsZS1ndXR0ZXI6IDE1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsIHtcbiAgICAgIC0tbW9kdWxlLWd1dHRlcjogMTVweDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gIGdyaWQtcm93OiAxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMiksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMyksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMjBweCAxNy41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgLnByaWNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBnYXA6IDEwcHggMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXI6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg2MCUgLSAxMHB4KSBjYWxjKDQwJSAtIDEwcHgpO1xuICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1jaGlsZCB7XG4gICAgYWxpZ24tc2VsZjogc3RhcnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdDpoYXMoc3Bhbi5pbWFnZSkgPiBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jYWxsYmFja0NvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBwLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmNvZGUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciBmb3JtLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgaGVpZ2h0OiAxMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50LCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtcmlnaHQgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1yaWdodCAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLXJpZ2h0IC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogNzYlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQge1xuICBncmlkLXJvdzogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGEuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiB7XG4gICAgZ3JpZC1yb3c6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgyKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCgzKSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg0KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBhOm50aC1jaGlsZCg1KSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC51bml0LW9mLW1lYXN1cmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSB7XG4gICAgZ3JpZC1jb2x1bW46IDI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMTcuNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29sbGVjdGlvbi1pdGVtLmViZyAuZGVzY3JpcHRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbltkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLnByaWNlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5wcmljZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5wcmljZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgZ2FwOiAxMHB4IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDQwJSAtIDEwcHgpIGNhbGMoNjAlIC0gMTBweCk7XG4gICAgICBncmlkLWdhcDogMCAyMHB4O1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1zZWxmOiBzdGFydDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0OmhhcyhzcGFuLmltYWdlKSA+IGE6bnRoLWNoaWxkKDIpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Q6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY2FsbGJhY2tDb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmdyb3VwLWRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ncm91cC1kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY29kZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuY29kZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAuY21zLWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIGZvcm0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgZm9ybSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBmb3JtIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICBbZGF0YS1ieFNsaWRlcl0ubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIFtkYXRhLWJ4U2xpZGVyXS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5tdWx0aW1lZGlhLWxlZnQgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDc2JTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBoZWlnaHQ6IDEyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1sZWZ0IC5jb250ZW50LWNvbnRhaW5lciAucmVhZC1tb3JlLWNvbnRlbnQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtbGVmdCAuY29udGVudC1jb250YWluZXIgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmNvbnRlbnQtY29udGFpbmVyID4gYTpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDVweDtcbiAgb3JkZXI6IDE7IH1cblxuW2RhdGEtYnhTbGlkZXJdLm11bHRpbWVkaWEtYm90dG9tIC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm11bHRpbWVkaWEtYm90dG9tIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubXVsdGltZWRpYS1ib3R0b20gLmltYWdlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmNvbnRlbnQtY29udGFpbmVyIGE6Zmlyc3QtY2hpbGQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCB7XG4gIGdyaWQtcm93OiAxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIgYS5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciBhLmRlc2NyaXB0aW9uIHtcbiAgICBncmlkLXJvdzogMTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpmaXJzdC1jaGlsZCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciBhOmZpcnN0LWNoaWxkIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMSAvIHNwYW4gNDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMiksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDIpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoMyksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDMpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNCksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDQpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgYTpudGgtY2hpbGQoNSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIGE6bnRoLWNoaWxkKDUpIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLnVuaXQtb2YtbWVhc3VyZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAudW5pdC1vZi1tZWFzdXJlIHtcbiAgICBncmlkLWNvbHVtbjogMjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0LCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xuICBwYWRkaW5nOiA1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMTBweCAxZnI7IH0gfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb250ZW50LWNvbnRhaW5lciA+IGE6Zmlyc3Qtb2YtdHlwZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29udGVudC1jb250YWluZXIgPiBhOmZpcnN0LW9mLXR5cGUge1xuICBwYWRkaW5nLXRvcDogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXS5taW5pZmllZC1sYXlvdXQgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiB7XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwYWRkaW5nOiAxMHB4IDIwcHggMTBweDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuaW1hZ2UsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCAuaW1hZ2Uge1xuICB3aWR0aDogMTEwcHg7XG4gIG1hcmdpbjogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0ubWluaWZpZWQtbGF5b3V0IC5kZXNjcmlwdGlvbiwgW2RhdGEtYnhTbGlkZXJdLm1pbmlmaWVkLWxheW91dCBhOmZpcnN0LWNoaWxkLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUubWluaWZpZWQtbGF5b3V0IC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlLm1pbmlmaWVkLWxheW91dCBhOmZpcnN0LWNoaWxkLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZS5taW5pZmllZC1sYXlvdXQgYTpmaXJzdC1jaGlsZCB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgcGFkZGluZzogMjVweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuaW1hZ2UtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5pbWFnZS1jb250YWluZXI6aG92ZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UtY29udGFpbmVyOmhvdmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UtY29udGFpbmVyOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl06aGFzKC5yZWFkLW1vcmUpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdOmhhcygucmVhZC1tb3JlKSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdOmhhcygucmVhZC1tb3JlKSB7XG4gICAgaGVpZ2h0OiAzMDBweDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gW2RhdGEtY29udGVudC1jb250YWluZXJdIGEsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSBbZGF0YS1jb250ZW50LWNvbnRhaW5lcl0gYSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIGEge1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBwLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgW2RhdGEtY29udGVudC1jb250YWluZXJdIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmc6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkgLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzpoYXMoLmRlc2NyaXB0aW9uOmVtcHR5KSAuY29udGVudC1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taXRlbS5lYmc6aG92ZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6aG92ZXIgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZzpob3ZlciAuZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pdGVtLmViZzphY3RpdmUgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6YWN0aXZlIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmc6YWN0aXZlIC5kZXNjcmlwdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pdGVtLmViZyAuY29udGVudC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5jb250ZW50LWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbjpub3QoOmVtcHR5KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2xsZWN0aW9uLWl0ZW0uZWJnIC5kZXNjcmlwdGlvbjpub3QoOmVtcHR5KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taXRlbS5lYmcgLmRlc2NyaXB0aW9uOm5vdCg6ZW1wdHkpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDVweDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogYXV0bztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5jb2RlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLmNvZGU6bm90KDplbXB0eSkgKyAuZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmNvZGU6bm90KDplbXB0eSkgKyAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuY29kZTpub3QoOmVtcHR5KSArIC5kZXNjcmlwdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zcGVjaWZpY2F0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb246bm90KDplbXB0eSksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnNwZWNpZmljYXRpb246bm90KDplbXB0eSksIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3BlY2lmaWNhdGlvbjpub3QoOmVtcHR5KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnByaWNlcywgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIHBhZGRpbmctbGVmdDogNXB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnN0b2NrLWluZGljYXRvciB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgKyAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGEsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2staW5kaWNhdG9yIGJ1dHRvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5zdG9jay1pbmRpY2F0b3IgYnV0dG9uIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDVweDsgfSB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAucHJpY2VzICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5wcmljZXMgKyAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLnByaWNlcyArIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lciAuZW5xdWlyeS1idXR0b24tY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lciAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDY2JTtcbiAgICBtYXJnaW46IGF1dG8gYXV0byAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIubWluaWZpZWQgLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLm1pbmlmaWVkIC5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLm1pbmlmaWVkIC5pbWFnZSB7XG4gICAgd2lkdGg6IDExMHB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5yZWFkLW1vcmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIC5yZWFkLW1vcmUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciAucmVhZC1tb3JlIHtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXI6YWN0aXZlIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjphY3RpdmUgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXI6YWN0aXZlIC5kZXNjcmlwdGlvbiB7XG4gICAgY29sb3I6ICM2NzE1NmE7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5pbWFnZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLmltYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmdyb3VwLWRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmdyb3VwLWRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgcGFkZGluZzogMTBweCA1cHggNXB4OyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgYS5ncm91cC1kZXNjcmlwdGlvbiArIGE6aGFzKC5kZXNjcmlwdGlvbikgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyLnByb2R1Y3QgLmRlc2NyaXB0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDVweCA1cHg7IH1cbiAgICAgIFtkYXRhLWJ4U2xpZGVyXSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb246aXMoOmVtcHR5KSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IC5kZXNjcmlwdGlvbjppcyg6ZW1wdHkpLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29udGVudC1jb250YWluZXIucHJvZHVjdCAuZGVzY3JpcHRpb246aXMoOmVtcHR5KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42czsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmNvbGxlY3Rpb24taW1hZ2UtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmNvbGxlY3Rpb24taW1hZ2UtY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29sbGVjdGlvbi1pbWFnZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICBbZGF0YS1ieFNsaWRlcl0gLmltYWdlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmltYWdlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2Uge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5pbWFnZSBpbWcsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UgaW1nLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuaW1hZ2UgaW1nIHtcbiAgICBmbGV4LXNocmluazogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyLCAuY21zLWNhcm91c2VsLW1vZHVsZSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIHBhZGRpbmctbGVmdDogNXB4OyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmRlcGFydG1lbnQtZGVzY3JpcHRpb24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZGVwYXJ0bWVudC1kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmRlcGFydG1lbnQtZGVzY3JpcHRpb24ge1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICMwMTQxNmYpO1xuICBmb250LWZhbWlseTogXCJLaHVsYVwiLCBcIktodWxhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uOmhvdmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmRlcGFydG1lbnQtZGVzY3JpcHRpb246aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5ncm91cC1kZXNjcmlwdGlvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbiwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmdyb3VwLWRlc2NyaXB0aW9uIHtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246aG92ZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5ncm91cC1kZXNjcmlwdGlvbjphY3RpdmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246YWN0aXZlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZ3JvdXAtZGVzY3JpcHRpb246YWN0aXZlIHtcbiAgICBjb2xvcjogIzY3MTU2YTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmRlc2NyaXB0aW9uLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLmRlc2NyaXB0aW9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZGVzY3JpcHRpb24ge1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAuZGVzY3JpcHRpb24gcCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5kZXNjcmlwdGlvbiBwLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuZGVzY3JpcHRpb24gcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5yZWFkLW1vcmUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucmVhZC1tb3JlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucmVhZC1tb3JlIHtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5zcGVjaWZpY2F0aW9uIHAsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuc3BlY2lmaWNhdGlvbiBwLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuc3BlY2lmaWNhdGlvbiBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuY29kZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2RlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuY29kZSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0gLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICBbZGF0YS1ieFNsaWRlcl0gLmNvbC1sYWJlbCArIC5wcmljZXMgcDpvbmx5LWNoaWxkIC5sYWJlbCArIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwgKyAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwgKyAudmFsdWUge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIHAsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIHAsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMS4yOyB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lcjpoYXMoLnZhdCksIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXI6aGFzKC52YXQpLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXI6aGFzKC52YXQpIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbDpub3QoOmVtcHR5KSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB+IC52YXQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0LCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICBjb2xvcjogI2ZmMDEwMTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLnZhbHVlLCAuY21zLWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIuc2F2aW5nIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgW2RhdGEtYnhTbGlkZXJdIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnJycCAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICBbZGF0YS1ieFNsaWRlcl0gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCArIC52YWx1ZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgKyAudmFsdWUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnByaWNlLWNvbnRhaW5lciAudmFsdWUsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAucHJpY2UtY29udGFpbmVyIC5sYWJlbCwgW2RhdGEtYnhTbGlkZXJdIC5wcmljZS1jb250YWluZXIgLnZhbHVlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucHJpY2UtY29udGFpbmVyIC52YWx1ZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5wcmljZSwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5wcmljZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlIHtcbiAgbWFyZ2luOiAwOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAucHJpY2UgLmN1cnJlbmN5LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnByaWNlIC5jdXJyZW5jeSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnByaWNlIC5jdXJyZW5jeSB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLnZhdCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC52YXQsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC52YXQge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSBmb3JtLCBbZGF0YS1ieFNsaWRlcl0gLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCBbZGF0YS1ieFNsaWRlcl0gLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIGZvcm0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuc3RvY2tsaW5lLXZpZXctYnV0dG9uLCAuY21zLWNhcm91c2VsLW1vZHVsZSBmb3JtLCAuY21zLWNhcm91c2VsLW1vZHVsZSAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5zdG9ja2xpbmUtdmlldy1idXR0b24ge1xuICBtYXJnaW46IGF1dG8gMCAwOyB9XG5cbltkYXRhLWJ4U2xpZGVyXSAuYWRkVG9CYXNrZXQuaWNvbiwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5hZGRUb0Jhc2tldC5pY29uLCAuY21zLWNhcm91c2VsLW1vZHVsZSAuYWRkVG9CYXNrZXQuaWNvbiB7XG4gIG1hcmdpbjogMDsgfVxuXG5bZGF0YS1ieFNsaWRlcl0gLmZhdm91cml0ZXNDb250YWluZXIsIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAuZmF2b3VyaXRlc0NvbnRhaW5lciwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLmZhdm91cml0ZXNDb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0LCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHtcbiAgbWF4LXdpZHRoOiA4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTBweCAwIDA7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIFtkYXRhLWJ4U2xpZGVyXSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSAucXVhbnRpdHktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24sIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XG4gICAgd2lkdGg6IDgwcHg7IH1cblxuW2RhdGEtYnhTbGlkZXJdIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIsIC5jbXMtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgW2RhdGEtYnhTbGlkZXJdIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCwgLnByb2R1Y3QtY2Fyb3VzZWwtbW9kdWxlIC5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5sYWJlbCwgLmNtcy1jYXJvdXNlbC1tb2R1bGUgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIgLmxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmJ4LXNlcGVyYXRvciAuY29sbGVjdGlvbi1pdGVtW2FyaWEtaGlkZGVuPWZhbHNlXSArIC5jb2xsZWN0aW9uLWl0ZW06YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogODAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG87IH0gfVxuXG4uYngtdmlld3BvcnQge1xuICB6LWluZGV4OiAxOyB9XG4gIC5ieC12aWV3cG9ydCA+IGRpdiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbltpZCQ9XCItY2Fyb3VzZWwtY29udGFpbmVyXCJdIHtcbiAgZmxleDogMTsgfVxuXG4uY2Fyb3VzZWw6bm90KC5sYXJnZUNvbnRyb2xzKTpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyB7XG4gIGhlaWdodDogMzBweDsgfVxuICAuY2Fyb3VzZWw6bm90KC5sYXJnZUNvbnRyb2xzKTpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgLmNhcm91c2VsOm5vdCgubGFyZ2VDb250cm9scyk6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5jYXJvdXNlbDpub3QoLmNvbnRyb2xzLWNvbnRhaW5lZCkgLmJ4LWNvbnRyb2xzOm5vdCgubGFyZ2VDb250cm9scyk6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtcHJldiB7XG4gICAgcmlnaHQ6IDM2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5jYXJvdXNlbDpub3QoLmNvbnRyb2xzLWNvbnRhaW5lZCkgLmJ4LWNvbnRyb2xzOm5vdCgubGFyZ2VDb250cm9scyk6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtbmV4dCB7XG4gICAgbGVmdDogMzZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5jYXJvdXNlbDpub3QoLmNvbnRyb2xzLWNvbnRhaW5lZCkgLmJ4LWNvbnRyb2xzLmxhcmdlQ29udHJvbHMgLmJ4LXByZXYge1xuICAgIHJpZ2h0OiAzNy41cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjBlbSkge1xuICAuY2Fyb3VzZWw6bm90KC5jb250cm9scy1jb250YWluZWQpIC5ieC1jb250cm9scy5sYXJnZUNvbnRyb2xzIC5ieC1uZXh0IHtcbiAgICBsZWZ0OiAzNy41cHg7IH0gfVxuXG4uY2Fyb3VzZWwubGFyZ2VDb250cm9scyAuYngtY29udHJvbHMgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IGF1dG87XG4gIGhlaWdodDogNDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsLmxhcmdlQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xuICAgICAgaGVpZ2h0OiA3NXB4OyB9IH1cblxuLmNhcm91c2VsLmxhcmdlQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxuLmNhcm91c2VsLmxhcmdlQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgd2lkdGg6IDQ1cHg7XG4gIGhlaWdodDogNDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhcm91c2VsLmxhcmdlQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxuICAgIC5jYXJvdXNlbC5sYXJnZUNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XG4gICAgICB3aWR0aDogNzVweDtcbiAgICAgIGhlaWdodDogNzVweDsgfSB9XG5cbi5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyB7XG4gIGhlaWdodDogNDVweDtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5jYXJvdXNlbC5zbWFsbENvbnRyb2xzIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKSxcbiAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6aG92ZXIsXG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSxcbiAgICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiAxMnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAxNDE2ZjtcbiAgICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjIzZGVnKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY2Fyb3VzZWwuc21hbGxDb250cm9scyAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgcGFkZGluZzogM3B4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAxNDE2ZjtcbiAgICAgIGJvcmRlci13aWR0aDogMCAycHggMnB4IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDNkZWcpOyB9IH1cblxuLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxuICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgb3BhY2l0eTogMC44O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgb3BhY2l0eSAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXG4gICAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH0gfVxuICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpob3ZlcixcbiAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIG9wYWNpdHkgMC42czsgfVxuICAgICAgLmNhcm91c2VsOm5vdCguc21hbGxDb250cm9scykgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmhvdmVyOmJlZm9yZSxcbiAgICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7IH1cbiAgICAuY2Fyb3VzZWw6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAgIC5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIG9wYWNpdHk6IDE7IH1cblxuLmJ4LWNvbnRyb2xzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bzsgfVxuXG4uc21hbGwtd2lkZS1jb250cm9scyAuYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgY29udGVudDogXCLvgZNcIjtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5zbWFsbC13aWRlLWNvbnRyb2xzIC5ieC1jb250cm9scyAuYngtbmV4dDpub3QoLmRpc2FibGVkKTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+BlFwiO1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLmJ4LWNvbnRyb2xzLmRpc2FibGVkIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYngtY29udHJvbHMgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCk6YmVmb3JlLFxuLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzAxNDE2ZjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44cztcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSxcbiAgICAuYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldjpub3QoLmRpc2FibGVkKTpob3ZlcjpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmFjdGl2ZTpiZWZvcmUsXG4uYngtY29udHJvbHMgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCk6YWN0aXZlOmJlZm9yZSB7XG4gIGNvbG9yOiAjMDE0MTZmOyB9XG5cbi5ieC1jb250cm9scyAuYngtcHJldiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GTXCI7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1uZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmJ4LWNvbnRyb2xzIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74GUXCI7IH1cblxuLmJ4LXByZXYsIC5ieC1uZXh0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5ieC1wcmV2IHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LXByZXYge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5ieC1uZXh0IHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmJ4LW5leHQge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIxXCJdIHtcbiAgLS1jb2x1bW5zOiAxOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIyXCJdIHtcbiAgLS1jb2x1bW5zOiAyOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIzXCJdIHtcbiAgLS1jb2x1bW5zOiAzOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI0XCJdIHtcbiAgLS1jb2x1bW5zOiA0OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI1XCJdIHtcbiAgLS1jb2x1bW5zOiA1OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI2XCJdIHtcbiAgLS1jb2x1bW5zOiA2OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI3XCJdIHtcbiAgLS1jb2x1bW5zOiA3OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI4XCJdIHtcbiAgLS1jb2x1bW5zOiA4OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCI5XCJdIHtcbiAgLS1jb2x1bW5zOiA5OyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXVtieC1jb2x1bW4tY291bnQ9XCIxMFwiXSB7XG4gIC0tY29sdW1uczogMTA7IH1cblxuZGl2W2RhdGEtYnhTbGlkZXJdW2J4LWNvbHVtbi1jb3VudD1cIjExXCJdIHtcbiAgLS1jb2x1bW5zOiAxMTsgfVxuXG5kaXZbZGF0YS1ieFNsaWRlcl1bYngtY29sdW1uLWNvdW50PVwiMTJcIl0ge1xuICAtLWNvbHVtbnM6IDEyOyB9XG5cbmRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIC0tc21hbGwtY29sdW1uczogbWF4KHJvdW5kKGRvd24sIGNhbGModmFyKC0tY29sdW1ucykgLyAyKSwgMSksIDEpO1xuICAtLW1lZGl1bS1jb2x1bW5zOiBjYWxjKHZhcigtLXNtYWxsLWNvbHVtbnMpICsgMSk7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLXNtYWxsLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XG4gIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgMTBweCk7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tbWVkaXVtLWNvbHVtbnMpLCBtaW5tYXgoMCwgMWZyKSk7XG4gICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsIDE1cHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW5zKSwgbWlubWF4KDAsIDFmcikpO1xuICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAxNXB4KTsgfSB9XG4gIGRpdltkYXRhLWJ4U2xpZGVyXTpub3QoW2RhdGEtaW5pdGlhbGlzZWQ9XCJ0cnVlXCJdKSA+ICoge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSk6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBkaXZbZGF0YS1ieFNsaWRlcl06bm90KFtkYXRhLWluaXRpYWxpc2VkPVwidHJ1ZVwiXSk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiA0MnB4O1xuICAgIGhlaWdodDogNDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IDRweCBzb2xpZCByZ2JhKDE0OSwgMTQ5LCAxNDksIDAuMik7XG4gICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICM5NTk1OTU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSAwcztcbiAgICBhbmltYXRpb246IHNwaW4gMC43cyBjdWJpYy1iZXppZXIoMC41NiwgMC4xMSwgMC4yMiwgMC44NjUpIDBzIGluZmluaXRlO1xuICAgIHotaW5kZXg6IDE7IH1cblxuQGtleWZyYW1lcyBzcGluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyB9IH1cbiAgZGl2W2RhdGEtYnhTbGlkZXJdOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pIC5jb2xsZWN0aW9uLWl0ZW06bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJ4LXZpZXdwb3J0IHtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTsgfVxuXG4uY2Fyb3VzZWwgLmJ4LXZpZXdwb3J0IC5jb2xsZWN0aW9uLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmJ4LXBhZ2VyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjIuNXB4O1xuICAgIGhlaWdodDogMjIuNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCA3LjVweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMTVweDsgfSB9XG4gICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAuYngtcGFnZXIgLmJ4LXBhZ2VyLWl0ZW0gYTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5ieC1wYWdlciAuYngtcGFnZXItaXRlbSBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjsgfVxuICAgICAgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtIGEuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cblxuLypcclxuLS0tLS0gU2xpZGVycyAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFRoaXMgaXMgKk5PVCogY2Fyb3VzZWwgZnVuY3Rpb25hbGl0eSBwbGVhc2UgcmVmZXIgdG8gYnhzbGlkZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBUaGlzIGlzIGZvcm0gZm9ybSBjb250cm9scyB3aGVyZSB5b3UgcmVxdWlyZSBhbiBpbnB1dCB0eXBlID0gc2xpZGVyLlxyXG4tIFRoZSBzdGx5ZXMgaGVyZSB3aWxsIGFsc28gaGF2ZSBhIGhlYXZ5IGluZmx1ZW5jZSBvbiB0aGUgcHJpY2Ugc2xpZGVyIGZvciBmaWx0ZXJzLlxyXG4qL1xuLnNsaWRlciB7XG4gIGhlaWdodDogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgLnNsaWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAuc2xpZGVyOmhvdmVyIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWQxMjA7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgLnNsaWRlcjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zbGlkZXI6YWN0aXZlIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7IH1cbiAgLnNsaWRlci5zbGlkZXItaW52YWxpZCAudWktc2xpZGVyLXJhbmdlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYzsgfVxuICAuc2xpZGVyLnNsaWRlci1pbnZhbGlkIC51aS1zbGlkZXItaGFuZGxlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYzsgfVxuXG4udWktc2xpZGVyLWhhbmRsZSB7XG4gIHdpZHRoOiAyMnB4O1xuICBoZWlnaHQ6IDIycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLS41ZW07XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlO1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDI7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAudWktc2xpZGVyLWhhbmRsZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZmZmZjsgfVxuICAudWktc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cblxuLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLnVpLXNsaWRlci1yYW5nZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDE7IH1cbiAgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyA0cHgpO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMnB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1YjcwMTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gIC51aS1zbGlkZXItcmFuZ2UudWktc2xpZGVyLXJhbmdlLW1pbjpiZWZvcmUge1xuICAgIGxlZnQ6IC0xcHg7IH1cbiAgLnVpLXNsaWRlci1yYW5nZS51aS1zbGlkZXItcmFuZ2UtbWF4OmJlZm9yZSB7XG4gICAgcmlnaHQ6IC0xcHg7IH1cbiAgLnVpLXNsaWRlci1yYW5nZS51aS1zbGlkZXItaG9yaXpvbnRhbCB7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4uc2xpZGVyLWVycm9ycyB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAyNXB4IDNweCA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBjb2xvcjogI2IyMGMwYztcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgLnNsaWRlci1lcnJvcnMuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYztcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuXG5bZGF0YS10b29sdGlwXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuc3Bhbi50b29sdGlwLXRyaWdnZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogaGVscDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICBzcGFuLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74SpXCI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogNXB4IDhweDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg3MiwgNzIsIDcyLCAwLjcpO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG4gIHNwYW4udG9vbHRpcC10cmlnZ2VyOmhvdmVyOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgc3Bhbi50b29sdGlwLXRyaWdnZXI6YWN0aXZlOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuXG4udG9vbHRpcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUsIC50b29sdGlwLWNvbnRhaW5lci5hbGVydCAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudCAuY29udGVudC1jb250YWluZXIgcCwgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC10cmlnZ2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgbFcIjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjZmY1ZTA1O1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50IHtcbiAgICBib3JkZXItY29sb3I6ICNmZjVlMDU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci53YXJuaW5nIC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDlweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmNWUwNTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtOXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC05cHg7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDdweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZWZlNjtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC03cHg7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIud2FybmluZyAudG9vbHRpcC1jb250ZW50IC5jb250ZW50LWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLndhcm5pbmcgLnRvb2x0aXAtY29udGVudCBwIHtcbiAgICAgIGNvbG9yOiAjZmY1ZTA1O1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudG9vbHRpcC1jb250YWluZXIuYWxlcnQgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74GqXCI7XG4gICAgcGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQge1xuICAgIGJvcmRlci1jb2xvcjogI2IyMGMwYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxOyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDlweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2IyMGMwYztcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtOXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC05cHg7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIuYWxlcnQgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA3cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZGUxZTE7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLmFsZXJ0IC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIuYWxlcnQgLnRvb2x0aXAtY29udGVudCBwIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAudG9vbHRpcC1jb250YWluZXIuc3RhdGUtaW5kaWNhdG9yIC50b29sdGlwLXRyaWdnZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+EkVwiOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5hbGlnbi1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5hbGlnbi1yaWdodCAudG9vbHRpcC1jb250ZW50OmJlZm9yZSwgLnRvb2x0aXAtY29udGFpbmVyLmFsaWduLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgbGVmdDogY2FsYygxMDAlIC0gOHB4KTsgfVxuICAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLnJlc3BvbnNpdmUtb3ZlcnJpZGUtYWxpZ24tcmlnaHQgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xuICAgICAgbGVmdDogMDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLXJpZ2h0IC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlLCAudG9vbHRpcC1jb250YWluZXIucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1yaWdodCAudG9vbHRpcC1jb250ZW50OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDhweDsgfVxuICAudG9vbHRpcC1jb250YWluZXIuYWxpZ24tbGVmdCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyLmFsaWduLWxlZnQgLnRvb2x0aXAtY29udGVudDpiZWZvcmUsIC50b29sdGlwLWNvbnRhaW5lci5hbGlnbi1sZWZ0IC50b29sdGlwLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgbGVmdDogOHB4OyB9XG4gIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLWxlZnQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLWxlZnQgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiB1bnNldDsgfVxuICAgIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLWxlZnQgLnRvb2x0aXAtY29udGVudDpiZWZvcmUsIC50b29sdGlwLWNvbnRhaW5lci5yZXNwb25zaXZlLW92ZXJyaWRlLWFsaWduLWxlZnQgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBsZWZ0OiBjYWxjKDEwMCUgLSA4cHgpOyB9XG4gIC50b29sdGlwLWNvbnRhaW5lciAudG9vbHRpcC1jb250ZW50IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnRvb2x0aXAtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBib3JkZXItd2lkdGg6IDlweDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzY3MTU2YTtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtOXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC05cHg7IH1cbiAgICAudG9vbHRpcC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudDphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm9yZGVyLXdpZHRoOiA3cHg7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtN3B4OyB9XG5cbi50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4udG9vbHRpcC1jb250ZW50IHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgd2lkdGg6IDMwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgei1pbmRleDogMTA7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDlweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICM2NzE1NmE7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCB1bCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQgbGksIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQgYSwgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLnRvb2x0aXAtY29udGVudCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQgbGkgcCB7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC50b29sdGlwLWNvbnRlbnQgcCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbi8qXHJcbi0tLS0tIFJlYWQgbW9yZSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFJldmVhbGluZyBhZGRpdGlvbmFsIG1hcmt1cCwgdGhpcyBjYW4gaW5jbHVkZSB0ZXh0IG9yIGltYWdlcy5cclxuLSBIb3cgdGhlIGZhZGUgLyBncmFkaWFudCBnZXRzIHVzZWQgd2hlbiBjdXR0aW5nIG9mIHRoZSBvdmVyZmxvd2luZyBjb250ZW50LlxyXG4qL1xuLnJlYWQtbW9yZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucmVhZC1tb3JlLmNvbnRhaW5lci1jYWxjdWxhdGlvbi13YWl0aW5nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5yZWFkLW1vcmUuYWN0aXZlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNnM7IH1cbiAgLnJlYWQtbW9yZS5hY3RpdmUgLnJlYWRNb3JlQnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgbdcIjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlYWQtbW9yZS5tb2JpbGUtb25seSAucmVhZC1tb3JlLWNvbnRlbnQge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlYWQtbW9yZS5tb2JpbGUtb25seSAucmVhZE1vcmVCdXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjhzOyB9XG4gIC5yZWFkLW1vcmUgLnJlYWRNb3JlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHggMjRweDtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgLnJlYWQtbW9yZSAucmVhZE1vcmVCdXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5yZWFkLW1vcmUgLnJlYWRNb3JlQnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BuFwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDVweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG5cbi5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XG4gIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHRyYW5zcGFyZW50IDBweCwgIzAwMDAwMCA1MHB4KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KS5tb2JpbGUtb25seSAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XG4gICAgbWFzay1pbWFnZTogdW5zZXQ7IH0gfVxuXG4ucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkuYWN0aXZlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gIG1hc2staW1hZ2U6IHVuc2V0OyB9XG5cbi5yZWFkLW1vcmU6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSAucmVhZC1tb3JlLWNvbnRlbnQuY29udGVudC10cnVuY2F0ZS1lbmFibGVkID4gcCB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWxpbmUtY2xhbXA6IHZhcigtLXJlYWQtbW9yZS1saW5lLWNsYW1wKTtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDsgfVxuICAucmVhZC1tb3JlOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkgLnJlYWQtbW9yZS1jb250ZW50LmNvbnRlbnQtdHJ1bmNhdGUtZW5hYmxlZCA+IHAgKyBwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5yZWFkLW1vcmU6bm90KFtybS1pZF0pIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qXHJcbi0tLS0tIEF1dG8gQ29tcGxldGUgKCBQcmVkaWN0aXZlIFNlYXJjaCApIC0tLS0tLSBcclxuVGhlIGRyb3Bkb3duIHlvdSBzZWUgd2hlbiB5b3Ugc3RhcnQgdHlwaW5nIGluIGEgcXVlcnkgd2l0aGluIHRoZSBzZWFyY2ggYmFyIGluIHRoZSBoZWFkZXIuXHJcbiovXG4jaGVhZGVyU2VhcmNoRm9ybSAuYWMtcmVzdWx0cyB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gIHBhZGRpbmc6IDExMHB4IDAgNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2hlYWRlclNlYXJjaEZvcm0gLmFjLXJlc3VsdHMgPiB1bCB7XG4gICAgICB3aWR0aDogNzAwcHggIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgNiU7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAjMDE0MTZmO1xuICAgICAgei1pbmRleDogNTAwMDA7IH0gfVxuXG4uYWMtcmVzdWx0cyB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDB2aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmFjLXJlc3VsdHMge1xuICAgICAgei1pbmRleDogMjAwMDAxOyB9IH1cbiAgLmFjLXJlc3VsdHMuc2Nyb2xsZXIgPiB1bCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIC5hYy1yZXN1bHRzID4gdWwsIC5hYy1yZXN1bHRzIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyID4gdWwge1xuICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmFjLXJlc3VsdHMgPiB1bCwgLmFjLXJlc3VsdHMgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIgPiB1bCB7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgcGFkZGluZzogNXB4IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIC5hYy10aXRsZSB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7IH1cbiAgLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIC52aWV3LWFsbCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmFjLWNvbGxlY3Rpb24tdGl0bGUtY29udGFpbmVyIC52aWV3LWFsbDpob3ZlciBhOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciAudmlldy1hbGwgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciAudmlldy1hbGwgYTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74GUXCI7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAwLjU2MjVyZW07XG4gICAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG5cbi5hYy10aXRsZS1jb250YWluZXIge1xuICBtYXJnaW46IDEwcHggMCAxNXB4O1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG5cbi5hYy1pdGVtLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYWMtaXRlbS1saXN0LmNvbHVtbiAuYWMtaXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmFjLWl0ZW0tbGlzdC5jb2x1bW4gLmFjLWl0ZW0ge1xuICAgICAgICBmbGV4OiAxIDAgNTAlOyB9IH1cbiAgLmFjLWl0ZW0tbGlzdDpub3QoLmNvbHVtbikgLmFjLWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5hYy1pdGVtLWxpc3Qucm93IC5hYy1pdGVtIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG5cbi5hYy1pdGVtIHtcbiAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gIC5hYy1pdGVtOmhvdmVyIGEgc3BhbiB7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAuYWMtaXRlbSAuaW1hZ2UsIC5hYy1pdGVtIC5hYy1pdGVtLW11bHRpbWVkaWEtY29udGVudCB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG4gIC5hYy1pdGVtIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5hYy1pdGVtIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAgMTBweDtcbiAgICBwYWRkaW5nOiAwIDIwcHggMCAwOyB9XG4gICAgLmFjLWl0ZW0gYSBzcGFuIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmFjLWl0ZW0gLmFjLWl0ZW0tY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDE7IH1cbiAgLmFjLWl0ZW0gLml0ZW0tcmVmZXJlbmNlIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gIC5hYy1pdGVtIC5pdGVtLXNuaXBwZXQge1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBjb2xvcjogIzk1OTU5NTsgfVxuXG4uYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAuYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciAuYWpheC1zZWFyY2gge1xuICAgIGhlaWdodDogNTBweDsgfVxuICAgIC5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIC5hamF4LXNlYXJjaCArIGJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDUwcHg7IH1cblxuLmF1dG9jb21wbGV0ZS1jb250YWluZXIuYWN0aXZlIC5hYy1yZXN1bHRzIHtcbiAgbWF4LWhlaWdodDogOTAwcHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYXV0b2NvbXBsZXRlLWNvbnRhaW5lci5hY3RpdmUgLmFjLXJlc3VsdHMge1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTsgfSB9XG5cbi5hdXRvY29tcGxldGUtY29udGFpbmVyIC5hYy1yZXN1bHRzIHtcbiAgbWF4LWhlaWdodDogMHB4O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5hdXRvY29tcGxldGUtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmF1dG9jb21wbGV0ZS1jb250YWluZXIgLnJlc3VsdHMtY29udGVudC1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMTQxNmY7XG4gICAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH0gfVxuICAuYXV0b2NvbXBsZXRlLWNvbnRhaW5lciAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB1bCBsaTpsYXN0LWNoaWxkIC5hYy1pdGVtLWxpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG5cbi5zYSB7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIG1hcmdpbjogMzBweCBhdXRvIDE1cHg7IH1cbiAgLnNhLXdhcm5pbmcge1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2ZmNWUwNTtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IHNjYWxlV2FybmluZyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cbiAgICAuc2Etd2FybmluZzphZnRlciwgLnNhLXdhcm5pbmc6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAuc2Etd2FybmluZzpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5zYS13YXJuaW5nOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5zYS13YXJuaW5nLWJvZHkge1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNDdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBhbmltYXRpb246IHB1bHNlV2FybmluZ0lucyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7IH1cbiAgICAuc2Etd2FybmluZy1kb3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgIGhlaWdodDogN3B4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGFuaW1hdGlvbjogcHVsc2VXYXJuaW5nSW5zIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTsgfVxuICAuc2EtZXJyb3Ige1xuICAgIHdpZHRoOiA4MHB4O1xuICAgIGhlaWdodDogODBweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2IyMGMwYztcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IGFuaW1hdGVFcnJvckljb24gLjVzOyB9XG4gICAgLnNhLWVycm9yOmFmdGVyLCAuc2EtZXJyb3I6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIHdpZHRoOiA2MHB4OyB9XG4gICAgLnNhLWVycm9yOmJlZm9yZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0MHB4IDAgMCA0MHB4O1xuICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICB0b3A6IC0xN3B4O1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNjBweCA2MHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgIC5zYS1lcnJvcjphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDEyMHB4IDEyMHB4IDA7XG4gICAgICBsZWZ0OiAzMHB4O1xuICAgICAgdG9wOiAtMTFweDtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNjBweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICBhbmltYXRpb246IHJvdGF0ZVBsYWNlaG9sZGVyIDQuMjVzIGVhc2UtaW47IH1cbiAgICAuc2EtZXJyb3IteCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuc2EtZXJyb3ItcGxhY2Vob2xkZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBsZWZ0OiAtNHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNHB4O1xuICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgLnNhLWVycm9yLWZpeCB7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgbGVmdDogMjhweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAuc2EtZXJyb3ItbGVmdCwgLnNhLWVycm9yLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgIHRvcDogMzdweDtcbiAgICAgIHdpZHRoOiA0N3B4OyB9XG4gICAgLnNhLWVycm9yLWxlZnQge1xuICAgICAgbGVmdDogMTdweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZVhMZWZ0IC43NXM7IH1cbiAgICAuc2EtZXJyb3ItcmlnaHQge1xuICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgYW5pbWF0aW9uOiBhbmltYXRlWFJpZ2h0IC43NXM7IH1cblxuQGtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XG4gIDAlLFxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAxMDAlLFxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBhbmltYXRlRXJyb3JJY29uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgxMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVYTGVmdCB7XG4gIDAlLFxuICA2NSUge1xuICAgIGxlZnQ6IDgycHg7XG4gICAgdG9wOiA5NXB4O1xuICAgIHdpZHRoOiAwOyB9XG4gIDg0JSB7XG4gICAgbGVmdDogMTRweDtcbiAgICB0b3A6IDMzcHg7XG4gICAgd2lkdGg6IDQ3cHg7IH1cbiAgMTAwJSB7XG4gICAgbGVmdDogMTdweDtcbiAgICB0b3A6IDM3cHg7XG4gICAgd2lkdGg6IDQ3cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVYUmlnaHQge1xuICAwJSxcbiAgNjUlIHtcbiAgICByaWdodDogODJweDtcbiAgICB0b3A6IDk1cHg7XG4gICAgd2lkdGg6IDA7IH1cbiAgODQlIHtcbiAgICByaWdodDogMTRweDtcbiAgICB0b3A6IDMzcHg7XG4gICAgd2lkdGg6IDQ3cHg7IH1cbiAgMTAwJSB7XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgdG9wOiAzN3B4O1xuICAgIHdpZHRoOiA0N3B4OyB9IH1cblxuQGtleWZyYW1lcyBzY2FsZVdhcm5pbmcge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgcHVsc2VXYXJuaW5nIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMC41OyB9XG4gIDMwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDIpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlV2FybmluZ0lucyB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1OyB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjVlMDU7IH0gfVxuXG4uY2hlY2tfbWFyayB7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIG1hcmdpbjogMzBweCBhdXRvIDE1cHg7IH1cblxuLnNhLWljb24ge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBib3JkZXI6IDRweCBzb2xpZCAjMTI4MTFmO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogIzEyODExZjsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjpiZWZvcmUsXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDYwcHg7XG4gIGhlaWdodDogMTIwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjpiZWZvcmUge1xuICBib3JkZXItcmFkaXVzOiAxMjBweCAwIDAgMTIwcHg7XG4gIHRvcDogLTdweDtcbiAgbGVmdDogLTMzcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDYwcHggNjBweDsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjphZnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMTIwcHggMTIwcHggMDtcbiAgdG9wOiAtMTFweDtcbiAgbGVmdDogMzBweDtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMHB4IDYwcHg7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtcGxhY2Vob2xkZXIge1xuICB3aWR0aDogODBweDtcbiAgaGVpZ2h0OiA4MHB4O1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC00cHg7XG4gIHRvcDogLTRweDtcbiAgei1pbmRleDogMjsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1maXgge1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDkwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMjhweDtcbiAgdG9wOiA4cHg7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cblxuLnNhLWljb24uc2Etc3VjY2Vzcy5hbmltYXRlOjphZnRlciB7XG4gIGFuaW1hdGlvbjogcm90YXRlUGxhY2Vob2xkZXIgNC4yNXMgZWFzZS1pbjsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudFxcOTsgfVxuXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLXRpcCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBcXDk7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS1sb25nIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSBcXDk7IH1cblxuLmFuaW1hdGVTdWNjZXNzVGlwIHtcbiAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc1RpcCAwLjc1czsgfVxuXG4uYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcbiAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc0xvbmcgMC43NXM7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzTG9uZyB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogNDZweDtcbiAgICB0b3A6IDU0cHg7IH1cbiAgNjUlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogNDZweDtcbiAgICB0b3A6IDU0cHg7IH1cbiAgODQlIHtcbiAgICB3aWR0aDogNTVweDtcbiAgICByaWdodDogMHB4O1xuICAgIHRvcDogMzVweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogNDdweDtcbiAgICByaWdodDogOHB4O1xuICAgIHRvcDogMzhweDsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc1RpcCB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDU0JSB7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogMXB4O1xuICAgIHRvcDogMTlweDsgfVxuICA3MCUge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGxlZnQ6IC04cHg7XG4gICAgdG9wOiAzN3B4OyB9XG4gIDg0JSB7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgbGVmdDogMjFweDtcbiAgICB0b3A6IDQ4cHg7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgbGVmdDogMTRweDtcbiAgICB0b3A6IDQ1cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzVGlwIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDE5cHg7IH1cbiAgNTQlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDcwJSB7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgbGVmdDogLThweDtcbiAgICB0b3A6IDM3cHg7IH1cbiAgODQlIHtcbiAgICB3aWR0aDogMTdweDtcbiAgICBsZWZ0OiAyMXB4O1xuICAgIHRvcDogNDhweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBsZWZ0OiAxNHB4O1xuICAgIHRvcDogNDVweDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NMb25nIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA2NSUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA4NCUge1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgdG9wOiAzNXB4OyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiA0N3B4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiAzOHB4OyB9IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZSB7XG4gIGhlaWdodDogNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MTFmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7IH1cblxuLnNhLWljb24uc2Etc3VjY2VzcyAuc2EtbGluZS5zYS10aXAge1xuICB3aWR0aDogMjVweDtcbiAgbGVmdDogMTRweDtcbiAgdG9wOiA0NnB4O1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG5cbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtbG9uZyB7XG4gIHdpZHRoOiA0N3B4O1xuICByaWdodDogOHB4O1xuICB0b3A6IDM4cHg7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICA1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAxMiUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDEyJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH0gfVxuXG4vKlxyXG4tLS0tLSBOb3RpZmljYXRpb25zICggQ2FsbG91dHMgKSAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIE9uIHBhZ2Ugbm90aWNhdGlvbnMgKCBubyBpdGVtcyBmb3VuZCApIFxyXG4tIEhlYWRlciBub3RpZmljYXRpb25zLlxyXG4tIENvb2tpZSBub3RpZmljYXRpb24uXHJcbi0gQ2FsbG91dHMgKCB0aGluZ3MgdGhhdCBzbGlkZSBvdXQgZnJvbSB0aGUgZWRnZWQgb2YgYSB3aW5kb3cgKSBcclxuLSBObyBKYXZhc2NyaXB0IG5vdGlmaWNhdGlvblxyXG4tIEJyb3dzZXIgY29tcGF0aWJsaXR5IG5vdGlmaWNhdGlvbiBcclxuXHJcbiovXG4uaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0IHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jYWxsb3V0Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBoNSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAzNXB4O1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgaDU6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwIDVweCAwIDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBhIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuOHM7IH1cbiAgICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2FsbG91dCBidXR0b246bm90KC5jbG9zZS1idXR0b24pIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYnV0dG9uOm5vdCguY2xvc2UtYnV0dG9uKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYnV0dG9uOm5vdCguY2xvc2UtYnV0dG9uKSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNhbGxvdXQgYnV0dG9uLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmFsZXJ0IGg1OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgapcIjsgfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLndhcm5pbmcgaDU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuc3VjY2VzcyBoNTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgaGVpZ2h0OiAxN3B4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuaGVhZGVyLW5vdGlmaWNhdGlvbi1jb250YWluZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciAuY2xvc2UtYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgLmhlYWRlci1ub3RpZmljYXRpb24tY29udGFpbmVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG5cbi5ub3RpZmljYXRpb24tY29udGFpbmVyLmNhbGxvdXQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jYWxsb3V0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTk5OTk5OTk5OTsgfVxuICAuY2FsbG91dC1jb250YWluZXIuc2lkZSAuY2FsbG91dCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDFyZW0gMDtcbiAgICBwYWRkaW5nOiAyNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMTI4MTFmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQuc3VjY2VzcyBzdHJvbmcge1xuICAgICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dC53YXJuaW5nIHtcbiAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgI2ZmNWUwNTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0Lndhcm5pbmcgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjYjIwYzBjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQuYWxlcnQgc3Ryb25nIHtcbiAgICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgaDUge1xuICAgICAgbWFyZ2luOiAwIDI1cHggMCAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IGg1IHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuY2FsbG91dC1jb250YWluZXIgLmNhbGxvdXQgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3R0b206IDRweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jbG9zZS1idXR0b246YmVmb3JlOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAgICAgLmNhbGxvdXQtY29udGFpbmVyIC5jYWxsb3V0IC5jbG9zZS1idXR0b246YmVmb3JlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgICAgIC5jYWxsb3V0LWNvbnRhaW5lciAuY2FsbG91dCAuY2xvc2UtYnV0dG9uOmJlZm9yZTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuXG4ub24tcGFnZS1ub3RpZmljYXRpb25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHtcbiAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMCAxMHB4O1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMzVweCAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb246aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB7XG4gICAgICBnYXA6IDAgMTVweDsgfSB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5wcmVzZXQtMSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5wcmVzZXQtMiB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24ucHJlc2V0LTIge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDY1cHg7IH0gfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24ucHJlc2V0LTMge1xuICAgIHBhZGRpbmc6IDE1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5wcmVzZXQtMyB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjgxMWY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDEsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGgyLCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoMywgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgaDQsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5zdWNjZXNzIGg1LCAub24tcGFnZS1ub3RpZmljYXRpb24uc3VjY2VzcyBoNiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgcCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLnN1Y2Nlc3MgYSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZzpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGgxLCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoMiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDMsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGg0LCAub24tcGFnZS1ub3RpZmljYXRpb24ud2FybmluZyBoNSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLndhcm5pbmcgaDYsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIHAsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi53YXJuaW5nIGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydDpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GqXCI7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDEsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoMiwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGgzLCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgaDQsIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5hbGVydCBoNSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGg2LCAub24tcGFnZS1ub3RpZmljYXRpb24uYWxlcnQgcCwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmFsZXJ0IGEge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmRpc2FibGVkIHAge1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmluZm9ybWF0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uaW5mb3JtYXRpb246bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uLmluZm9ybWF0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbi5pbmZvcm1hdGlvbiBwIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24uaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgLS1mb250LWZhbWlseTogZm9udGVsbG87IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24uaWNvbi1ub24tcmV0dXJuYWJsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoZNcIjsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gLnVzZXItZnJpZW5kbHktcHJlZml4IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gPiBwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICBmb250LXNpemU6IDIycHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvOyB9IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIHtcbiAgICBtYXJnaW46IHZhcigtLWluZGVudC1tYXJnaW4sIDApO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAub24tcGFnZS1ub3RpZmljYXRpb24gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIC4yZW0gLjJlbSAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAub24tcGFnZS1ub3RpZmljYXRpb24gcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAub24tcGFnZS1ub3RpZmljYXRpb24gcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gcCBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICAgIG1hcmdpbjogMTVweCAwOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB7XG4gICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgdGgge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0Ym9keSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gdGFibGUubm8td3JhcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTVweDtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJLaHVsYVwiLCBcIktodWxhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBib3JkZXItY29sb3I6ICNlZWVlZWU7XG4gICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlIHtcbiAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAub24tcGFnZS1ub3RpZmljYXRpb24gYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmJlZm9yZSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwidGVsOlwiXSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAub24tcGFnZS1ub3RpZmljYXRpb24gYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74OgXCI7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvoblcIjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDAgNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm9uLXBhZ2Utbm90aWZpY2F0aW9uIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5vbi1wYWdlLW5vdGlmaWNhdGlvbiBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAub24tcGFnZS1ub3RpZmljYXRpb24gPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAub24tcGFnZS1ub3RpZmljYXRpb24gPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjdweDsgfSB9XG5cbi5uby1pdGVtcy1mb3VuZC1jb250YWluZXIge1xuICAtLWZvbnQtZmFtaWx5OiBGb250IEF3ZXNvbWUgU29saWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAwIDEwcHg7XG4gIG1hcmdpbjogMTBweCAwO1xuICBwYWRkaW5nOiAzNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHtcbiAgICAgIGdhcDogMCAxNXB4OyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIucHJlc2V0LTEge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnByZXNldC0yIHtcbiAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIucHJlc2V0LTIge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDY1cHg7IH0gfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnByZXNldC0zIHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnByZXNldC0zIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmYmUyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxMjgxMWY7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2Vzczpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3M6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzID4gcDpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIxcIjtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGgxLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDIsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoMywgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIGg0LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLnN1Y2Nlc3MgaDUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBoNiwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5zdWNjZXNzIHAsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuc3VjY2VzcyBhIHtcbiAgICAgIGNvbG9yOiAjMTI4MTFmOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlNjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY1ZTA1O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmc6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GxXCI7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoMSwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGgyLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDMsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBoNCwgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci53YXJuaW5nIGg1LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgaDYsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIud2FybmluZyBwLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLndhcm5pbmcgYSB7XG4gICAgICBjb2xvcjogI2ZmNWUwNTsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRlMWUxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMjBjMGM7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQ6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5hbGVydDpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0ID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0IGgxLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0IGgyLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0IGgzLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0IGg0LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0IGg1LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0IGg2LCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmFsZXJ0IHAsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuYWxlcnQgYSB7XG4gICAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmRpc2FibGVkIHAge1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5pbmZvcm1hdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwMDAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5pbmZvcm1hdGlvbjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GaXCI7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyLmluZm9ybWF0aW9uOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuaW5mb3JtYXRpb24gcCB7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lci5pY29uLW5vbi1yZXR1cm5hYmxlIHtcbiAgICAtLWZvbnQtZmFtaWx5OiBmb250ZWxsbzsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIuaWNvbi1ub24tcmV0dXJuYWJsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoZNcIjsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIC51c2VyLWZyaWVuZGx5LXByZWZpeCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciA+IHAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWZhbWlseSk7XG4gICAgICBmb250LXNpemU6IDIycHg7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCB7XG4gICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcCArIHAge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB7XG4gICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZSB0ZCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRib2R5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgdGFibGUubm8td3JhcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNXB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgcGFkZGluZzogNTBweCAzMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBnYXA6IDI1cHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZGFkYWRhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmhhcyhpbWcpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGU6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDYwcHg7IH0gfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+EjVwiO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGNvbG9yOiAjZWVlZWVlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBibG9ja3F1b3RlIGltZyB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdOmhvdmVyLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlLCAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+DoFwiOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+huVwiO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBnYXA6IDAgNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciBwIGE6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5uby1pdGVtcy1mb3VuZC1jb250YWluZXIgPiBwOmZpcnN0LW9mLXR5cGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAubm8taXRlbXMtZm91bmQtY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI3cHg7IH0gfVxuXG4uaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHtcbiAgLS1mb250LWZhbWlseTogRm9udCBBd2Vzb21lIFNvbGlkO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMCAxMHB4O1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMzVweCAxMHB4O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2IyMGMwYzsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyOmhhcyguY29udGVudC1jb250YWluZXIpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lcjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB7XG4gICAgICBnYXA6IDAgMTVweDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXI6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnByZXNldC0xIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMiB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnByZXNldC0yIHtcbiAgICAgICAgcGFkZGluZzogMTVweCA2NXB4OyB9IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMyB7XG4gICAgcGFkZGluZzogMTVweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5wcmVzZXQtMyB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDsgfSB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZmJlMjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMTI4MTFmO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3M6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjFwiOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CMXCI7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoMSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGgyLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDMsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBoNCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5zdWNjZXNzIGg1LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgaDYsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuc3VjY2VzcyBwLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLnN1Y2Nlc3MgYSB7XG4gICAgICBjb2xvcjogIzEyODExZjsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmVmZTY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNWUwNTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbFcIjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZzpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgPiBwOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDEsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoMiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGgzLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgaDQsIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIud2FybmluZyBoNSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGg2LCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLndhcm5pbmcgcCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci53YXJuaW5nIGEge1xuICAgICAgY29sb3I6ICNmZjVlMDU7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZTFlMTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjIwYzBjO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0Om5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuYWxlcnQ6aGFzKC5jb250ZW50LWNvbnRhaW5lcik6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCA+IHA6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoMSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoMiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoMywgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoNCwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoNSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBoNiwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5hbGVydCBwLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmFsZXJ0IGEge1xuICAgICAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5kaXNhYmxlZCBwIHtcbiAgICBjb2xvcjogIzk1OTU5NTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaW5mb3JtYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDAwMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaW5mb3JtYXRpb246bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BmlwiOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lci5pbmZvcm1hdGlvbjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKTpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmluZm9ybWF0aW9uIHAge1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIuaWNvbi1ub24tcmV0dXJuYWJsZSB7XG4gICAgLS1mb250LWZhbWlseTogZm9udGVsbG87IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyLmljb24tbm9uLXJldHVybmFibGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7qGTXCI7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciAudXNlci1mcmllbmRseS1wcmVmaXgge1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgPiBwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG8gMTVweCBhdXRvIDA7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciAuY29udGVudC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHBbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XG4gICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICAgIG1hcmdpbjogLjJlbSAwIC4yZW0gLjJlbTsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBpbWcge1xuICAgICAgbWFyZ2luOiAuMmVtIDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHAgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICAgIG1hcmdpbjogMTVweCAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUge1xuICAgIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0aCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUgdGQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIHRhYmxlLm5vLXdyYXAge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMTVweDtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJLaHVsYVwiLCBcIktodWxhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAyNXB4OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6aG92ZXIge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2RhZGFkYTtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpoYXMoaW1nKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUgKyBibG9ja3F1b3RlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6YmVmb3JlLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvhI1cIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICBjb2xvcjogI2VlZWVlZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgbGluZS1oZWlnaHQ6IC44O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGJsb2NrcXVvdGUgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLCAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSwgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhW2hyZWZePVwibWFpbHRvOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyIGFbaHJlZl49XCJ0ZWw6XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvoblcIjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBhOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZ2FwOiAwIDVweDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcCBhOmhhcyhbc3R5bGUqPVwiZmxvYXRcIl0pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuaW50ZXJuYWwtZXJyb3ItY29udGFpbmVyID4gcDpmaXJzdC1vZi10eXBlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciA+IHA6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyN3B4OyB9IH1cbiAgLmludGVybmFsLWVycm9yLWNvbnRhaW5lciBwIHtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuICAgIC5pbnRlcm5hbC1lcnJvci1jb250YWluZXIgcDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgapcIjtcbiAgICAgIGNvbG9yOiAjYjIwYzBjOyB9XG5cbiNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxOyB9XG4gICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHAge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgY29sb3I6ICNmZjAxMDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgI25vSnNCYXNrZXROb3RpZmljYXRpb24gYSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDE1cHggMjBweDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4ubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxLCAxLCAwLjkpO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMTAxO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IGgzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eSBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5jb21wYXRpYmlsaXR5IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIuY29tcGF0aWJpbGl0eSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuXG4ubm90aWZpY2F0aW9ucy1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHotaW5kZXg6IDIwMDA7IH1cblxuLm5vdGlmaWNhdGlvbi1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogOTk5OTk5OTk5OTtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmFjdGl2ZSB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgcGFkZGluZzogNy41cHggMTVweDtcbiAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDQ1MG1zO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgM3M7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7IH0gfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAubm90aWZpY2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbjogYXV0byAxMnB4IGF1dG8gMDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLm5vdGlmaWNhdGlvbi1pY29uIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvIDEwcHggYXV0byAwOyB9IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAubm90aWZpY2F0aW9uLWljb24gaW1nIHtcbiAgICAgIHdpZHRoOiA0MHB4OyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtYmFzaXM6IDE4MHB4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLXRvcDogMTdweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLmJ1dHRvbi1jb250YWluZXIgW2NsYXNzJD1cIi1idXR0b25cIl0ge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAuYnV0dG9uLWNvbnRhaW5lciBbY2xhc3MkPVwiLWJ1dHRvblwiXTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5idXR0b24tY29udGFpbmVyIFtjbGFzcyQ9XCItYnV0dG9uXCJdOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXRvcCAycywgbWF4LWhlaWdodCAwLjhzOyB9XG4gICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZS5hY3RpdmUge1xuICAgICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmctdG9wIDAuNnMsIG1heC1oZWlnaHQgMC42czsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZS5hY3RpdmUgLnJlYWQtbW9yZS1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDAwMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlci13aWR0aDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMSB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoMTpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgyIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgyOm9ubHktY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDMge1xuICAgICAgICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgzOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGgzOm9ubHktY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgaDQge1xuICAgICAgICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNDpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg1IHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBoNTpvbmx5LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg2IHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGg2Om9ubHktY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCB7XG4gICAgICAgIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICAgICAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgICAgICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHAgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwICsgcCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgdWwge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCBsaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCB7XG4gICAgICAgIG1hcmdpbjogMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIG9sIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIG9sIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgbGkge1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDEsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDEge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGgyLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGgyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoMywgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHVsICsgaDQsIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IG9sICsgaDQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB1bCArIGg1LCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBvbCArIGg1IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdWwgKyBoNiwgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgb2wgKyBoNiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IGRsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHtcbiAgICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS10aGVhZC1ib3JkZXItY29sb3VyKTsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0aCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0Ym9keSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSB0Ym9keSB0aCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIgLnJlYWQtbW9yZSAucmVhZC1tb3JlLWNvbnRlbnQgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH0gfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUgLnJlYWQtbW9yZS1jb250ZW50IHRhYmxlLm5vLXdyYXAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlIC5yZWFkLW1vcmUtY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyIC5yZWFkLW1vcmUtdHJpZ2dlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXI6aG92ZXIge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXI6YWN0aXZlLCAubm90aWZpY2F0aW9uLWNvbnRhaW5lciAucmVhZC1tb3JlLXRyaWdnZXIuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLm5vdGlmaWNhdGlvbi1jb250YWluZXIucHdhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmY2NTg5OyB9XG4gIC5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvb2tpZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzQsIDE3NCwgMTc0LCAwLjkpOyB9XG5cbi8qXHJcblxyXG4tLS0tIEltYWdlIE92ZXJsYXlzIC0tLS0gXHJcblxyXG5JbWFnZSBvdmVybGF5cyBmb3IgZXNzZW50aWFsbHkgaGlnaGxpZ2h0ZWQgaXRlbXM6XHJcbi0gU3BlY2lhbCBPZmZlcnNcclxuLSBGZWF0dXJlZCBJdGVtc1xyXG4tIEJlc3QgU2VsbGVyc1xyXG4tIFByZXZpb3VzbHkgUHVyY2hhc2VkXHJcblxyXG5UaGVzZSBub3JtYWxseSBhcmUgdGhlIHNpemUgb2YgdGhlIHByb2R1Y3QgaW1hZ2Ugd2hldGhlciBpdHMgb24gYSBsaXN0aW5nIG9yIHByb2R1Y3QgcGFnZSB3aXRoIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC5cclxuXHJcbldlIGFsbG93IGZvciBkaWZmZXJlbnQgaW1hZ2VzIHRvIGJlIGRpc3BsYXllZCBpZiBhIGdyb3VwIGlzIG1hcmtlZCBhcyBhIGhpZ2hsaWdodGVkIGl0ZW0gb3Igd2hldGhlciBpdHMgYW4gaW5kaXZpZHVhbCBwcm9kdWN0LlxyXG5cclxuKi9cbiNzcGVjaWFsLW9mZmVycyAub3ZlcmxheS5zdG9jay5zcGVjaWFsT2ZmZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiNmZWF0dXJlZC1pdGVtcyAub3ZlcmxheS5zdG9jay5mZWF0dXJlZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI2Jlc3Qtc2VsbGVycyAub3ZlcmxheS5zdG9jay5iZXN0U2VsbGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29udGVudC1jb250YWluZXI6bm90KC5jb21wYWN0KSAub3ZlcmxheSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjsgfVxuXG4jbWFpbkltYWdlQ29udGFpbmVyIC5vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyOyB9XG5cbi5pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZ3JpZDtcbiAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmltYWdlOmhhcyhpbWdbc3JjJD1cIi5wbmdcIl0pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC5pbWFnZTpob3ZlciAub3ZlcmxheSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmltYWdlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuICAgIC5pbWFnZSBpbWdbc3JjJD1cIi5zdmdcIl0sIC5pbWFnZSBpbWdbc3JjJD1cIi5TVkdcIl0ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmltYWdlIGEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaW1hZ2UgLm92ZXJsYXkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgLmltYWdlIC5vdmVybGF5Lmdyb3VwLnNwZWNpYWxPZmZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvZ3JvdXAvc2FzaC1zcGVjaWFsLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuZ3JvdXAuZmVhdHVyZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL2dyb3VwL3Nhc2gtZmVhdHVyZWQtZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5ncm91cC5iZXN0U2VsbGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi9jb250ZW50L2ltYWdlcy9vdmVybGF5cy9ncm91cC9zYXNoLWJlc3RzZWxsZXItZWJnLnBuZ1wiKTsgfVxuICAgIC5pbWFnZSAub3ZlcmxheS5zdG9jay5zcGVjaWFsT2ZmZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1zcGVjaWFsLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2suZmVhdHVyZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1mZWF0dXJlZC1lYmcucG5nXCIpOyB9XG4gICAgLmltYWdlIC5vdmVybGF5LnN0b2NrLmJlc3RTZWxsZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1iZXN0c2VsbGVyLWViZy5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2sucHJldmlvdXNseS1wdXJjaGFzZWQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzL3Byb2R1Y3Qvc2FzaC1wcmV2aW91c2x5LXB1cmNoYXNlZC5wbmdcIik7IH1cbiAgICAuaW1hZ2UgLm92ZXJsYXkuc3RvY2suY29udHJhY3QtaXRlbSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvY29udGVudC9pbWFnZXMvb3ZlcmxheXMvcHJvZHVjdC9zYXNoLWNvbnRyYWN0LWl0ZW0ucG5nXCIpOyB9XG5cbltkYXRhLWNvdW50ZG93bi10aW1lXSB7XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmNvdW50ZG93bi1jb250YWluZXIgcCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5jb3VudGRvd24tY29udGFpbmVyIHA6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Al1wiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDdweCAwIDA7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGNvbG9yOiAjMDE0MTZmOyB9XG5cbi5jb3VudGRvd24tY29udGFpbmVyIC5jb3VudGRvd24tZGlzcGxheSwgLmNvdW50ZG93bi1jb250YWluZXIgLmRpc3BsYXktbGFiZWwge1xuICBtYXJnaW46IDAgNXB4IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5jb3VudGRvd24tY29udGFpbmVyIC5jb3VudGRvd24tZGlzcGxheSArIC5kaXNwbGF5LWxhYmVsLCAuY291bnRkb3duLWNvbnRhaW5lciAuZGlzcGxheS1sYWJlbCArIC5kaXNwbGF5LWxhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lcltjb3VudGRvd24tc3RhdHVzPWFsZXJ0XSAuY291bnRkb3duLWRpc3BsYXksIC5jb3VudGRvd24tY29udGFpbmVyW2NvdW50ZG93bi1zdGF0dXM9YWxlcnRdIC5kaXNwbGF5LWxhYmVsIHtcbiAgY29sb3I6ICNiMjBjMGM7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cblxuLmNvdW50ZG93bi1jb250YWluZXJbY291bnRkb3duLXN0YXR1cz13YXJuaW5nXSAuY291bnRkb3duLWRpc3BsYXksIC5jb3VudGRvd24tY29udGFpbmVyW2NvdW50ZG93bi1zdGF0dXM9d2FybmluZ10gLmRpc3BsYXktbGFiZWwge1xuICBjb2xvcjogIzY3MTU2YTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuXG4uY291bnRkb3duLWNvbnRhaW5lci5jb3VudGRvd24taW5hY3RpdmUge1xuICBtYXgtaGVpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuLmNvdW50ZG93bi1jb250YWluZXIuY291bnRkb3duLWFjdGl2ZSB7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA1czsgfVxuXG4vKlxyXG5cclxuLS0tLS0gUFdBICggUHJvZ3Jlc3NpdmUgV2ViIEFwcGxpY2F0aW9uICkgLS0tLS0gXHJcbi0gSW5zdGFsbGF0aW9uIHByb21wdC5cclxuXHJcbiovXG4vKlxyXG4tLS0tLSBQYXltZW50IE1ldGhvZHMgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBIb3cgcGF5bWVudCBtZXRob2RzIHN1Y2ggb2Ygb3BheW8gaWZyYW1lIGxvb2tzIGluIHRoZSBjaGVja291dC5cclxuKi9cbi5wYXltZW50LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgICAucGF5bWVudC1jb250YWluZXI6bm90KDpoYXMoPiAucGF5bWVudC1tZXRob2QpKTpob3ZlciB7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzLCAwLjZzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBheW1lbnQtY29udGFpbmVyOm5vdCg6aGFzKD4gLnBheW1lbnQtbWV0aG9kKSkge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuICAgIC5wYXltZW50LWNvbnRhaW5lcjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpIGlmcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lcjpub3QoOmhhcyg+IC5wYXltZW50LW1ldGhvZCkpOmhhcyguY29udGFpbmVyLXJlc2l6ZWQpIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAucGF5bWVudC1jb250YWluZXIgLnBheW1lbnQtbWV0aG9kIHtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IDUwNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZGFkYWRhO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGF5bWVudC1tZXRob2Q6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBheW1lbnQtbWV0aG9kIGlmcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTAwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLnBheW1lbnQtY29udGFpbmVyIC5wYXltZW50LW1ldGhvZCBpZnJhbWUjb3BheW8taWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAyN3JlbTtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7IH1cbiAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50LnNtYWxsIHtcbiAgICAgIHdpZHRoOiAyNTBweDtcbiAgICAgIGhlaWdodDogNDAwcHg7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudC5tZWRpdW0ge1xuICAgICAgd2lkdGg6IDM5MHB4O1xuICAgICAgaGVpZ2h0OiA0MDBweDsgfVxuICAgIC5wYXltZW50LWNvbnRhaW5lciAucGktY2FyZC1wYXltZW50LmxhcmdlIHtcbiAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgIGhlaWdodDogNjAwcHg7IH1cbiAgICAucGF5bWVudC1jb250YWluZXIgLnBpLWNhcmQtcGF5bWVudC5leHRyYS1sYXJnZSB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBoZWlnaHQ6IDQwMHB4OyB9XG4gICAgLnBheW1lbnQtY29udGFpbmVyIC5waS1jYXJkLXBheW1lbnQgaWZyYW1lIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG5cbmZvcm0gKyAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3Ige1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5wYXltZW50LW1ldGhvZC1zZWxlY3RvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lcjpvbmx5LWNoaWxkIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuY2FyZC1wYXltZW50IC50aXRsZS1pY29uIHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvY2FyZC1wYXltZW50LnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5wYXlwYWwgLnRpdGxlLWljb24ge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvcGF5cGFsLnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5nb29nbGUtcGF5IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgMjBweCAwIDA7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuZ29vZ2xlLXBheSAudGl0bGUtaWNvbiB7XG4gICAgd2lkdGg6IDExNXB4O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvZ29vZ2xlLXBheS5zdmdcIik7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIuYXBwbGUtcGF5IC50aXRsZS1pY29uIHtcbiAgICB3aWR0aDogNjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvYXBwbHktcGF5LnN2Z1wiKTsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMjBweCAyMHB4OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudC5vcGF5byB7XG4gICAgLS1jb250YWluZXItZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgLS1jb250YWluZXItZm9udC1zaXplOiAxcmVtO1xuICAgIC0tY29udGFpbmVyLWxpbmUtaGVpZ2h0OiA0MHB4OyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5jYXJkLXBheW1lbnQgLmJ1dHRvbi1jb250YWluZXIge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMjBweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuY29udHJvbC5jaGVja2JveCB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsgfVxuICAgIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyLmNhcmQtcGF5bWVudCAuY29udHJvbC5jaGVja2JveC5jaGVja2JveCAuY2hlY2tib3gge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lci5jYXJkLXBheW1lbnQgLmNvbnRyb2wuY2hlY2tib3ggLmxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1jb250YWluZXItZm9udC1mYW1pbHkpO1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1jb250YWluZXItZm9udC1zaXplKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb250YWluZXItbGluZS1oZWlnaHQpOyB9XG4gIC5wYXltZW50LW1ldGhvZC1zZWxlY3RvciAucGF5bWVudC1tZXRob2QtY29udGFpbmVyIC5kZXRhaWxzLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIgLmRldGFpbHMtY29udGFpbmVyICsgLnBheW1lbnQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucGF5bWVudC1tZXRob2Qtc2VsZWN0b3IgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciAuZGV0YWlscy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogY2FsYyg0NDBweCArIDIwcHgpOyB9IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXltZW50LW1ldGhvZC1jb250YWluZXIgaWZyYW1lIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIC5wYXlwYWwtYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDM0MHB4OyB9XG5cbi5jYXJkLWZyYW1lLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLyoqXHJcblxyXG4tLS0tIFNvY2lhbCBNZWRpYSBJY29ucyAtLS0tIFxyXG5cclxuV2hlcmUgdGhlc2UgZ2V0IHVzZWQ6XHJcbi0gT24gdGhlIHByb2R1Y3QgcGFnZSB0byBzaGFyZSBhIHNrdSBvbiBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZzpcclxuICAgIC0gRmFjZWJvb2tcclxuICAgIC0gVHdpdHRlclxyXG4gICAgLSBMaW5rZWRJbiBcclxuICAgIC0gRW1haWxcclxuLSBJbiB0aGUgZm9vdGVyIHRvIHRha2UgdGhlIHVzZXIgdG8gdGhlIG9yZ2FuaXNhdGlvbidzIHNvY2lhbCBtZWRpYSBwYWdlc1xyXG4tIFRoZXJlIGFyZSB0d28gY29sb3VyIG1vZGVzOlxyXG4gICAgLSBzaXRlLXNwZWNpZmljOiBtYXRjaGVzIHRoZSBjdXN0b21lcidzIHNpdGUgYnJhbmRpbmcuXHJcbiAgICAtIHNvY2lhbC1icmFuZGluZzogZm9sbG93cyB0aGUgYnJhbmQgZ3VpZGVsaW5lcyBvZiBlYWNoIHNvY2lhbCBwbGF0Zm9ybS5cclxuXHJcbioqL1xuLnNvY2lhbC1pY29ucy1oZWFkaW5nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzAxNDE2ZjsgfVxuXG4uc29jaWFsLWljb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuc29jaWFsLWljb25zLnByb2R1Y3QsIC5zb2NpYWwtaWNvbnMubW9kdWxlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnNvY2lhbC1pY29ucy5wcm9kdWN0LCAuc29jaWFsLWljb25zLm1vZHVsZSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5zb2NpYWwtaWNvbnMucmV2aWV3IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGdhcDogOHB4OyB9XG4gIC5zb2NpYWwtaWNvbnMuZm9vdGVyIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuc29jaWFsLWljb25zLmZvb3RlciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAzMHB4OyB9IH1cbiAgICAuc29jaWFsLWljb25zLmZvb3RlciAuc29jaWFsLWljb25zLWhlYWRpbmcgaDMge1xuICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuc29jaWFsLWljb25zLmZvb3RlciAuc29jaWFsLWljb25zLWhlYWRpbmcgaDMge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIGEge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIGE6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIGE6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAuc29jaWFsLWljb25zLmZvb3RlciBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICMwMGFkZWY7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIGE6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnNvY2lhbC1pY29ucy5mb290ZXIgYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzJmNjU4OTsgfVxuICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIGEge1xuICAgICAgd2lkdGg6IDU1cHg7XG4gICAgICBoZWlnaHQ6IDU1cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwOyB9XG4gICAgICAuc29jaWFsLWljb25zLmZvb3RlciBhOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzhweDsgfVxuICAgIC5zb2NpYWwtaWNvbnMuZm9vdGVyIC5pY29ucy1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5zb2NpYWwtaWNvbnMgYSB7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44cyAsIG9wYWNpdHkgMC44czsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIEJyYW5kc1wiO1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnNvY2lhbC1pY29ucyBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgICBib3JkZXItY29sb3I6ICM2NzE1NmE7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzICwgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAuc29jaWFsLWljb25zIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuc29jaWFsLWljb25zIGE6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICBib3JkZXItY29sb3I6ICMwMTQxNmY7IH1cbiAgICAgIC5zb2NpYWwtaWNvbnMgYTphY3RpdmU6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuc29jaWFsLWljb25zIGEuZmFjZWJvb2s6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi746eXCI7IH1cbiAgICAuc29jaWFsLWljb25zIGEudHdpdHRlcjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLumJtcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5saW5rZWRJbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg6FcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5pbnN0YWdyYW06YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74WtXCI7XG4gICAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAuc29jaWFsLWljb25zIGEueW91dHViZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvhadcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5nb29nbGUtcGx1czpiZWZvcmUsIC5zb2NpYWwtaWNvbnMgYS5nb29nbGVfcGx1czpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg5VcIjsgfVxuICAgIC5zb2NpYWwtaWNvbnMgYS5lbWFpbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvh5hcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5zb2NpYWwtaWNvbnMgLmljb25zLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDsgfVxuXG4ucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMge1xuICAgIG1heC13aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAwLjhzOyB9XG4gICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW5leHQtdG8tdG9nZ2xlLmFjdGl2ZSB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuNnM7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1uZXh0LXRvLXRvZ2dsZS5hY3RpdmUgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gICAgLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIC5zb2NpYWwtaWNvbnMucmV2ZWFsLW92ZXItdG9nZ2xlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUuYWN0aXZlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggMC42cztcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDE0MTZmO1xuICAgICAgICB6LWluZGV4OiAxMDAwOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZS5hY3RpdmUgKyAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDsgfVxuICAgICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBoZWlnaHQ6IDgwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZGFkYWRhOyB9XG4gICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgICAgIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciAuc29jaWFsLWljb25zLnJldmVhbC1vdmVyLXRvZ2dsZSAucmV2ZWFsLWNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgICAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIgLnNvY2lhbC1pY29ucy5yZXZlYWwtb3Zlci10b2dnbGUgLnJldmVhbC1jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUgLnNoYXJlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZ2FwOiAxMHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzk1OTU5NTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+HoFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmhvdmVyLCAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICBjb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIC5zaGFyZS1idXR0b246YWN0aXZlLCAuc29jaWFsLWljb25zLXNoYXJlLXRvZ2dsZSAuc2hhcmUtYnV0dG9uOmFjdGl2ZTphZnRlciB7XG4gICAgY29sb3I6ICMwMTQxNmY7IH1cblxuLypcclxuLS0tLS0gRXF1aXBtZW50IHNlbGVjdG9yICggUHJpbnRlciB3aXphcmQgKSAtLS0tLS0gXHJcbi0gVGhlIGVxdWlwbWVudCBzZWxlY3RvciBkcm9wIGRvd24gc2VsZWN0aW9uLlxyXG4tIEVxdWlwbWVudCBzZWxlY3RvciBsaXN0IHdoaWNoIGlzIGVzc2VudGlhbGx5IGEgbGlzdCBvZiBhbmNob3JzLlxyXG4qL1xuLmVxdWlwbWVudC1zZWxlY3Rvci1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGJhY2tncm91bmQ6ICMwMTQxNmY7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjZGFkYWRhIDUlLCAjNDg0ODQ4IDY1JSk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lcXVpcG1lbnQtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7IH0gfVxuXG4uZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmcge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogMTBweCAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHNwYW4ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nIHNwYW4ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9IH1cblxuLmVxdWlwbWVudC1zZWxlY3RvcnMge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMTBweCAxMHB4IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lcXVpcG1lbnQtc2VsZWN0b3JzIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmVxdWlwbWVudC1zZWxlY3RvcnMgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5lcXVpcG1lbnQtc2VsZWN0b3JzIGxhYmVsLmNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNXB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZXF1aXBtZW50LXNlbGVjdG9ycyBsYWJlbC5jb250cm9sIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9ycyBhIHtcbiAgICBtYXgtaGVpZ2h0OiA0NXB4O1xuICAgIG1hcmdpbjogNXB4IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZXF1aXBtZW50LXNlbGVjdG9ycyBhIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvOyB9IH1cblxuLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7IH0gfVxuICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgaDIge1xuICAgIG1hcmdpbjogMCAwIDAgMCAyNXB4LTEwcHg7IH1cbiAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgbGkge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIGxpIHtcbiAgICAgICAgICBmbGV4LWJhc2lzOiA1MCU7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZXF1aXBtZW50LXNlbGVjdG9yLWxpc3QgdWwgbGkge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTsgfSB9XG4gICAgLmVxdWlwbWVudC1zZWxlY3Rvci1saXN0IHVsIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLypcclxuLS0tLS0gUGljayAmIE1peCAtLS0tLS0gXHJcbi0gQSBzZWxlY3Rpb24gb2YgbXVsdGlwbGUgaXRlbXMgdG8gY3JlYXRlIGEgcGFjay5cclxuKi9cbi5waWNrLW4tbWl4LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTVweCAwO1xuICBwYWRkaW5nOiAwIDAgMjVweDtcbiAgYmFja2dyb3VuZDogIzAxNDE2ZjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICNkYWRhZGEgNSUsICM0ODQ4NDggNjUlKTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMCA1MHB4OyB9IH1cblxuLnBpY2stbi1taXgtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuICAucGljay1uLW1peC1oZWFkZXIgaDIge1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucGljay1uLW1peC1oZWFkZXIgaDI6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLnBpY2stbi1taXgtaGVhZGVyIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciBoNCB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAxLjY4NzVyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucGljay1uLW1peC1oZWFkZXIgaDQgc3BhbiB7XG4gICAgICBjb2xvcjogIzY3MTU2YTsgfVxuICAucGljay1uLW1peC1oZWFkZXIgcCB7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5waWNrLW4tbWl4LWhlYWRlciAuaGVhZGVyLWJhY2tncm91bmQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMzBweCAxMHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmZmZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtaGVhZGVyIC5oZWFkZXItYmFja2dyb3VuZCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDsgfSB9XG5cbi5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbjogNy41cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLmltYWdlLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAxLzE7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBhc3BlY3QtcmF0aW86IHZhcigtLW1lZGlhLWFzcGVjdC1yYXRpbywgYXV0byk7IH1cbiAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LWl0ZW0tZGVzY3JpcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC1pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGZsZXg6IDE7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnNsaWRlciB7XG4gICAgZmxleDogMTtcbiAgICBtYXJnaW46IDAgMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuc2xpZGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXg6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAuaW5wdXQtZ3JvdXAgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMi41cHg7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9IH1cbiAgICAucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIgLnBpY2stbi1taXgtdG90YWwtcm93IC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIsIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnJlbWFpbmluZy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbjogMTcuNXB4IDA7IH1cbiAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5waWNrLW4tbWl4LXNlbGVjdG9yLWNvbnRhaW5lciAucGljay1uLW1peC10b3RhbC1yb3cgLnRvdGFsLXNlbGVjdGVkLWNvbnRhaW5lciAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDQwcHg7IH0gfVxuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAudG90YWwtc2VsZWN0ZWQtY29udGFpbmVyIC5zZWxlY3RlZC1jb3VudCB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYzhjOGM4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjcxNTZhOyB9XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAucmVtYWluaW5nLWNvbnRhaW5lciAucmVtYWluaW5nLWNvdW50LW1lc3NhZ2Uge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44cztcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAucmVtYWluaW5nLWNvbnRhaW5lciAucmVtYWluaW5nLWNvdW50LW1lc3NhZ2UuYWN0aXZlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAucmVtYWluaW5nLWNvbnRhaW5lciAucmVtYWluaW5nLWNvdW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyIC5waWNrLW4tbWl4LXRvdGFsLXJvdyAuZm9ybS1lcnJvciB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucGljay1uLW1peC1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgLnBpY2stbi1taXgtYnV0dG9ucy1jb250YWluZXIgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAucGljay1uLW1peC1idXR0b25zLWNvbnRhaW5lciAuYWRkLXRvLWJhc2tldC1jb250YWluZXIgYnV0dG9uW3R5cGU9c3VibWl0XSB7XG4gICAgICAgIG1hcmdpbi1yaWd0aDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5waWNrLW4tbWl4LWJ1dHRvbnMtY29udGFpbmVyIC5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cblxuaW5wdXQudWktc3RhdGUtYWN0aXZlLCAuaW5wdXQtbnVtYmVyLnVpLXN0YXRlLWFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XG4gIGJvcmRlci1jb2xvcjogI2U1YjcwMTtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIHRyYW5zaXRpb246IGJveC1zaG9kYXcgMC42czsgfVxuXG4uY21zLWNvbnRlbnQtY29udGFpbmVyICsgLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgKyAucGljay1uLW1peC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyICsgLnBpY2stbi1taXgtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnBpY2stbi1taXgtYnV0dG9uIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG5cbi5waWNrLW4tbWl4LXNlbGVjdGlvbiB7XG4gIG1hcmdpbjogNXB4IDA7XG4gIHBhZGRpbmc6IDAgMCAwIDIwcHg7IH1cbiAgLnBpY2stbi1taXgtc2VsZWN0aW9uIGxpIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi8qIFxyXG5cclxuLS0tLS0gQW5pbWF0aW9ucyAtLS0tLSBcclxuVE9ETzogVGhpcyBpcyB0aGUgdmVyeSBmaXJzdCBkZXYgY3ljbGUgb2YganVzdCB0cmluZyB0byBnZXQgSFRNTDUgQ2FudmFzJ3MgZXhwb3J0ZWQgZnJvbSBhZG9iZSBhbmltYXRlIHRvIHdvcmsgaW5zaWRlIG9mIGV4cHJlc3MgYW5kIHRvIGhhdmUgbXVsdGlwbGUgYW5pbWF0aW9ucyBvbiB0aGUgcGFnZSBhdCBvbmNlLCBzbyB0aGVyZSBpcyBzdGlsbCBtdWNoIHdvcmsgdG8gYmUgZG9uZSBoZXJlIGl0cyBtb3JlIG9mIGEgcHJvb2Ygb2YgY29uY2VwdCBhdCB0aGlzIHBvaW50LlxyXG4tIEFuaW1hdGVkIEhUTUw1IENhbnZhcydzXHJcbi0gSW50ZXJhY3RpdmUgQW5pbWF0aW9ucy5cclxuKi9cbmNhbnZhcyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY2xpZW50LXNlYXJjaC1uby1yZXN1bHRzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuY2xpZW50LXNlYXJjaC1uby1yZXN1bHRzLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNsaWVudC1zZWFyY2gtbm8tcmVzdWx0cyBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4vKlxyXG4tLS0tLSBUb3AgYmFyIC0tLS0tXHJcblRoaXMgaGFzIGhhZCB0byBiZSB3cml0dGVuIGR1ZSB0byBmb3VuZGF0aW9uJ3MgdG9wLWJhciBjdXJyZW50bHkgZG9lc24ndCBzdXBwb3J0IGNlbnRlcmVkIGl0ZW1zLCB5b3Ugb25seSBnZXQgdGhlIG9wdGlvbiB0b3AtYmFyLWxlZnQgJiB0b3AtYmFyLXJpZ2h0LCB0aGUgZGVzaWduIGNhbGxzIGZvciB0aGUgY3VycmVuY3kgc2VsZWN0b3IgdG8gYmUgaW4gdGhlIG1pZGRsZS5cclxuKi9cbi50b3AtYmFyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC50b3AtYmFyLnVwcGVyIHtcbiAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCwgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0ID4gdWwsIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0ID4gdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW46IGF1dG8gMDsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCA+IHVsIGxpLCAudG9wLWJhciAudG9wLWJhci1yaWdodCA+IHVsIGxpIHtcbiAgICAgICAgcGFkZGluZzogNy41cHggMTVweDsgfVxuICAgICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0ID4gdWwgbGk6Zmlyc3QtY2hpbGQsIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0ID4gdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudDsgfVxuICAgICAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0ID4gdWwgbGk6bGFzdC1jaGlsZCwgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQgPiB1bCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDsgfVxuICAudG9wLWJhciAudG9wLWJhci1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC50b3AtYmFyIC5tZW51LCAudG9wLWJhciAuZHJvcGRvd24ubWVudSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudG9wLWJhciAubWVudSA+IGxpLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSA+IGxpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gICAgLnRvcC1iYXIgLm1lbnUgPiBsaSBhOmFjdGl2ZSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgPiBsaSBhOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC50b3AtYmFyIC5tZW51IGxpLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaTpob3ZlciwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAudG9wLWJhciAubWVudSBsaTpob3ZlciA+IGEsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpOmhvdmVyID4gYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IGxpOmFjdGl2ZSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGk6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLnRvcC1iYXIgLm1lbnUgbGk6YWN0aXZlID4gYSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGk6YWN0aXZlID4gYSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IGxpIGEsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpIGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBwYWRkaW5nOiA3LjVweCAxNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgICAgIC50b3AtYmFyIC5tZW51IGxpIGE6aG92ZXIsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpIGE6aG92ZXIge1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIC50b3AtYmFyIC5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYTpiZWZvcmUsIC50b3AtYmFyIC5kcm9wZG93bi5tZW51IGxpLnNpdGUtc2V0dGluZy1tZW51ID4gYTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgLnRvcC1iYXIgLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLnRvcC1iYXIgLmRyb3Bkb3duLm1lbnUgbGkuc2l0ZS1zZXR0aW5nLW1lbnUgPiBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAudG9wLWJhciAubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6aG92ZXI6YmVmb3JlLCAudG9wLWJhciAuZHJvcGRvd24ubWVudSBsaS5zaXRlLXNldHRpbmctbWVudSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzJmNjU4OTtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gICAgI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uc2ctcGFnZS1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zZy1wYWdlLWhlYWRlciB7XG4gICAgICBtYXJnaW46IDAgMTVweCAzNXB4IDA7IH0gfVxuXG4uc2ctc2VjdGlvbi1jb250YWluZXIge1xuICBtYXJnaW46IDAgMTVweCAxNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zZy1zZWN0aW9uLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMTVweCAyNXB4IDA7IH0gfVxuXG4uc2ctaGVhZGluZyB7XG4gIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMzsgfVxuICAuc2ctaGVhZGluZyBoMiB7XG4gICAgY29sb3I6ICM1ZjdiMjc7IH1cblxuLnNnLWludHJvIHtcbiAgcGFkZGluZzogMCA1cHg7IH1cblxuLnNnLXN1Yi1oZWFkaW5nIHtcbiAgcGFkZGluZzogMTBweCA1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM7IH1cbiAgLnNnLXN1Yi1oZWFkaW5nIGgzIHtcbiAgICBjb2xvcjogIzVmN2IyNztcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi5zZy1zdWItZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5zZy1jb250ZW50IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmM2YzZjM7IH1cblxuLnNnLWRlbW8tbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2ctZGVtby1saXN0IGxpIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cblxuLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyLFxuLmNzcy1wcm9wZXJ0eS12aWV3IHtcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyIHAsXG4gIC5jc3MtcHJvcGVydHktdmlldyBwIHtcbiAgICBtYXJnaW46IDNweCAwOyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciBwLFxuICAuc2ctaXRlbS1pbmZvcm1hdGlvbi1jb250YWluZXIgbGksXG4gIC5jc3MtcHJvcGVydHktdmlldyBwLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnNnLWl0ZW0taW5mb3JtYXRpb24tY29udGFpbmVyIHVsLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9XG4gIC5zZy1pdGVtLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuaXRlbS1pbmZvLWxhYmVsLFxuICAuY3NzLXByb3BlcnR5LXZpZXcgLml0ZW0taW5mby1sYWJlbCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zZy1pdGVtLXNlcGVyYXRvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNnLWNlbGwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAxMHB4IDIwcHg7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNnLWNvbG91ci1wYWxldHRlIC5ncmlkLWNvbGxlY3Rpb24teCB7XG4gIHBhZGRpbmc6IDE1cHggMDsgfVxuICAuc2ctY29sb3VyLXBhbGV0dGUgLmdyaWQtY29sbGVjdGlvbi14Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5jb2xvdXItYmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDVweCAwO1xuICBwYWRkaW5nOiA4cHggOHB4IDZweDtcbiAgY29sb3I6ICM0ODQ4NDg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYWRhZGE7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICAuY29sb3VyLWJsb2NrOmhvdmVyIC5saWdodGVuZWQtcGVyY2VudGFnZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgLmNvbG91ci1ibG9jayAubGlnaHRlbmVkLXBlcmNlbnRhZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICBsZWZ0OiA1cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBvcGFjaXR5OiAuNztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAuY29sb3VyLWJsb2NrIFtkYXRhLWNvbG91ci1wcmV2aWV3XSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQyODU3cmVtOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91ci1oZXgtbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FlYWVhZTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzhjOGM4OyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjMtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXIzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyMy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2I3YjdiOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI4MWJmOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWRlZjsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyZjY1ODk7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE4LCAxMjksIDE5MSwgMC44KTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI0LTUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjdjYWM7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNC02IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjRhNmQ0OyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjQtNyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxOCwgMTI5LCAxOTEsIDAuOCk7IH1cbiAgLmNvbG91ci1ibG9jayAuY29sb3VyNiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTsgfVxuICAuY29sb3VyLWJsb2NrIC5jb2xvdXI2LTEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAzLCAyMSwgMTA2LCAwLjgpOyB9XG4gIC5jb2xvdXItYmxvY2sgLmNvbG91cjYtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkNmFlMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjMDAwMDA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTAwMDAwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDEwMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjIwMjA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0MDQwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjA2MDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjgwODA7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhMGEwOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYmZiZjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmRmZGY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZWZlZjsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyYjU3OWE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzI2NWIyOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNiNzNjODsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM1NDg1Y2Y7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmM5NmQ2OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzg1YThkZDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZGI5ZTQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjZjYmViOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NlZGNmMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2VlZjg7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjZmYzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWI3MDE7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVjYzA0OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZDEyMDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWQ3M2M7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVkZDU4OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZTI3NDsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmU4OGY7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlZWFiOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjRjNzsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY5ZTM7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmNmMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhMjM0ZTM7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0xIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWI0OGU2OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2I1NWRlOTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiZTcxZWI7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy00IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc4NWVlOyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QxOWFmMTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkYWFlZjQ7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy03IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTNjMmY3OyB9XG4gIC5jb2xvdXItYmxvY2sgLmFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtOCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjZDZmOTsgfVxuICAuY29sb3VyLWJsb2NrIC5hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmViZmM7IH1cbiAgLmNvbG91ci1ibG9jayAuYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0xMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZjVmZTsgfVxuICAuY29sb3VyLWJsb2NrIC5zdWNjZXNzLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjsgfVxuICAuY29sb3VyLWJsb2NrIC53YXJuaW5nLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNWUwNTsgfVxuICAuY29sb3VyLWJsb2NrIC5hbGVydC1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7IH1cbiAgLmNvbG91ci1ibG9jayAucHJpY2UtY29sb3VyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMTAxOyB9XG4gIC5jb2xvdXItYmxvY2sgLnNhdmluZy1jb2xvdXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7IH1cbiAgLmNvbG91ci1ibG9jayAucnJwLWNvbG91ciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsgfVxuXG4uc2ctYnV0dG9ucyAuc2ctY29tcGFyaXNvbi10YWJsZSAuYWN0aW9uLWJ1dHRvbiB7XG4gIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnNnLW9uLXBhZ2Utbm90aWZpY2F0aW9ucyB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnNnLW9uLXBhZ2Utbm90aWZpY2F0aW9ucyAubm90aWZpY2F0aW9uLXR5cGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2ctb24tcGFnZS1ub3RpZmljYXRpb25zIC5ub3RpZmljYXRpb24tdHlwZSArIC5ub3RpZmljYXRpb24tc3R5bGUge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlZWVlOyB9XG5cbi5zZy1vbi1wYWdlLW5vdGlmaWNhdGlvbnMgLm5vdGlmaWNhdGlvbi1zdHlsZSB7XG4gIGNvbG9yOiAjNDg0ODQ4OyB9XG5cbi5zZy1xdWFudGl0eS1zZWxlY3RvcnMgLnByb2R1Y3QtZ3JpZC1tb2R1bGUge1xuICBtYXJnaW46IGF1dG8gMCAwOyB9XG5cbi5zZy1jYWxsb3V0cyAuY2FsbG91dC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNnLWNvbXBhcmlzb24tdGFibGUgdGgge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNnLWNvbXBhcmlzb24tdGFibGUgdGg6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi5zZy1jb21wYXJpc29uLXRhYmxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5zZy1jb21wYXJpc29uLXRhYmxlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgcGFkZGluZzogMTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zZy1jb21wYXJpc29uLXRhYmxlIHRkIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuXG4jdGFibGUtb2YtY29udGVudHMtc3RpY2t5LWNvbnRhaW5lciAuc3RpY2t5IHtcbiAgei1pbmRleDogMjsgfVxuXG4udGFibGUtb2YtY29udGVudHMge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRhYmxlLW9mLWNvbnRlbnRzIHtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH0gfVxuICAudGFibGUtb2YtY29udGVudHMgLmhlYWRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgY29sb3I6ICM1ZjdiMjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMzsgfVxuICAgIC50YWJsZS1vZi1jb250ZW50cyAuaGVhZGluZyBoMiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHtcbiAgICAgIG1heC1oZWlnaHQ6IDYwdmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9IH1cbiAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4O1xuICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4OyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpOmxhc3QtY2hpbGQ6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7IH1cbiAgICAgIC50YWJsZS1vZi1jb250ZW50cyAuc2VjdGlvbnMgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC42cyBlYXNlLWluOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM2NTsgfVxuICAgICAgICAudGFibGUtb2YtY29udGVudHMgLnNlY3Rpb25zIHVsIGxpLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZS1vdXQ7IH1cbiAgICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaS5hY3RpdmUgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBmb250LXdlaWdodCAuNnMgZWFzZS1pbjsgfVxuICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaSBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICB0cmFuc2l0aW9uOiBmb250LXdlaWdodCAuNHMgZWFzZS1vdXQ7IH1cbiAgICAgICAgLnRhYmxlLW9mLWNvbnRlbnRzIC5zZWN0aW9ucyB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4vKiBUaGlzIHN0eWxlcyB0aGUgZXhhbXBsZSByb3dzIHVzZWQgaW4gdGhlIGdyaWQgZG9jdW1lbnRhdGlvbi4gKi9cbi5ncmlkLXguZGlzcGxheSB7XG4gIGJhY2tncm91bmQ6ICNlZWU7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbGluZS1oZWlnaHQ6IDJyZW07XG4gIGJvcmRlcjogc29saWQgMXB4ICNjNmM2YzY7XG4gIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5ncmlkLXguZGlzcGxheSAuY2VsbDpudGgtY2hpbGQoMiksXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwuc21hbGwtY2VudGVyZWQsXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwubGFyZ2UtY2VudGVyZWQge1xuICBiYWNrZ3JvdW5kOiAjZTFlMWUxOyB9XG5cbi5ncmlkLXguZGlzcGxheSAuY2VsbC5jb2xvci1lbmQge1xuICBiYWNrZ3JvdW5kOiAjZDRkNGQ0OyB9XG5cbi5zZy1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZWVlO1xuICBwYWRkaW5nOiAycmVtOyB9XG5cbi5ncmlkLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTQwMHB4OyB9XG5cbi5zZy1zaWRlLW1lbnUge1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uZ3JpZC1jb250YWluZXIucGFkZGVkIHtcbiAgcGFkZGluZy10b3A6IDJyZW07IH1cblxuLnNnLXNpZGUtbWVudSBhIHtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2UtaW47IH1cblxuLnNnLXNpZGUtbWVudSBhOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2VlZTsgfVxuXG4uc2ctc2lkZS1tZW51IGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMTQ2OGEwO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4uc2ctc2lkZS1tZW51Lm1lbnUge1xuICBvdmVyZmxvdzogYXV0bztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcGFkZGluZy1ib3R0b206IDVyZW07IH1cblxuLypcclxuLS0tLS0gQWRtaW4gLS0tLS1cclxuVGhpcyB3aWxsIHBvdGVudGlhbCBoYW5kIHZtQWRtaW4gdjIuXHJcbiovXG4udm1hZG1pbi1lZGl0b3Ige1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC44czsgfVxuICAudm1hZG1pbi1lZGl0b3IuYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLnZtYWRtaW4tZWRpdG9yLmlubGluZS1lZGl0b3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC52bWFkbWluLWVkaXRvci5pbmxpbmUtZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyB7XG4gICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAtMzBweDsgfVxuICAgICAgLnZtYWRtaW4tZWRpdG9yLmlubGluZS1lZGl0b3IgLmVkaXRvci10cmlnZ2VyLWNvbnRyb2xzLmFjdGl2ZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cbiAgLnZtYWRtaW4tZWRpdG9yIC5jay1jb250ZW50LmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lID4gcCB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4gIC52bWFkbWluLWVkaXRvciAuY2stY29udGVudC5jay5jay1lZGl0b3JfX2VkaXRhYmxlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC52bWFkbWluLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzQsIDE3NCwgMTc0LCAwLjkpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzO1xuICAgIHotaW5kZXg6IDEwMDAwMDsgfVxuICAgIC52bWFkbWluLWVkaXRvciAuZWRpdG9yLXRyaWdnZXItY29udHJvbHMgLmFkbWluLWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnZtYWRtaW4tZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyAuYWRtaW4tYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgLnZtYWRtaW4tZWRpdG9yIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyAuYWRtaW4tYnV0dG9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC52bWFkbWluLWVkaXRvciArIGRpdiB7XG4gICAgei1pbmRleDogMTsgfVxuXG4ucHJvcGVydHktZWRpdG9yLXRyaWdnZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjAxMyc7IH1cblxuLmNvbnRlbnQtZWRpdG9yLXRyaWdnZXI6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjA0NCc7IH1cblxuLmVkaXRvci1zYXZlLWJ1dHRvbi5pbmxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcZjBjNyc7IH1cblxuLmVkaXRvci1jYW5jZWwtYnV0dG9uLmlubGluZTpiZWZvcmUge1xuICBjb250ZW50OiAnXFxmMDBkJzsgfVxuXG4ub2ZmLWNhbnZhcy1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5vZmYtY2FudmFzLWhlYWRlciAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgI1cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgLm9mZi1jYW52YXMtaGVhZGVyIC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgLm9mZi1jYW52YXMtaGVhZGVyIC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICM2NzE1NmE7XG4gICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cblxuLm9mZi1jYW52YXMtaGVhZGVyIC5vZmYtY2FudmFzLWhlYWRpbmcge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDE2cHggMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm9mZi1jYW52YXMtaGVhZGVyIC5vZmYtY2FudmFzLWhlYWRpbmcge1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG5cbi5vZmYtY2FudmFzLWhlYWRlciBoMiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLm9mZi1jYW52YXMtaGVhZGVyIHAge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLypcclxuLS0tLS0gQWNjb3JkaW9uIFRhYnMgLS0tLS0tIFxyXG4tIFRPRE86IFRoZSBuYW1pbmcgY29udmVudGlvbnMgbmVlZCB0byBiZSByZS13cml0ZW4gYXQgc29tZSBwb2ludCBhcyB0aGlzIHdhcyBvcmlnaW5hbGx5IGJ1aWxkIGZvciBvbiBiZWluZyB1c2VkIG9uIHRoZSBwcm9kdWN0IHBhZ2UgaGVuc2UgdGhlIHZlcnkgc3BlY2lmaWMgbmFtaW5nIG9mIGlkJ3MgYW5kIGNsYXNzZXMuXHJcbi0gVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGJhc2VkIG9uIEZvdW5kYXRpb24ncyBSZXNwb25zaXZlIEFjY29yZGlvbiBUYWJzIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9yZXNwb25zaXZlLWFjY29yZGlvbi10YWJzLmh0bWxcclxuLSBUaGUgc3R5bGluZyBmb3IgcHJvZHVjdCB0YWJiZWQgbm90ZXMgaXMgZGVmaW5lZCBoZXJlXHJcbiAgLSBBdHRhY2htZW50c1xyXG4gIC0gU3BlY2lmaWNhdGlvbidzXHJcbiAgLSBSZXZpZXdzXHJcbiAgLSBDb21wb25hbnRzLlxyXG5cclxuKi9cbi5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLnJlc3BvbnNpdmUtdGFicy1jb250cm9scyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIC5hY2NvcmRpb24tdG9nZ2xlLWFsbC1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLmFjY29yZGlvbi10b2dnbGUtYWxsLWJ1dHRvbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+Bt1wiO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMTQxNmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogOHB4OyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy1oZWFkZXIgLmFjY29yZGlvbi10b2dnbGUtYWxsLWJ1dHRvbi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbhcIjsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lci5jb21wb25lbnQtcmVhZHkge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnJlc3BvbnNpdmUtdGFicyB7XG4gIHdpZHRoOiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMuY29tcG9uZW50LXJlYWR5IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5yZXNwb25zaXZlLXRhYnM6aGFzKC50YWJzLnZlcnRpY2FsKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEge1xuICAgICAgbWFyZ2luOiA1cHggMCAwOyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLnRhYnMtcGFuZWwge1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDsgfSB9XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLnRhYnMtcGFuZWwgdGFibGUge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdhcDogMTBweDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciwgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbiB7XG4gICAgICBncmlkLWNvbHVtbjogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnBhY2thZ2UtcmVmZXJlbmNlLWNvbnRhaW5lciB7XG4gICAgICBncmlkLXJvdzogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXI6YWZ0ZXIge1xuICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICBncmlkLXJvdzogMTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgLnJlc3BvbnNpdmUtdGFicy5hY2NvdW50LWFyZWEgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIgLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIC50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xuICAgICAgZ3JpZC1yb3c6IDM7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzLmFjY291bnQtYXJlYSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiA4cHggMjBweDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBwYWRkaW5nOiAxMHB4IDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMuYWNjb3VudC1hcmVhIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5yZXNwb25zaXZlLXRhYnMuc2VhcmNoLXJlc3VsdHMgLnRhYnMtdGl0bGUgYSB7XG4gICAgICBwYWRkaW5nOiAxOHB4IDM1cHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzLnNlYXJjaC1yZXN1bHRzIC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiA0NXB4IDA7IH1cbiAgLnJlc3BvbnNpdmUtdGFicy5zZWFyY2gtcmVzdWx0cyAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgcGFkZGluZzogMjBweCA1cHg7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMDsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWw6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NGE2ZDQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDNweCAwIDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhIHtcbiAgICAgICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGE6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7IH1cbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgLnRhYnMtdGl0bGU6bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjcxNTZhO1xuICAgICAgICBib3JkZXItd2lkdGg6IDAgM3B4IDAgMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuMnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIGEge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMjBweCAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy52ZXJ0aWNhbCAudGFicy10aXRsZSBhOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJzsgfVxuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLnZlcnRpY2FsIC50YWJzLXRpdGxlIGEgLmZvdW5kLWNvdW50IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgKyAudGFicy1jb250ZW50IHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMudmVydGljYWwgKyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAzMHB4OyB9IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSB7XG4gICAgd2lkdGg6IGZpdC1jb250ZW50OyB9XG4gICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgIHBhZGRpbmc6IDE4cHggODBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIGEge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudCB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnKCc7IH1cbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgLmZvdW5kLWNvdW50OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyknOyB9XG4gICAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXRpdGxlIC5mb3VuZC1jb3VudDpiZWZvcmUsIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtdGl0bGUgLmZvdW5kLWNvdW50OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLnRhYnMtcGFuZWwgdGFibGUsIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLXBhbmVsIHRhYmxlIHRyIHRkLCAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0ciB0ZCB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1wYW5lbCB7XG4gICAgcGFkZGluZzogMjBweCAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNTBweDsgfSB9XG4gIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIwcHggMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDUwcHg7IH0gfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQge1xuICAgIGZsZXg6IDE7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49dHJ1ZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdHI6bm90KDpsYXN0LWNoaWxkKSxcbiAgLnJlc3BvbnNpdmUtdGFicyAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cbiAgLnJlc3BvbnNpdmUtdGFicyAudGFicy1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRkLFxuICAucmVzcG9uc2l2ZS10YWJzIC5hY2NvcmRpb24tY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0ZCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucmVzcG9uc2l2ZS10YWJzIC50YWJzLWNvbnRlbnQgdWwsXG4gIC5yZXNwb25zaXZlLXRhYnMgLmFjY29yZGlvbi1jb250ZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgxIHtcbiAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgxOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDE6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDE6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgxOm9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMTpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDIge1xuICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDI6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgyOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDI6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgyOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMyB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICM2NzE1NmE7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDM6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDM6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGgzOmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDM6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoMzpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDM6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGgzOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNCB7XG4gIG1hcmdpbjogMjVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg0OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNDpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg0OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDQ6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg0Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNDpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDUge1xuICBtYXJnaW46IDE1cHggMCAxMHB4O1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg1OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNTpmaXJzdC1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg1OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGg1Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDU6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGg1Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg1Om9ubHktY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNTpvbmx5LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDYge1xuICBtYXJnaW46IDE1cHggMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDY6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGg2OmZpcnN0LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgaDY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBoNjpvbmx5LWNoaWxkLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgaDY6b25seS1jaGlsZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGg2Om9ubHktY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCB7XG4gIG1hcmdpbjogdmFyKC0taW5kZW50LW1hcmdpbiwgMCk7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBjb2xvcjogIzAwMDAwMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogbGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdID4gaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gLjJlbSAuMmVtIDA7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiByaWdodFwiXSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcFtzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSA+IGltZyB7XG4gICAgbWFyZ2luOiAuMmVtIDAgLjJlbSAuMmVtOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHAgaW1nLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwIGltZywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHAgaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBwICsgcCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgcCArIHAsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsIHVsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCB1bCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIHVsIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsIGxpOmJlZm9yZSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgbGk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCBsaTpiZWZvcmUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogNXB4O1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIHtcbiAgbWFyZ2luOiAxMHB4O1xuICBwYWRkaW5nOiAwIDI1cHg7IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wgb2wge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgb2wgb2wgb2wsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgb2wgb2wgb2wge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhOyB9XG4gICAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sIG9sIG9sIG9sIG9sLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLXJvbWFuOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGxpLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBsaSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGxpIHtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDEsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGgxLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMSB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGgyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDMsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGgzLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoMywgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDMge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciB1bCArIGg0LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIG9sICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg1LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1jbXMtZW50cnkgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdWwgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHVsICsgaDUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBvbCArIGg1IHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgb2wgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgb2wgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IHVsICsgaDYsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCAudGFiYmVkLWNtcy1lbnRyeSBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciB1bCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBvbCArIGg2LCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1ub3Rlcy1jb250YWluZXIgdWwgKyBoNiwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIG9sICsgaDYge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIC50YWJiZWQtY21zLWVudHJ5IGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciBkbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtY21zLWVudHJ5IGRsLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgLnRhYmJlZC1zcGVjaWZpY2F0aW9uLWNvbnRhaW5lciBkbCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IC50YWJiZWQtbm90ZXMtY29udGFpbmVyIGRsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCBwOm5vdCg6ZW1wdHkpICsgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxNXB4IDA7IH1cblxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB7XG4gIC0tdGhlYWQtYm9yZGVyLWNvbG91cjogJHRoZWFkLWJvcmRlci1jb2xvdXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRyLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCB7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICAgICAgZGlzcGxheTogdGFibGU7IH0gfVxuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH0gfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHk6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cbiAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZSB0Ym9keSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRib2R5IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCwgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLmFjY29yZGlvbi1jb250ZW50IHRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkgdGgge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgI3RhYmJlZC1ub3Rlcy1jb250YWluZXIgLnRhYnMtcGFuZWwgdGFibGUgdGJvZHkgdHIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlIC5jb2wtbGFiZWwsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZSAuY29sLWxhYmVsIHtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCksICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5IHRyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH0gfVxuICAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAudGFicy1wYW5lbCB0YWJsZS5uby13cmFwLCAjdGFiYmVkLW5vdGVzLWNvbnRhaW5lciAuYWNjb3JkaW9uLWNvbnRlbnQgdGFibGUubm8td3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJzLXBhbmVsIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQsICN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC5hY2NvcmRpb24tY29udGVudCB0YWJsZS5jb21wYXJpc29uLXRhYmxlIHRib2R5IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbiN0YWJiZWQtbm90ZXMtY29udGFpbmVyIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIgdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udGFicy1wYW5lbCAuY29tcG9uZW50cy1pbnRyby1jb250YWluZXIsIC5hY2NvcmRpb24tY29udGVudCAuY29tcG9uZW50cy1pbnRyby1jb250YWluZXIge1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgcDpub3QoOmVtcHR5KSArIC5jb21wYXJpc29uLXRhYmxlLWNvbnRhaW5lciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHA6bm90KDplbXB0eSkgKyB0YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xuICBtYXJnaW46IDE1cHggMDsgfVxuXG4udGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHtcbiAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB0aCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkIHRoIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlOm5vdChbY2xhc3MqPXByZXNldF0pIHRoZWFkLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwOyB9IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHRib2R5Om5vdCguY29tcGFyaXNvbi1zdW1tYXJ5KSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0ZCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7IH0gfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0aGVhZFtjbGFzcyo9XCJwcmVzZXRcIl0gKyB0Ym9keTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDEwcHg7IH0gfVxuICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHRoLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudGFicy1wYW5lbDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZSB0Ym9keSB0ciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIHRib2R5IHRyIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUgLmNvbC1sYWJlbCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsgfSB9XG4gIC50YWJzLXBhbmVsOmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLm5vLXdyYXAsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB0YWJsZS5uby13cmFwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgdGFibGUuY29tcGFyaXNvbi10YWJsZSB0Ym9keSB0ZDpmaXJzdC1jaGlsZCwgLmFjY29yZGlvbi1jb250ZW50OmhhcyguY29tcG9uZW50cy1pbnRyby1jb250YWluZXIpIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgLmRlc2NyaXB0aW9uLWNvbCwgLnRhYnMtcGFuZWw6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgLnJlZmVyZW5jZS1jb2wsIC5hY2NvcmRpb24tY29udGVudDpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSAuZGVzY3JpcHRpb24tY29sLCAuYWNjb3JkaW9uLWNvbnRlbnQ6aGFzKC5jb21wb25lbnRzLWludHJvLWNvbnRhaW5lcikgLnJlZmVyZW5jZS1jb2wge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50YWJzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tdG9wOiA4MHB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RhZGFkYSAhaW1wb3J0YW50OyB9XG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRhYnMudmVydGljYWwge1xuICAgICAgICBtYXgtd2lkdGg6IDMwMHB4OyB9IH1cbiAgLnRhYnMgLnRhYnMtdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhOyB9XG4gICAgICAudGFicyAudGFicy10aXRsZS5pcy1hY3RpdmU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC50YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgbdcIjsgfVxuICAgIC50YWJzIC50YWJzLXRpdGxlIGE6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbhcIjtcbiAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgICAudGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAudGFicyAudGFicy10aXRsZSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAudGFicyAudGFicy10aXRsZSBhOmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cblxuLmFjY29yZGlvbiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYWNjb3JkaW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYWNjb3JkaW9uLnBhbmVsLXN0YXRlLWluZGljYXRvci1maXJzdCAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmFjY29yZGlvbi5wYW5lbC1zdGF0ZS1pbmRpY2F0b3ItZmlyc3QgLmFjY29yZGlvbi10aXRsZSAudGl0bGUge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5hY2NvcmRpb24ucmFkaW8taW5kaWNhdG9ycyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74aSXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7IH1cbiAgLmFjY29yZGlvbi5yYWRpby1pbmRpY2F0b3JzIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+GklwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7IH1cbiAgLmFjY29yZGlvbi5zdXBwcmVzcy10aXRsZS1zaW5nbGUtY2hpbGQgLmFjY29yZGlvbi1pdGVtOm9ubHktY2hpbGQgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYWNjb3JkaW9uLnN1cHByZXNzLXRpdGxlLXNpbmdsZS1jaGlsZCAuYWNjb3JkaW9uLWl0ZW06b25seS1jaGlsZCAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlci13aWR0aDogMXB4OyB9XG4gIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWRlZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFkZWY7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6aG92ZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIgYS5hY2NvcmRpb24tdGl0bGUtY29udGVudDphZnRlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi10aXRsZTphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzJmNjU4OTsgfVxuICAgICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLXRpdGxlOmFjdGl2ZTphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWN0aXZlIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24tdGl0bGU6YWN0aXZlIGEuYWNjb3JkaW9uLXRpdGxlLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5hY2NvcmRpb24uYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cnMgLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmY2NTg5OyB9XG4gICAgLmFjY29yZGlvbi5hY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtY29sb3VycyAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAuYWNjb3JkaW9uLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSBhOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xuICAgICAgY29sb3I6ICM2ZDZkNmQ7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlLmRpc2FibGVkIC50aXRsZS1pY29uIHtcbiAgICAgICAgb3BhY2l0eTogLjQ7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbhcIjtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBjb2xvcjogIzk1OTU5NTsgfVxuICAgIC5hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSAudGl0bGUtaWNvbiB7XG4gICAgICB3aWR0aDogMTc1cHg7XG4gICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7IH1cbiAgICAuYWNjb3JkaW9uIC5hY2NvcmRpb24tdGl0bGUgLmZvdW5kLWNvdW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIG9yZGVyOiAtMTsgfVxuICAuYWNjb3JkaW9uIGEuYWNjb3JkaW9uLXRpdGxlOmhvdmVyIHtcbiAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAuYWNjb3JkaW9uIC5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApOyB9XG4gICAgLmFjY29yZGlvbiAuaXMtYWN0aXZlIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgbdcIjtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGFkYWRhO1xuICAgIGJvcmRlci13aWR0aDogMCAxcHggMXB4IDFweDsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBoZWlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmFjY29yZGlvbi1jb250ZW50W2FyaWEtaGlkZGVuPVwiZmFsc2VcIl0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiAyMHB4IDI1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuYWNjb3JkaW9uLWNvbnRlbnRbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggNTBweDsgfSB9XG5cbi5hY2NvcmRpb24tdGl0bGUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5hdHRhY2htZW50cy1jb250YWluZXIgdWwgbGkge1xuICAgICAgZmxleDogMSAwIDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYXR0YWNobWVudHMtY29udGFpbmVyIHVsIGxpIHtcbiAgICAgIGZsZXg6IDEgMCAzMyU7IH0gfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gIC5hdHRhY2htZW50cy1jb250YWluZXIgLmF0dGFjaG1lbnQ6aG92ZXIge1xuICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudDphY3RpdmUge1xuICAgIGNvbG9yOiAjOTU5NTk1O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuYXR0YWNobWVudHMtY29udGFpbmVyIC5hdHRhY2htZW50OmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM5NTk1OTU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5hdHRhY2htZW50cy1jb250YWluZXIgLmF0dGFjaG1lbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Fm1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgY29sb3I6IHJnYmEoMTgsIDEyOSwgMTkxLCAwLjgpO1xuICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICBmb250LXNpemU6IDI2cHg7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYnJvY2h1cmU6YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZxcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgY29sb3I6IHJnYmEoMSwgNjUsIDExMSwgMC42KTsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC51c2VyLWd1aWRlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74WbXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogcmdiYSgxLCA2NSwgMTExLCAwLjYpOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLnBhcnRzLWRpYWdyYW06YmVmb3JlIHtcbiAgY29udGVudDogXCLvhZxcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiByZ2JhKDEsIDY1LCAxMTEsIDAuNik7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAud29yZDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuZG9jJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLmRvY3gnXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HglwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICMyYjU3OWE7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAucG93ZXJwb2ludDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScucHB0J106YmVmb3JlIHtcbiAgY29udGVudDogXCLvh4RcIjtcbiAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gIGNvbG9yOiByZ2JhKDEwMywgMjEsIDEwNiwgMC44KTsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC5leGNlbDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScueGxzJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnhsc3gnXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+Hg1wiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICMwMTQxNmY7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAucGRmOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5wZGYnXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HgVwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiO1xuICBjb2xvcjogI2ZmMDEwMTsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC5jc3Y6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLmNzdiddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi75udXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogcmdiYSgxLCA2NSwgMTExLCAwLjkpOyB9XG5cbi5hdHRhY2htZW50cy1jb250YWluZXIgLmltYWdlLWF0dGFjaG1lbnQ6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLmpwZyddOmJlZm9yZSwgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciBbaHJlZiQ9Jy5wbmcnXTpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScuZ2lmJ106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLndlYm0nXTpiZWZvcmUge1xuICBjb250ZW50OiBcIu+HhVwiO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgY29sb3I6ICM5NTk1OTU7IH1cblxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAudmlkZW8tYXR0YWNobWVudDpiZWZvcmUsIC5hdHRhY2htZW50cy1jb250YWluZXIgW2hyZWYkPScubW92J106YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLm1wNCddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eIXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4uYXR0YWNobWVudHMtY29udGFpbmVyIC56aXA6YmVmb3JlLCAuYXR0YWNobWVudHMtY29udGFpbmVyIFtocmVmJD0nLnppcCddOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74eGXCI7XG4gIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICBjb2xvcjogIzY3MTU2YTsgfVxuXG4vKlxyXG4tLS0tLSBTdGlja3kgLS0tLS0tIFxyXG5TdGlja3kgZnVuY3Rpb25hbGl0eSB0aGF0IGlzIGJ1aWxkIG9udG9wIG9mIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9zdGlja3kuaHRtbC5cclxuXHJcbltJTVBPUlRBTlRdIC0gVGhpcyBDU1MgaXMgbm90IGZvciB0aGUgYmFza2V0IHN1bW1tYXJ5IG9yIHRoZSBoZWFkZXIgcGxlYXNlIHZpZXcgaGVhZGVyLnNjc3MgYW5kIGJhc2tldC5zY3NzIGZvciB0aGF0LlxyXG4qL1xuLnN0aWNreSB7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2s6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjZzOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSB7XG4gICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAwLjhzOyB9XG4gIC5zdGlja3kuZWxlbWVudC1ub3QtaW4tdmlld3BvcnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiB1bnNldCAhaW1wb3J0YW50OyB9XG5cbltkYXRhLWF4aXMtc3RpY2t5LWNvbnRhaW5lcl0ge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIFtkYXRhLWF4aXMtc3RpY2t5LWNvbnRhaW5lcl0gLmNhbGxiYWNrQ29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDsgfVxuXG5bZGF0YS1heGlzLXN0aWNreV0ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5bZGF0YS1zdGlja3ktY29udGFpbmVyXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiBhdXRvO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogOTUlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogODAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEyOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogdW5zZXQ7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIgLnN0aWNreSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIgLnN0aWNreSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7IH0gfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucy1jb250YWluZXIgLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucyB1bCB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIHVsIHtcbiAgICAgICAgZ2FwOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyB1bCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaSB7XG4gICAgZmxleDogMSAxIDA7IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaSBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpIGEge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYnV0dG9uLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpvbmx5LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpmaXJzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMDsgfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgbGk6bGFzdC1jaGlsZCBidXR0b24sIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOmxhc3QtY2hpbGQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIGxpOm9ubHktY2hpbGQgYnV0dG9uLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyBsaTpvbmx5LWNoaWxkIGEge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9IH1cbiAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMjhweDtcbiAgICAgICAgaGVpZ2h0OiAxMjhweDsgfVxuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246aG92ZXIgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBhLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmhvdmVyIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjpob3ZlciBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGEsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIGJ1dHRvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbjphY3RpdmUgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uOmFjdGl2ZSBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b246YWN0aXZlIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5Ny4yNWVtKSB7XG4gICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTcuMjVlbSkge1xuICAgICAgICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICMwMTQxNmY7IH0gfVxuICAgIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMTBweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbiB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk3LjI1ZW0pIHtcbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbiB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHBhZGRpbmc6IDRweCAxNHB4O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMyk7IH0gfVxuICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLmRpc2FibGVkLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGFbZGlzYWJsZWRdLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZCwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xuICAgICAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgICAgICAgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBhLmRpc2FibGVkIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGFbZGlzYWJsZWRdIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbi5kaXNhYmxlZCBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSwgLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiBidXR0b25bZGlzYWJsZWRdIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAgICAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGEuZGlzYWJsZWQgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYVtkaXNhYmxlZF0gc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUsIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gYnV0dG9uLmRpc2FibGVkIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlLCAuc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIGJ1dHRvbltkaXNhYmxlZF0gc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAjNmQ2ZDZkOyB9XG5cbi8qXHJcbi0tLS0tIExpc3QgU29ydGluZyBPcHRpb25zICAtLS0tLVxyXG4tIEhvbGRzIHRoZSBzdHlsZXMgZm9yIHRoZSBmb2xsb3dpbmc6IFxyXG4gIC0gUHJvZHVjdCBsaXN0KHMpXHJcbiAgLSBBY2NvdW50IGFyZWEgc29ydGluZyAoIGhpc3RvcmljYWwgdHJhbnNhY3Rpb25zLCBjYWxsIHN5c3RlbSwgb3JkZXJzIClcclxuLSBUaGUgZm9sbG93aW5nIGNvbXBvbmVudHMgd2lsbCBiZSBmb3VuZCBoZXJlOiBcclxuICAtIExpc3QgaXRlbSBjb3VudFxyXG4gIC0gU29ydCBieSBcclxuICAtIEZpbHRlcnMgdG9nZ2xlICggSWYgb3BlbmluZyBhIHBvcHVwIClcclxuICAtIFZpZXcgc3dpdGNoZXIgKCBHcmlkIG9yIFRhYmxlIClcclxuICAtIFBhZ2luYXRpb24gXHJcbiAgLSBJdGVtcyBwZXIgcGFnZS5cclxuKi9cbi5BWElTUmVzdWx0c0NvbnRhaW5lciAuY29udHJvbCAubGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jb250cm9sIC5sYWJlbCB7XG4gIHdpZHRoOiAxNjBweDtcbiAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNvbnRyb2wgLmxhYmVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY29udHJvbCAubGFiZWwge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuLkFYSVNSZXN1bHRzQ29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBwYWRkaW5nOiA1cHggMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIHtcbiAgICAgIGdhcDogMTBweCAxNXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIge1xuICAgICAgbWluLWhlaWdodDogNDBweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciA+IGRpdiwgLmxpc3Qtc29ydC1jb250YWluZXIgPiBkaXYge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1vcHRpb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LW9wdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtb3B0aW9uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1vcHRpb24ge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvla1cIjtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGEge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gYTpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmRvd25sb2FkLW9wdGlvbiBhOm5vdCg6b25seS1jaGlsZCk6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIGE6bm90KDpvbmx5LWNoaWxkKTpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgaGVpZ2h0OiA2MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IC02cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5kb3dubG9hZC1vcHRpb24gLmJ1dHRvbnMtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZG93bmxvYWQtb3B0aW9uIC5idXR0b25zLWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAxMnB4OyB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXlDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5pdGVtLWNvdW50LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuaXRlbS1jb3VudCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5pdGVtLWNvdW50LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5LCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLml0ZW0tY291bnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuaXRlbS1jb3VudCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtLWNvdW50LWNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbS1jb3VudC1jb250YWluZXIgLml0ZW0tY291bnQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuQVhJU1Jlc3VsdERpc3BsYXksIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheUNvbnRhaW5lciAuaXRlbS1jb3VudCwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5BWElTUmVzdWx0RGlzcGxheSwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW0tY291bnQtY29udGFpbmVyIC5pdGVtLWNvdW50IHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIgLmZpbHRlci10b2dnbGUge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5maWx0ZXItdG9nZ2xlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTMpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5maWx0ZXItdG9nZ2xlLWNvbnRhaW5lciAuYWN0aXZlLWZpbHRlci1jb3VudCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmZpbHRlci10b2dnbGUtY29udGFpbmVyIC5hY3RpdmUtZmlsdGVyLWNvdW50IHtcbiAgICAgIHRvcDogLTZweDtcbiAgICAgIGxlZnQ6IDEwcHg7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgLmNvbnRyb2wuc2VhcmNoLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuY2FsbC1zZWFyY2gtY29udGFpbmVyIC5jb250cm9sLnNlYXJjaCB7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgaW5wdXQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgaW5wdXQge1xuICAgICAgICBtaW4td2lkdGg6IDM0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciBpbnB1dCArIGJ1dHRvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciBpbnB1dCArIGJ1dHRvbiB7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4OyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmNhbGwtc2VhcmNoLWNvbnRhaW5lciAubGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5jYWxsLXNlYXJjaC1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTNweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5icmFuY2gtZmlsdGVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuYnJhbmNoLWZpbHRlciB7XG4gICAgICBtYXgtd2lkdGg6IDQ5MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuYnJhbmNoLWZpbHRlciBzZWxlY3QsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuYnJhbmNoLWZpbHRlciAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5icmFuY2gtZmlsdGVyIHNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmJyYW5jaC1maWx0ZXIgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiAzMDBweDsgfSB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuYnJhbmNoLWZpbHRlciAudG9vbHRpcC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5icmFuY2gtZmlsdGVyIC50b29sdGlwLWNvbnRhaW5lciB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIGxhYmVsLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgbGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gbGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1NvcnRGb3JtIGxhYmVsLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgbGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gbGFiZWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIGxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCBzZWxlY3QsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTU29ydEZvcm0gLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3Qgc2VsZWN0LCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qgc2VsZWN0IHtcbiAgICAgICAgICB3aWR0aDogMjE1cHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4OyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXNvcnQtYnktY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1NvcnRGb3JtIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMjE1cHg7IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtc29ydC1ieS1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNTb3J0Rm9ybSAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC1zb3J0LWJ5LWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWRyb3Bkb3duIHtcbiAgICAgIGhlaWdodDogNDBweDsgfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIge1xuICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZ2FwOiAwIDEwcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwge1xuICAgICAgICAgIGdhcDogMCA1cHg7IH0gfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBsaSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBsaSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgbGksIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGxpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDsgfSB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTEwKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wge1xuICAgICAgICAgICAgcGFkZGluZzogMTJweDsgfSB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTpob3ZlciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTpob3ZlciwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTpob3ZlciAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDpob3ZlciAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmhvdmVyIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTpob3ZlciAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmhvdmVyIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTpob3ZlciAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6aG92ZXIgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpOyB9XG4gICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTphY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYTphY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYTphY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2w6YWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGE6YWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sOmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGE6YWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbDphY3RpdmUgLmljb246YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmFjdGl2ZSAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmRpc2FibGVkLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQge1xuICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKTsgfVxuICAgICAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmRpc2FibGVkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuZGlzYWJsZWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5kaXNhYmxlZCAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZC5hY3RpdmUgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdC5hY3RpdmUgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQuYWN0aXZlIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkLmFjdGl2ZSAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0LmFjdGl2ZSAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEgLmljb24sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbiwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEgLmljb24sIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYSAuaWNvbiwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEgLmljb24sIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb24ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYSAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sIC5pY29uOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIGEuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmdyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmdyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAuQVhJU1Jlc3VsdHNDb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5ncmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdHcmlkIC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuZ3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLmdyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5ncmlkIC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5BWElTVmlld0dyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCBhLmdyaWQgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3R3JpZCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuZ3JpZCAuaWNvbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwi74CKXCI7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCBhLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5saXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTVmlld0NvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgLnZpZXctY29udHJvbC5saXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEubGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLkFYSVNWaWV3TGlzdCAuaWNvbjpiZWZvcmUsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmxpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1ZpZXdDb250YWluZXIgdWwgYS5saXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNWaWV3Q29udGFpbmVyIHVsIC52aWV3LWNvbnRyb2wubGlzdCAuaWNvbjpiZWZvcmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5saXN0LXZpZXctY29udGFpbmVyIHVsIGEuQVhJU1ZpZXdMaXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgYS5saXN0IC5pY29uOmJlZm9yZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLmxpc3Qtdmlldy1jb250YWluZXIgdWwgLnZpZXctY29udHJvbC5BWElTVmlld0xpc3QgLmljb246YmVmb3JlLCAubGlzdC1zb3J0LWNvbnRhaW5lciAubGlzdC12aWV3LWNvbnRhaW5lciB1bCAudmlldy1jb250cm9sLmxpc3QgLmljb246YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+Ai1wiOyB9XG4gIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgKyAuQVhJU1BlclBhZ2VDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciArIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOm50aC1jaGlsZCgyKSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgbWFyZ2luOiAwIDVweDsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmhvdmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGk6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmhvdmVyIGEsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTpob3ZlciBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gICAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaTphY3RpdmUgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpOmFjdGl2ZSBhIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaS5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5BWElTUGVyUGFnZUNvbnRhaW5lciB1bCBsaS5hY3RpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7IH1cbiAgICAgICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGxpLmFjdGl2ZSBhLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgbGkuYWN0aXZlIGEge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuQVhJU1BlclBhZ2VDb250YWluZXIgdWwgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHVsIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTAuMjZweCAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIGRpdjpmaXJzdC1jaGlsZC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIGRpdjpmaXJzdC1jaGlsZC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBnYXA6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNyU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBnYXA6IDAgNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYSwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhIHtcbiAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBwYWRkaW5nOiAxMC4yNnB4IDhweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgY29sb3IgMC44czsgfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYTpob3ZlciwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzLCBjb2xvciAwLjZzOyB9XG4gICAgICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhOmFjdGl2ZSwgLmxpc3Qtc29ydC1jb250YWluZXIgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcbiAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYS5hY3RpdmUsIC5saXN0LXNvcnQtY29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgYS5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIgKyAucGFnaW5hdGlvbi1jb250YWluZXIsIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyICsgLkFYSVNQYWdlTnVtYmVyaW5nLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyICsgLnBhZ2luYXRpb24tY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuaXRlbXMtcGVyLWxpc3QtY29udGFpbmVyICsgLkFYSVNQYWdlTnVtYmVyaW5nIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuICAuQVhJU1Jlc3VsdHNDb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIG9yZGVyOiA2OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyLCAubGlzdC1zb3J0LWNvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAyMyU7IH0gfVxuICAgIC5BWElTUmVzdWx0c0NvbnRhaW5lciAuc29ydC1ieS1kYXlzLWNvbnRhaW5lciBsYWJlbCwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIgbGFiZWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgLkFYSVNSZXN1bHRzQ29udGFpbmVyIC5zb3J0LWJ5LWRheXMtY29udGFpbmVyIC5jb250cm9sLnNlbGVjdCwgLmxpc3Qtc29ydC1jb250YWluZXIgLnNvcnQtYnktZGF5cy1jb250YWluZXIgLmNvbnRyb2wuc2VsZWN0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5BWElTUGFnZU51bWJlcmluZywgLnBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTBweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuQVhJU1BhZ2VOdW1iZXJpbmcsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgZ2FwOiAwIDVweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgLkFYSVNQYWdlTnVtYmVyaW5nIGEsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhIHtcbiAgICBtYXgtaGVpZ2h0OiA0MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTAuMjZweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIC5BWElTUGFnZU51bWJlcmluZyBhOmhvdmVyLCAucGFnaW5hdGlvbi1jb250YWluZXIgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAuQVhJU1BhZ2VOdW1iZXJpbmcgYTphY3RpdmUsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gICAgLkFYSVNQYWdlTnVtYmVyaW5nIGEuc2VsZWN0ZWQsIC5BWElTUGFnZU51bWJlcmluZyBhLmFjdGl2ZSwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEuc2VsZWN0ZWQsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgLkFYSVNQYWdlTnVtYmVyaW5nIGEuc2VsZWN0ZWQ6aG92ZXIsIC5BWElTUGFnZU51bWJlcmluZyBhLmFjdGl2ZTpob3ZlciwgLnBhZ2luYXRpb24tY29udGFpbmVyIGEuc2VsZWN0ZWQ6aG92ZXIsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciBhLmFjdGl2ZTpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuQVhJU1BhZ2VOdW1iZXJpbmcgLkFYSVNQYWdlTnVtYmVySm9pbmVyLCAuQVhJU1BhZ2VOdW1iZXJpbmcgLnBhZ2luYXRpb24tb3B0aW9uLWpvaW5lciwgLnBhZ2luYXRpb24tY29udGFpbmVyIC5BWElTUGFnZU51bWJlckpvaW5lciwgLnBhZ2luYXRpb24tY29udGFpbmVyIC5wYWdpbmF0aW9uLW9wdGlvbi1qb2luZXIge1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5wYWdpbmF0aW9uTGFiZWwsIC5wYWdpbmF0aW9uLWxhYmVsIHtcbiAgbWFyZ2luLXJpZ2h0OiAxM3B4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuXG4vKipcclxuXHJcbi0tLS0gTWFuYWdlIENhbGxzIC0tLS0gXHJcblxyXG4tIEZvcm1hbGx5IGtub3cgYXMgdGhlIGNhbGwgcG9ydGFsIGJlZm9yZSBpdCBnb3QgZW1iZWRkZWQgaW4gZXhwcmVzcywgbWFuYWdlIGNhbGxzIGlzIGFjY291bnQgZnVuY3Rpb25hbGl0eSB0aGF0IGRpc3BsYXlzIGNhbGxzIGluIGEgbGlzdCBpbiBleHByZXNzLlxyXG4tIFN0eWxlcyBpbmNsdWRlZCBoZXJlOiBcclxuICAtIExpc3QgZm9yIGNhbGwgbGlzdCArIGV2ZW50cyBsaXN0LlxyXG4gIC0gRW5xdWlyeSBzdW1tYXJ5LlxyXG4gIC0gQ2FsbCByYXRpbmcgZm9udHMuXHJcbiAgLSBTdGlja3kgYnV0dG9ucyBpY29ucy5cclxuKiovXG4uZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiBoMiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIGxpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gdWwgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cbiAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCAubGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZW5xdWlyeS1oZWFkZXItc2VjdGlvbiB1bCAubGFiZWwge1xuICAgICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIHVsIC52YWx1ZSB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gLmVucXVpcnktaGVhZGVyLWhlYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gLmNvbnRyb2wucmFkaW86bm90KC5jaGVja2JveCkgc3Bhbi5yYWRpbyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDEwcHg7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYWxsLXJhdGluZy1jb250YWluZXIgdWwge1xuICAgICAgZ2FwOiA1cHg7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG4uY2FsbC1yYXRpbmctY29udGFpbmVyLnBhZ2UtdmlldyB7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgbWFyZ2luOiBhdXRvOyB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIubGlzdC12aWV3IHtcbiAgd2lkdGg6IDIyLjVweDtcbiAgaGVpZ2h0OiAyMi41cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYWxsLXJhdGluZy1jb250YWluZXIubGlzdC12aWV3IHtcbiAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5jYWxsLXJhdGluZy1jb250YWluZXIgLnJhdGluZy1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4uY2FsbC1yYXRpbmctY29udGFpbmVyIC5yYXRpbmctaW5mb3JtYXRpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSBpbnB1dCB7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgc3Bhbi5yYWRpbyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC42czsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi0wIC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLWNhbm5vdC1yYXRlLnN2Z1wiKTtcbiAgICBvcGFjaXR5OiAuMTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi0wLnVucmF0ZWQgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctdW5yYXRlZC5zdmdcIik7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tMSAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy12ZXJ5LWJhZC5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tMiAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy1iYWQuc3ZnXCIpOyB9XG4gIC5jYWxsLXJhdGluZy1jb250YWluZXIgLmNhbGwtcmF0aW5nLXZhbHVlLnJhdGluZy1pY29uLTMgLmljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY2FsbC1yYXRpbmctYXZlcmFnZS5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUucmF0aW5nLWljb24tNCAuaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jYWxsLXJhdGluZy1nb29kLnN2Z1wiKTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZS5yYXRpbmctaWNvbi01IC5pY29uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NhbGwtcmF0aW5nLXZlcnktZ29vZC5zdmdcIik7IH1cbiAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUgLmljb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSAucmFkaW8ge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvcGFjaXR5OiAuMjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgLmNhbGwtcmF0aW5nLWNvbnRhaW5lciAuY2FsbC1yYXRpbmctdmFsdWUgLnJhZGlvOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7IH1cbiAgICAuY2FsbC1yYXRpbmctY29udGFpbmVyIC5jYWxsLXJhdGluZy12YWx1ZSAucmFkaW86YWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IC43OyB9XG5cbi5jYWxsLXVyZ2VuY3ktaWNvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jYWxsLXVyZ2VuY3ktaWNvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIC5jYWxsLXVyZ2VuY3ktaWNvbi5sb3cge1xuICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvL2NhbGxzL2NwLXVyZ2VuY3ktbG93LnN2Zyk7IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uLm1lZGl1bSB7XG4gICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKC90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY3AtdXJnZW5jeS1tZWRpdW0uc3ZnKTsgfVxuICAuY2FsbC11cmdlbmN5LWljb24uaGlnaCB7XG4gICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKC90ZW1wbGF0ZS9jb250ZW50L2RldmVsb3BtZW50L2ltYWdlcy9pY29ucy8vY2FsbHMvY3AtdXJnZW5jeS1oaWdoLnN2Zyk7IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uLmNyaXRpY2FsIHtcbiAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoL3RlbXBsYXRlL2NvbnRlbnQvZGV2ZWxvcG1lbnQvaW1hZ2VzL2ljb25zLy9jYWxscy9jcC11cmdlbmN5LWNyaXRpY2FsLnN2Zyk7IH1cbiAgLmNhbGwtdXJnZW5jeS1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDIyLjVweDtcbiAgICBoZWlnaHQ6IDIyLjVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS11cmdlbmN5LWltYWdlLXVybCk7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb246YmVmb3JlIHtcbiAgZm9udC1zaXplOiAyNnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMGVtKSB7XG4gIC5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gLmJ1dHRvbi1pY29uOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAzMnB4OyB9IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb24uY2FsbC1iYWNrLXRvLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLlcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIC5idXR0b24taWNvbi5jYWxsLXJlcXVlc3QtYXJjaGl2ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIu6gu1wiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbi5zdGlja3ktc2lkZS1idXR0b25zIC5zdGlja3ktc2lkZS1idXR0b24gLmJ1dHRvbi1pY29uLmNhbGwtYWRkLWluZm9ybWF0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi7qC8XCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuLnN0aWNreS1zaWRlLWJ1dHRvbnMgLnN0aWNreS1zaWRlLWJ1dHRvbiAuYnV0dG9uLWljb24uY2FsbC1jcmVhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLuoLpcIjtcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuXG50YWJsZS5jYWxsLXRhYmxlLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xuICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUuZW5xdWlyeS10YWJsZSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlLmVucXVpcnktdGFibGUge1xuICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIC5ub3RpZmljYXRpb24tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLm5vdGlmaWNhdGlvbi1jb2wge1xuICAgICAgICB3aWR0aDogMTJweDsgfSB9XG4gICAgdGFibGUuY2FsbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCAubm90aWZpY2F0aW9uLWNvbnRlbnQsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAubm90aWZpY2F0aW9uLWNvbCAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnVucmVhZC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC51bnJlYWQtY29sIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIHRhYmxlLmNhbGwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSAuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1udW1iZXItY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCB7XG4gICAgd2lkdGg6IDkwcHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguY2FsbC1udW1iZXItY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY2FsbC1udW1iZXItY29sIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1udW1iZXItY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuY2FsbC1udW1iZXItY29sIGEge1xuICAgICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jYWxsLW51bWJlci1jb2wsIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmNhbGwtbnVtYmVyLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5jYWxsLW51bWJlci1jb2wge1xuICAgICAgICB3aWR0aDogOCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jdXN0b21lci1uYW1lLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jdXN0b21lci1uYW1lLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmN1c3RvbWVyLW5hbWUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY3VzdG9tZXItbmFtZS1jb2wge1xuICAgICAgd2lkdGg6IDEyJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIHRkLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgdGguc3ViamVjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGU6aGFzKC5yYXRpbmctY29sKSAuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZTpoYXMoLnJhdGluZy1jb2wpIHRkLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGU6aGFzKC5yYXRpbmctY29sKSB0aC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlOmhhcygucmF0aW5nLWNvbCkgLnN1YmplY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxNSU7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnN1YmplY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wge1xuICAgIHdpZHRoOiA1NSU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSAuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnN1YmplY3QtY29sIHtcbiAgICAgICAgd2lkdGg6IDcwJTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuc3ViamVjdC1jb2wgYSwgdGFibGUuY2FsbC10YWJsZSB0aC5zdWJqZWN0LWNvbCBhLCB0YWJsZS5jYWxsLXRhYmxlIC5zdWJqZWN0LWNvbCBhLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQuc3ViamVjdC1jb2wgYSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnN1YmplY3QtY29sIGEsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSAuc3ViamVjdC1jb2wgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5zdWJqZWN0LWNvbCwgdGFibGUuY2FsbC10YWJsZSAuc3ViamVjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zdWJqZWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnN1YmplY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLnN1YmplY3QtY29sIHtcbiAgICAgICAgd2lkdGg6IDIzLjclO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuc2VydmljZS1jb250cmFjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguc2VydmljZS1jb250cmFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zZXJ2aWNlLWNvbnRyYWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnNlcnZpY2UtY29udHJhY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxMS41JTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jYWxsLWNvbnRhY3QtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmNhbGwtY29udGFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jYWxsLWNvbnRhY3QtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2FsbC1jb250YWN0LWNvbCB7XG4gICAgICB3aWR0aDogMTAlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnVzZXItY29udGFjdC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudXNlci1jb250YWN0LWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnVzZXItY29udGFjdC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC51c2VyLWNvbnRhY3QtY29sIHtcbiAgICAgIHdpZHRoOiAxMCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQuY3JlYXRlZC1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguY3JlYXRlZC1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5jcmVhdGVkLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmNyZWF0ZWQtY29sIHtcbiAgICAgIHdpZHRoOiA3LjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQubGFzdC11cGRhdGVkLCB0YWJsZS5jYWxsLXRhYmxlIHRoLmxhc3QtdXBkYXRlZCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmxhc3QtdXBkYXRlZCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLmxhc3QtdXBkYXRlZCB7XG4gICAgICB3aWR0aDogNy43JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnJhdGluZy1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgucmF0aW5nLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnJhdGluZy1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5yYXRpbmctY29sIHtcbiAgICAgIHdpZHRoOiA2JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLnVyZ2VuY3ktY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnVyZ2VuY3ktY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudXJnZW5jeS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC51cmdlbmN5LWNvbCB7XG4gICAgICB3aWR0aDogNyU7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnR5cGUtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnR5cGUtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudHlwZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC50eXBlLWNvbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudHlwZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGgudHlwZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC50eXBlLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnR5cGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDclO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5zb3VyY2UtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLnNvdXJjZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5zb3VyY2UtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguc291cmNlLWNvbCB7XG4gICAgICB3aWR0aDogNyU7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wgcCwgdGFibGUuY2FsbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHAsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0ZC5kYXRhLXRpbWUtY29sIHAsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wsIHRhYmxlLmNhbGwtdGFibGUgdGguZGF0ZS10aW1lLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmRhdGEtdGltZS1jb2wsIC5yZXNwb25zaXZlLXJldmVhbC10YWJsZSB0aC5kYXRlLXRpbWUtY29sIHtcbiAgICAgIHdpZHRoOiAxNiU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQubm90ZXMtY29sLCB0YWJsZS5jYWxsLXRhYmxlIHRoLm5vdGVzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLm5vdGVzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLm5vdGVzLWNvbCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIHRhYmxlLmNhbGwtdGFibGUgdGQudGltZXN0YW1wLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC50aW1lc3RhbXAtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQudGltZXN0YW1wLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRoLnRpbWVzdGFtcC1jb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgdGFibGUuY2FsbC10YWJsZSB0ZC5jaGFuZ2VzLWNvbCwgdGFibGUuY2FsbC10YWJsZSB0aC5jaGFuZ2VzLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLmNoYW5nZXMtY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGguY2hhbmdlcy1jb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRkLnBlbmRpbmctY2hhbmdlcy1pbmZvLWNvbCwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRkLnBlbmRpbmctY2hhbmdlcy1pbmZvLWNvbCB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIHRhYmxlLmNhbGwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OyB9IH1cbiAgdGFibGUuY2FsbC10YWJsZSAuZWxsaXBzaXMtdGV4dDpob3ZlciwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIC5lbGxpcHNpcy10ZXh0OmhvdmVyIHtcbiAgICBsZWZ0OiAtNXB4OyB9XG4gIHRhYmxlLmNhbGwtdGFibGUgLmNhbGwtbm90ZXMtY29udGFpbmVyLCAucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUgLmNhbGwtbm90ZXMtY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTsgfVxuICB0YWJsZS5jYWxsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKSB7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgICB0YWJsZS5jYWxsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKTpob3ZlciwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHRyLmNhbGwtY2xvc2VkIHRkOm5vdCgucmF0aW5nLWNvbCk6bm90KC51bnJlYWQtY29sKTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5lbnF1aXJ5LWZpbHRlcnMgbGFiZWwge1xuICB3aWR0aDogMTAwJTsgfVxuICAuZW5xdWlyeS1maWx0ZXJzIGxhYmVsIHNwYW4uY2hlY2tib3gsIC5lbnF1aXJ5LWZpbHRlcnMgbGFiZWwgc3Bhbi5yYWRpbyB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi5lbnF1aXJ5LWZpbHRlcnMgLmxhYmVsIHtcbiAgd2lkdGg6IDgwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5jYWxsLXR5cGUtaWNvbiB7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiA1cHggMDtcbiAgcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuY2FsbC10eXBlLWljb24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuY2FsbC10eXBlLWljb246YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzAwYWRlZjsgfVxuICAuY2FsbC10eXBlLWljb24uZGVtbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgICAuY2FsbC10eXBlLWljb24uZGVtbzpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAyNnB4OyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKxcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2FsbC1wcml2YWN5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLFcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2FsbC10eXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJxcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY2xhc3NpZmljYXRpb246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6goFwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb21wbGV0ZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6glVwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb250YWN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJdcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY29udHJhY3Q6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gmlwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5jb250cmFjdC10eXBlOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoJlcIjsgfVxuICAuY2FsbC10eXBlLWljb24uY3JlYXRlZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCpXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmRlZmVycmVkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoKhcIjsgfVxuICAuY2FsbC10eXBlLWljb24uZXNjYWxhdGlvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCvXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmltcGFjdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCqXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmluYm91bmQtcGhvbmUtY2FsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCfXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLmluZm9ybWF0aW9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoK1cIjsgfVxuICAuY2FsbC10eXBlLWljb24ubGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCrXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLm91dGJvdW5kLXBob25lLWNhbGw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6grlwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5wcmlvcml0eTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCwXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnJlc3BvbnNpYmxpdHk6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gslwiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi5zaG9ydGN1dC1zZW50OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLNcIjsgfVxuICAuY2FsbC10eXBlLWljb24uc2xhLWluY2x1c2lvbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qC0XCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnN0YXR1czpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi7qCbXCI7IH1cbiAgLmNhbGwtdHlwZS1pY29uLnVuZGVmZXJyZWQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gt1wiOyB9XG4gIC5jYWxsLXR5cGUtaWNvbi51cmdlbmN5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLuoLhcIjsgfVxuICAuY2FsbC10eXBlLWljb24ud29ya2Zsb3c6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu6gnVwiOyB9XG5cbi5jYWxsLXNvdXJjZS1pY29uIHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNhbGwtc291cmNlLWljb24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAuY2FsbC1zb3VyY2UtaWNvbjpiZWZvcmUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzAwYWRlZjsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi5kZW1vIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMzBweDsgfVxuICAgIC5jYWxsLXNvdXJjZS1pY29uLmRlbW86YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjZweDsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi51c2VyOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgIdcIjsgfVxuICAuY2FsbC1zb3VyY2UtaWNvbi5wb3J0YWw6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CrFwiOyB9XG4gIC5jYWxsLXNvdXJjZS1pY29uLmVtYWlsOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvg6BcIjsgfVxuXG4udGFibGUtaGVhZGluZyB7XG4gIG1hcmdpbjogMTBweCAwOyB9XG5cbi8qXHJcbi0tLS0tIEJhY2sgdG8gdG9wIC0tLS0tLSBcclxuVGhpcyBpcyB0aGUgYnV0dG9uIHRoYXQgYXBwZWFyIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdGhhdCB0YWtlcyB5b3UgYmFjayB0byB0aGUgdG9wIG9mIHRoZSB2aWV3cG9ydC5cclxuKi9cbi5iYWNrLXRvcC1jb250YWluZXIge1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAxMHB4O1xuICBib3R0b206IDcwcHg7XG4gIHotaW5kZXg6IDE1MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5iYWNrLXRvcC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICByaWdodDogMzBweDtcbiAgICAgIGJvdHRvbTogOTBweDsgfSB9XG5cbi5iYWNrLXRvcC1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzOyB9XG4gIC5iYWNrLXRvcC1idXR0b246YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Bt1wiO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDE0MTZmO1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogIzY0YTZkNDtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5iYWNrLXRvcC1idXR0b246YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgLmJhY2stdG9wLWJ1dHRvbjpob3ZlciwgLmJhY2stdG9wLWJ1dHRvbjpob3Zlci5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gICAgLmJhY2stdG9wLWJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5iYWNrLXRvcC1idXR0b246aG92ZXIuYWN0aXZlOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDE0MTZmO1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgLmJhY2stdG9wLWJ1dHRvbjphY3RpdmU6YmVmb3JlLCAuYmFjay10b3AtYnV0dG9uOmFjdGl2ZTphY3RpdmU6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjNjcxNTZhO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAuYmFjay10b3AtYnV0dG9uLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogLjc7IH1cblxuLypcclxuLS0tLS0gU2VjdGlvbnMgLS0tLS0gXHJcbkF4aXMgdG9nZ2xlciBpcyBidWlsZCBvbiB0b3Agb2YgRm91bmRhdGlvbidzIFRvZ2dsZXIgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3RvZ2dsZXIuaHRtbCBhbmQgaXMgc2ltaWxhciB0byBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvYWNjb3JkaW9uLmh0bWwgYnV0IHNvbWV0aW1lcyBpdCBpcyBub3QgcG9zc2libGUgY29udmVuaWVudCB0byBidWlsZCB0aGUgc2VjdGlvbihzKSBpbiA8dWw+IG9yIGluIGRlc2t0b3AgeW91IHJlcXVpcmUgdGhlIGxheW91dCB0byBiZSBjb21wbGV0ZWx5IGRpZmZlcmVudCB0byBtb2JpbGUuXHJcbiovXG4uYXhpcy1zZWN0aW9uIHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5heGlzLXNlY3Rpb24uYWN0aXZlIC5heGlzLXNlY3Rpb24taGVhZGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu+Bt1wiOyB9XG4gIC5heGlzLXNlY3Rpb24uYWN0aXZlIC5heGlzLXNlY3Rpb24tY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9XG4gIC5heGlzLXNlY3Rpb24uYWN0aXZlIC5heGlzLXNlY3Rpb24tYnV0dG9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmF4aXMtc2VjdGlvbi5yZXZlYWwtZW5hYmxlZDpub3QoLmFjdGl2ZSkge1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7IH1cbiAgICAuYXhpcy1zZWN0aW9uLnJldmVhbC1lbmFibGVkOm5vdCguYWN0aXZlKSAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tYm90dG9tIDAuNnMsIHBhZGRpbmctYm90dG9tIDAuNnM7IH1cbiAgLmF4aXMtc2VjdGlvbi5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTcpO1xuICAgIG9wYWNpdHk6IC42O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYXhpcy1zZWN0aW9uLmRpc2FibGVkIC5heGlzLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5heGlzLXNlY3Rpb24uZGlzYWJsZWQgLmF4aXMtc2VjdGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuXG4uYXhpcy1zZWN0aW9uLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYXhpcy1zZWN0aW9uLWhlYWRlcjphZnRlciB7XG4gICAgY29udGVudDogXCLvgbhcIjtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cblxuLmF4aXMtc2VjdGlvbi1jb250ZW50IHtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYXhpcy1zZWN0aW9uLWNvbnRlbnQge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmF4aXMtc2VjdGlvbi1jb250ZW50IHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5heGlzLXNlY3Rpb24tY29udGVudCAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5heGlzLXNlY3Rpb24tYnV0dG9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLypcclxuXHJcbi0tLS0tIEVsbGlwc2lzIC0tLS0tIFxyXG5XaGVuIHRoZSBjb250ZW50IGlzIHRvbyBsb25nZXIgdG8gZml4IHdpdGhpbiBhIHRhYmxlIGNlbGwgKCBmb3IgZXhhbXBsZSApIGFsbG93IHRoZSB1c2VyIHRvIHNob3cgb3ZlcmZsb3dpbmcgdGV4dCBieSBob3ZlcmluZy5cclxuXHJcbklNUE9SVEFOVDogVGhpcyBvbmx5IHdvcmtzIHdpdGggc2luZ2xlIGxpbmVzIG9mIHRleHQsIG11bHRpLWxpbmUgeW91IHdpbGwgbmVlZCB0byBsb29rIGludG8gLS13ZWJraXQtbGluZS1jbGFtcC5cclxuKi9cbi5lbGxpcHNpcy10ZXh0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZWxsaXBzaXMtdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmVsbGlwc2lzLXRleHQge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cbiAgLmVsbGlwc2lzLXRleHQuZWxsaXBzaXMtYWN0aXZlIHtcbiAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIGJsYWNrIDUwJSwgdHJhbnNwYXJlbnQgMTAwJSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZWxsaXBzaXMtdGV4dC5lbGxpcHNpcy1hY3RpdmUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmVsbGlwc2lzLXRleHQuZWxsaXBzaXMtYWN0aXZlOmhvdmVyIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0O1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBtYXNrLWltYWdlOiBub25lO1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4vKlxyXG4tLS0tLSBCbHVyIC0tLS0tLSBcclxuVGhlIGVmZmVjdCB0aGF0IGdldHMgYXBwbGllZCB0aGUgaGVhZGVyLCBtYWluICYgZm9vdGVyIHdoZW4gYSBtb2RhbCBvciBtZW51IGlzIG9wZW4sIGVzc2VudGlhbGx5IGJsdXIncyBvdXQgdGhlIGNvbnRlbnQgaW4gdGhlIGJhY2tncm91bmQgd2hlbiBzb21ldGhpbmcgaXMgb3ZlcmxheWluZyB0aGUgcGFnZSdzIG1haW4gY29udGVudC5cclxuKi9cbi5ibHVyIHtcbiAgLS1kZWZ1c2UtYW5pbWF0aW9uOiBkZWZ1c2VCbHVyIC4zcyBmb3J3YXJkcztcbiAgZmlsdGVyOiBibHVyKDEwcHgpO1xuICBhbmltYXRpb246IGJsdXIgMC42czsgfVxuICAuYmx1ci5kZWZ1c2Uge1xuICAgIGZpbHRlcjogYmx1cigwKTtcbiAgICBhbmltYXRpb246IGRlZnVzZUJsdXIgMC4zczsgfVxuXG5Aa2V5ZnJhbWVzIGRlZnVzZUJsdXIge1xuICAwJSB7XG4gICAgZmlsdGVyOiBibHVyKDEwcHgpOyB9XG4gIDIwJSB7XG4gICAgZmlsdGVyOiBibHVyKDhweCk7IH1cbiAgNDAlIHtcbiAgICBmaWx0ZXI6IGJsdXIoNnB4KTsgfVxuICA2MCUge1xuICAgIGZpbHRlcjogYmx1cig0cHgpOyB9XG4gIDgwJSB7XG4gICAgZmlsdGVyOiBibHVyKDJweCk7IH1cbiAgMTAwJSB7XG4gICAgZmlsdGVyOiBibHVyKDBweCk7IH0gfVxuXG4jcGFnZU92ZXJsYXksIC5ibHVyLW92ZXJsYXkge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBvcGFjaXR5OiAwLjE7IH1cblxuLypcclxuXHJcbi0tLS0gU3RhdGljIC0tLS0gXHJcbkRlZGljYXRlZCBzcGVjaWZpY2FsbHkgdG93YXJkcyB0aGUgbGFuZGluZyBwYWdlIGZvciB0aGUgc3RhdGljIGxhbmRpbmcgcGFnZSBmb3IgZXhwcmVzcy5cclxuXHJcbiovXG4ubW9kdWxlcy10ZXN0LXBhZ2UtaGVhZGVyIHtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgcGFkZGluZzogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzQ4NDg0ODsgfVxuXG4ucm93LWJhY2tncm91bmQuZ3JpZC1jb250YWluZXIgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5tb2R1bGUtY29udHJvbHMge1xuICB0b3A6IDM2cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZ3JpZC1jb250YWluZXIgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5tb2R1bGUtY29udHJvbHMge1xuICAgIHRvcDogMDsgfSB9XG5cbi5tb2R1bGVzLWNvbnRyb2wtcGFuZWwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tb2R1bGVzLWNvbnRyb2wtcGFuZWwucm93LWNvbnRyb2xzIHtcbiAgICB0b3A6IDA7IH1cbiAgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5tb2R1bGUtY29udHJvbHMge1xuICAgIHRvcDogNTBweDsgfVxuXG4ubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZ2FwOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xuICBvcGFjaXR5OiAwLjU7XG4gIHotaW5kZXg6IDI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC44czsgfVxuICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnM6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyAubW9kdWxlcy1jb250cm9sLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMgLm1vZHVsZXMtY29udHJvbC1idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbnMgLm1vZHVsZXMtY29udHJvbC1idXR0b25bYXJpYS1leHBhbmRlZD10cnVlXTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBib3JkZXItY29sb3IgMC42czsgfVxuICAgIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyAubW9kdWxlcy1jb250cm9sLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDE0MTZmOyB9XG4gICAgLm1vZHVsZXMtY29udHJvbC1idXR0b25zIC5tb2R1bGVzLWNvbnRyb2wtYnV0dG9uLm1vZHVsZS1pbmZvOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFxmMTI5JzsgfVxuXG4ubW9kdWxlcy1pbmZvLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IDMyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNTAwcHg7IH0gfVxuICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAubW9kdWxlcy1pbmZvLWhlYWRpbmctY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWVlZWVlOyB9XG4gIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5nZW5lcmFsLWluZm9ybWF0aW9uLXBhbmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHtcbiAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDE0MTZmOyB9XG4gICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgICAgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgdWwgbGkge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50ID4gdWwgPiBsaSB7XG4gICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZTsgfVxuICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IHVsIHVsIHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNCwgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgaDUsIC5tb2R1bGVzLWluZm8tY29udGFpbmVyIC5jb250ZW50IGg2IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNCwgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgaDUge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNCwgLm1vZHVsZXMtaW5mby1jb250YWluZXIgLmNvbnRlbnQgaDUge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBoNiB7XG4gICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgY29sb3I6ICMwMTQxNmY7IH1cbiAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBzdHJvbmcge1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICAgICAubW9kdWxlcy1pbmZvLWNvbnRhaW5lciAuY29udGVudCBzdHJvbmc6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIjpcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qXHJcblxyXG4tLS0tIFN0b2NraXN0IC0tLS0gXHJcblNwZWNpZmljYWxseSBmb3IgdGhlIHN0b2NraXNoIGNvbXBvbmVudDogXHJcbi0gU29ydGluZyBhcmVhXHJcbi0gU2VhcmNoIHJlc3VsdHMgXHJcbi0gSW50ZXJhY3RpdmUgbWFwXHJcblxyXG4qL1xuLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9IH1cbiAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLnNvcnRpbmctb3B0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc29ydGluZy1vcHRpb24ge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMgLnNvcnRpbmctb3B0aW9uIC5sYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc29ydGluZy1vcHRpb24gLmxhYmVsIHtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5jb250cm9sLnNlYXJjaCB7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5hZGRyZXNzLXNlYXJjaC1jb250YWluZXIgaW5wdXQ6OnBsYWNlaG9sZGVyIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuYWRkcmVzcy1zZWFyY2gtY29udGFpbmVyIGlucHV0IHtcbiAgICAgIHdpZHRoOiAyOTBweCAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc29ydGluZy1vcHRpb25zIC5wcm9kdWN0LWZpbHRlci1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAucHJvZHVjdC1maWx0ZXItY29udGFpbmVyIC5sYWJlbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74KwXCI7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBjb2xvcjogIzEyODFiZjsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc2VwYXJhdG9yIHtcbiAgICBtYXJnaW46IDdweCAwIDJweDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuaW50ZXJhY3RpdmUtbWFwLXNvcnRpbmctb3B0aW9ucyAuc2VwYXJhdG9yIHtcbiAgICAgICAgbWFyZ2luOiAwIDI1cHg7IH0gfVxuXG4uc3RvY2tpc3QtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zdG9ja2lzdC1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5zdG9ja2lzdC1jb250YWluZXIuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5zdG9ja2lzdC1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgbWluLWhlaWdodDogNTB2aDtcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjZzOyB9IH1cblxuLmludGVyYWN0aXZlLW1hcC1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMTVweCAyMHB4IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDMwcHggNDBweDsgfSB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIGxpIHtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTVweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5oZWFkZXItY29udGFpbmVyIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zNDM3NXJlbTsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciAucmVzdWx0LWJ1dHRvbi1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfSB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciAucmVzdWx0cy1jb250YWluZXIgLmFkZHJlc3Mge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciAucmVzdWx0cy1jb250YWluZXIgLmFkZHJlc3MgKyAudGVsZXBob25lIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciAucmVzdWx0cy1jb250YWluZXIgLmFkZHJlc3MgKyAucmVzdWx0LWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciAucmVzdWx0cy1jb250YWluZXIgLnRlbGVwaG9uZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHRzLWNvbnRhaW5lciAudGVsZXBob25lIGEge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7IH1cblxuLndlYnNpdGUtYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sIDAgNDBweCAwIDApO1xuICBwYWRkaW5nOiB2YXIoLS1jb21tb24tYnV0dG9uLXBhZGRpbmcsIDVweCAzMHB4KTtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiYmU4Zjc7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItY29sb3I6ICNkYWRhZGE7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAud2Vic2l0ZS1idXR0b24ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sIDApOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC53ZWJzaXRlLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IHZhcigtLWNvbW1vbi1idXR0b24tbGFyZ2UtbWFyZ2luLCAwKTsgfSB9XG4gIEBtZWRpYSAoaG92ZXI6IGhvdmVyKSB7XG4gICAgLndlYnNpdGUtYnV0dG9uOmhvdmVyLCAud2Vic2l0ZS1idXR0b24uaG92ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMTI4MWJmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNnM7IH1cbiAgICAgIC53ZWJzaXRlLWJ1dHRvbjpob3ZlciAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwLCAud2Vic2l0ZS1idXR0b24uaG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC42czsgfSB9XG4gIC53ZWJzaXRlLWJ1dHRvbjphY3RpdmUsIC53ZWJzaXRlLWJ1dHRvbi5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjcxNTZhO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gIC53ZWJzaXRlLWJ1dHRvbjpkaXNhYmxlZCwgLndlYnNpdGUtYnV0dG9uLmRpc2FibGVkLCAud2Vic2l0ZS1idXR0b25bZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogIzZkNmQ2ZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1jb2xvcjogIzZkNmQ2ZDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC53ZWJzaXRlLWJ1dHRvbjpkaXNhYmxlZDpob3ZlciwgLndlYnNpdGUtYnV0dG9uLmRpc2FibGVkOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM2ZDZkNmQ7IH1cbiAgLndlYnNpdGUtYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTsgfVxuICAud2Vic2l0ZS1idXR0b24gLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzOyB9XG5cbi5pbnRlcmFjdGl2ZS1tYXAtbG9jYXRpb24tYnV0dG9uIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmc6IDAgNXB4OyB9XG4gIC5pbnRlcmFjdGl2ZS1tYXAtbG9jYXRpb24tYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvj4VcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgY29sb3I6ICMyZjY1ODk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuaW50ZXJhY3RpdmUtbWFwLWxvY2F0aW9uLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmludGVyYWN0aXZlLW1hcC1sb2NhdGlvbi1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgY29sb3I6ICMwMTQxNmY7IH1cblxuLmludGVyYWN0aXZlLW1hcC1jb250YWluZXIge1xuICBtaW4taGVpZ2h0OiA2MHZoO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5pbnRlcmFjdGl2ZS1tYXAtY29udGFpbmVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH0gfVxuXG4uaW50ZXJhY3RpdmUtbWFwIHtcbiAgZmxleC1ncm93OiAxO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHM7IH1cbiAgLmludGVyYWN0aXZlLW1hcDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnM7IH1cblxuLm9yZ2FuaXNhdGlvbi1jb250YWluZXIge1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzQ4NDg0ODsgfVxuXG4uaW50ZXJhY3RpdmUtbWFwLW5vLXJlc3VsdHMge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uaW5mby13aW5kb3ctYWRkcmVzcy10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciAuaW5mby13aW5kb3ctYWRkcmVzcywgLmluZm8td2luZG93LWNvbnRlbnQtY29udGFpbmVyIC50ZWxlcGhvbmUge1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIgLmluZm8td2luZG93LWFkZHJlc3MgYSwgLmluZm8td2luZG93LWNvbnRlbnQtY29udGFpbmVyIC50ZWxlcGhvbmUgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uaW5mby13aW5kb3ctY29udGVudC1jb250YWluZXIgLmluZm8td2luZG93LWJ1dHRvbi1jb250YWluZXIge1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG5cbi8qXHJcbi0tLS0tIFRyZWUgTWVudSAtLS0tLVxyXG5cclxuKi9cbi50cmVlLW1lbnUgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnRyZWUtbWVudSB1bCB7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLnRyZWUtbWVudSB1bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50cmVlLW1lbnUgdWwgbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjhzOyB9XG4gIC50cmVlLW1lbnUgdWwgbGFiZWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnRyZWUtbWVudSB1bCBsYWJlbDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgbdcIjtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAudHJlZS1tZW51IHVsIGxhYmVsIC5sYWJlbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAudHJlZS1tZW51IHVsIGxhYmVsLmFjdGl2ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74G4XCI7IH1cbiAgLnRyZWUtbWVudSB1bCBsYWJlbC5hY3RpdmUgfiAubm9kZS1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42cywgaGVpZ2h0IDAuNnM7IH1cblxuLnRyZWUtbWVudSA+IHVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gbGFiZWwge1xuICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDYuNjZweDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gbGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAyMHB4OyB9IH1cbiAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IGxhYmVsIC5sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAudHJlZS1tZW51ID4gdWwgPiBsaTpub3QoLnRyZWUtbWVudS1wYXJlbnQpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICNmZmZmZmY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaTpub3QoLnRyZWUtbWVudS1wYXJlbnQpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmZmZmOyB9XG4gIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICNmZmZmZmY7IH1cbiAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkge1xuICAgIHBhZGRpbmc6IDAgNXB4OyB9XG4gICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIGxhYmVsIC5sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCA3MHB4OyB9IH1cbiAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaS5hY3RpdmU6YWZ0ZXIge1xuICAgICAgdG9wOiAyMi41cHg7XG4gICAgICBsZWZ0OiAxNi41cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkuYWN0aXZlOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDMyLjVweDtcbiAgICAgICAgICBsZWZ0OiA4MS41cHg7IH0gfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXI6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDExLjVweDsgfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWw6bGFzdC1jaGlsZCA+IGxpOm5vdCg6bGFzdC1jaGlsZCk6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMzBweDsgfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWw6bGFzdC1jaGlsZCA+IGxpOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDE3cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bDpsYXN0LWNoaWxkID4gbGk6YmVmb3JlIHtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7IH0gfVxuICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSB7XG4gICAgICAgICAgcGFkZGluZzogMCAwIDAgNDVweDsgfSB9XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGk6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAxMS41cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGk6YWZ0ZXIge1xuICAgICAgICB0b3A6IDIyLjVweDtcbiAgICAgICAgbGVmdDogMzYuNXB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGk6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiAzMi41cHg7XG4gICAgICAgICAgICBsZWZ0OiA1Ni41cHg7IH0gfVxuICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpLmFjdGl2ZTpub3QoOmxhc3QtY2hpbGQpOmJlZm9yZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgLnRyZWUtbWVudSA+IHVsID4gbGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCA+IGxpIGxhYmVsIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgICAudHJlZS1tZW51ID4gdWwgPiBsaSA+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwgPiBsaSAubm9kZS1jb250ZW50LWNvbnRhaW5lciA+IHVsID4gbGkgPiAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAtMzMuNXB4OyB9XG4gIC50cmVlLW1lbnUgPiB1bCA+IGxpID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiB1bCAudHJlZS1tZW51LXBhcmVudC5hY3RpdmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLnRyZWUtbWVudSA+IHVsIHVsIC50cmVlLW1lbnUtcGFyZW50ID4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lcjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAyNXB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gIC50cmVlLW1lbnUgPiB1bCB1bCAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRyZWUtbWVudSA+IHVsIHVsIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4OyB9IH1cbiAgLnRyZWUtbWVudSA+IHVsIHVsIHVsIGxpIGxhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMzIuNXB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1LjVweDtcbiAgICBsZWZ0OiAxMi41cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4udHJlZS1tZW51LmFzc2V0cyB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLnRyZWUtbWVudS5hc3NldHMgPiB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY0YTZkNDsgfVxuICAgIC50cmVlLW1lbnUuYXNzZXRzID4gdWwgPiBsaSA+IGxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMGFkZWY7IH1cblxuLnRyZWUtbWVudSAuYXR0YWNobWVudHMtY29udGFpbmVyIHVsIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4udHJlZS1tZW51IC5hdHRhY2htZW50cy1jb250YWluZXIgLmF0dGFjaG1lbnQge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50cmVlLW1lbnUgLmF0dGFjaG1lbnRzLWNvbnRhaW5lciAuYXR0YWNobWVudDpiZWZvcmUge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cblxuLnRyZWUtbWVudSAuYWxlcnQtbm9kZSA+IGxhYmVsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNiMjBjMGM7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tYmFja2dyb3VuZCB7XG4gIGJvcmRlci1jb2xvcjogI2IyMGMwYzsgfVxuXG4udHJlZS1tZW51IC5hbGVydC1ub2RlIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gLmFsZXJ0LWNvbnRhaW5lciAuYWxlcnQtdmFsdWUgLnZhbHVlLCAudHJlZS1tZW51IC5hbGVydC1ub2RlIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gLmFsZXJ0LWNvbnRhaW5lciAuYWxlcnQtdmFsdWUgLmxhYmVsIHtcbiAgY29sb3I6ICNiMjBjMGM7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4udHJlZS1tZW51IC5hbGVydC1ub2RlIC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gLmFsZXJ0LWNvbnRhaW5lciAuYWxlcnQtdmFsdWUgLnZhbHVlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC50cmVlLW1lbnUgLmFsZXJ0LW5vZGUgLm5vZGUtY29udGVudC1jb250YWluZXIgPiAuYWxlcnQtY29udGFpbmVyIC5hbGVydC12YWx1ZSAudmFsdWU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+BsVwiO1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBjb2xvcjogI2IyMGMwYztcbiAgICBmb250LXNpemU6IDIwcHg7IH1cblxuLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5hZGRpdGlvbmFsLWluZm9ybWF0aW9uOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbjogMTBweCAwOyB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb246Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIgLmFkZGl0aW9uYWwtaW5mb3JtYXRpb246bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAuYWRkaXRpb25hbC1pbmZvcm1hdGlvbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgIC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIC5hZGRpdGlvbmFsLWluZm9ybWF0aW9uIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciAubGFiZWwge1xuICAgIG1heC13aWR0aDogMjI1cHg7XG4gICAgZmxleC1ncm93OiAxOyB9XG5cbi50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tYmFja2dyb3VuZCB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWJhY2tncm91bmQge1xuICAgICAgcGFkZGluZzogMzBweCAyMnB4OyB9IH1cblxuLnRyZWUtbWVudS1oZWFkZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMTVweCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50cmVlLW1lbnUtaGVhZGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnRyZWUtbWVudS1oZWFkZXIgLnRyZWUtbWVudS1jb250cm9scyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLW1lbnUtaW5mb3JtYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAudHJlZS1tZW51LWhlYWRlciAudHJlZS1tZW51LWluZm9ybWF0aW9uIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLWluZm9ybWF0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgIC50cmVlLW1lbnUtaGVhZGVyIC50cmVlLWluZm9ybWF0aW9uLmFsZXJ0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAudHJlZS1tZW51LWhlYWRlciAudHJlZS1pbmZvcm1hdGlvbi5hbGVydDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMTBweCAwIDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2IyMGMwYztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMjVweDsgfVxuXG4udHJlZS1tZW51LWV4cGFuZC10b2dnbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250LXNpemU6IC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzAxNDE2ZjsgfVxuICAudHJlZS1tZW51LWV4cGFuZC10b2dnbGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74G3XCI7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAxNDE2ZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgIGZvbnQtc2l6ZTogOHB4OyB9XG4gIC50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZS5hY3RpdmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74G4XCI7IH1cblxuLypcclxuLS0tLS0gUmV2aWV3cyAtLS0tLSBcclxuLSBIYW5kbGVzIGludGVyZmFjaW5nIHdpdGggdGhpcmQtcGFydHkgcmV2aWV3IGFwaSdzIGxpa2UgZmVlZm8uXHJcbiovXG4ucmF0aW5nLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLnJhdGluZy1jb250YWluZXIgLnJldmlldy1zdGFycyB7XG4gICAgbWFyZ2luOiAwIDEwcHggMDsgfVxuICAgIC5yYXRpbmctY29udGFpbmVyIC5yZXZpZXctc3RhcnMgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAucmF0aW5nLWNvbnRhaW5lciAuc3Rhci1mdWxsLCAucmF0aW5nLWNvbnRhaW5lciBbY2xhc3MqPXJhdGluZy1pY29uXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgIC5yYXRpbmctY29udGFpbmVyIC5zdGFyLWZ1bGw6YmVmb3JlLCAucmF0aW5nLWNvbnRhaW5lciBbY2xhc3MqPXJhdGluZy1pY29uXTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgIVcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgY29sb3I6ICNlNWI3MDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgdWwge1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhOyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXctZGV0YWlscy1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLmRpc3BsYXktbmFtZS1jb250YWluZXIge1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAuZGlzcGxheS1uYW1lLWNvbnRhaW5lciArIC5sYXN0LXVwZGF0ZWQtY29udGFpbmVyOmJlZm9yZSB7XG4gICAgY29udGVudDogJy0nO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAuZGlzcGxheS1sb2NhdGlvbi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLmxhc3QtdXBkYXRlZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogIzk1OTU5NTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAubGlzdC1jb3VudC1jb250YWluZXIge1xuICBjb2xvcjogIzk1OTU5NTsgfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAubGlzdC1jb3VudC1jb250YWluZXIgLmN1cnJlbnQtc2hvd2luZy1jb3VudCB7XG4gICAgY29sb3I6ICM0ODQ4NDg7IH1cblxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wYWdlci1jb250YWluZXIgKyAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGFkYWRhOyB9XG5cbi5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIgLnJldmlld3MtcHJvZHVjdC1mb290ZXIge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciAuc2VydmljZS1wcm92aWRlci1sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuICAucHJvZHVjdC1yZXZpZXdzLWNvbnRhaW5lciAucmV2aWV3cy1wcm9kdWN0LWZvb3RlciAuZmVlZm8tbG9nbyB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvdGVtcGxhdGUvY29udGVudC9kZXZlbG9wbWVudC9pbWFnZXMvaWNvbnMvZmVlZm8tbG9nby5wbmdcIik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5wcm9kdWN0LXJldmlld3MtY29udGFpbmVyIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIC5yZXZpZXdzLXByb2R1Y3QtcmV2aWV3LWFsbC1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuXG4ucmV2aWV3LXNvY2lhbC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5yZXZpZXctc29jaWFsLWNvbnRhaW5lciAuaGVscGZ1bC12b3Rlcy1jb250YWluZXIgKyAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbi5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjOTU5NTk1OyB9XG4gIC5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciAuaGVscGZ1bC12b3Rlcy1kaXNwbGF5OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvhaRcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxMXB4OyB9XG5cbi8qXHJcbi0tLS0tIFBhZ2UgU2VjdGlvbiBDb2xvdXJzIC0tLS0tXHJcblRoZSBwdXJwb3NlIG9mIHRoaXMgaXMgaXMgdG8gYWRkIGJhY2tncm91bmQtY29sb3VycyB0byBzcGVjaWZpYyBzZWN0aW9ucyBvbiBzcGVjaWZpYyBwYWdlcyBhY3Jvc3MgZXhwcmVzcyB1c2luZyB0aGUgYm9keSBpZCwgc28gYSBwb3RlbnRpYWwgY29uZmlnIGNvdWxkIGxvb2sgbGlrZSB0aGlzOlxyXG5cclxuaGVhZGVyLXVzcC1iYXI6IChcclxuICAgIGJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy0xLFxyXG4gICAgcGFnZXM6IChcImhvbWVwYWdlXCIpXHJcbilcclxuXHJcblRoZSB0b3AgbGV2ZWwgbWFwIGtleSBpcyB0aGUgY2xhc3Mgb2YgdGhlIGVsZW1lbnQgdGhhdCB5b3Ugd2FudCB0byBlZmZlY3QgdGhlbiBpbnNpZGUgb2YgdGhhdCBpcyB0aGUgY29uZmlndXJhdGlvbiBpLmUgYmFja2dyb3VuZCBjb2xvdXIgKyB3aGljaCBwYWdlcyB0byBhcHBseSB0aGlzIHRvIHdoaWNoIGlzIGEgbGlzdCBvZiBib2R5IGlkJ3MuXHJcbiovXG4vKlxyXG5cclxuLS0tLSBTdGFyIFJhdGluZ3MgLS0tLSBcclxuSGFuZGxlcyBzdGFyIHJhdGluZ3MgZm9yIHByb2R1Y3RzLCB0aGlzIHN1cHBvcnRzIHBlcnNlbnRhZ2UgYmFzZWQgcmF0aW5nLCBoZXJlIGlzIGFuIG92ZXJ2aWV3IG9mIHdoYXQgdGhpcyB3b3VsZCBsb29rIGxpa2UgaHR0cHM6Ly9jb2RlcGVuLmlvL2ZpbGNwL3Blbi9RdlpWT2cgLlxyXG5cclxuKi9cbi5zdGFyLXJhdGluZ3MtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIFtjbGFzcyo9cmF0aW5nLWljb24tXTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi74CFXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5iYWNrZ3JvdW5kLXN0YXJzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc3Rhci1yYXRpbmdzLWNvbnRhaW5lciAuYmFja2dyb3VuZC1zdGFycyBbY2xhc3MqPXJhdGluZy1pY29uLV06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZGFkYWRhOyB9XG4gIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5mb3JlZ3JvdW5kLXN0YXJzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5zdGFyLXJhdGluZ3MtY29udGFpbmVyIC5mb3JlZ3JvdW5kLXN0YXJzIFtjbGFzcyo9cmF0aW5nLWljb24tXTpiZWZvcmUge1xuICAgICAgY29sb3I6ICNlNWI3MDE7IH1cbiAgLnN0YXItcmF0aW5ncy1jb250YWluZXIgLnJhdGluZy1zdW1tYXJ5LWRpc3BsYXkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA1cHg7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIgLmJyZWFrZG93bi1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMDsgfVxuICAucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciAuYnJlYWtkb3duLXN0YXJzLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDgwcHg7IH1cbiAgICAucmF0aW5nLWJyZWFrZG93bi1saXN0LWNvbnRhaW5lciAuYnJlYWtkb3duLXN0YXJzLWNvbnRhaW5lciBbY2xhc3MqPXJhdGluZy1pY29uLV06YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZTViNzAxO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9XG4gIC5yYXRpbmctYnJlYWtkb3duLWxpc3QtY29udGFpbmVyIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7IH1cblxuLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIge1xuICBtYXJnaW46IDAgMTBweDsgfVxuICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciAucGVyY2VudGFnZS1iYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciAuYmFja2dyb3VuZC1iYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5iYWNrZ3JvdW5kLWJhciAucGVyY2VudGFnZS1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhZGFkYTsgfVxuICAuYnJlYWtkb3duLXBlcmNlbnRhZ2UtYmFyLWNvbnRhaW5lciAuZm9yZWdyb3VuZC1iYXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuICAgIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIC5mb3JlZ3JvdW5kLWJhciAucGVyY2VudGFnZS1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1YjcwMTsgfVxuXG4uYnJlYWtkb3duLWNvdW50LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAzMHB4OyB9XG5cbi50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG4gIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIgLmJyZWFrZG93bi1idXR0b24tY29udGFpbmVyIGE6YWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmOyB9XG5cbi8qXHJcbi0tLS0tIEJhcmNvZGUgU2Nhbm5lciAtLS0tLS0gXHJcblxyXG4qL1xuLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uIHtcbiAgLS1jb21wb25lbnQtc3BlY2lmYy1zdGVwLWhlaWdodDogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LWdyb3c6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbiwgMCk7XG4gIHBhZGRpbmc6IHZhcigtLWNvbW1vbi1idXR0b24tcGFkZGluZywgMTBweCAxNXB4KTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogI2RhZGFkYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cztcbiAgLypcclxuICAgICAgICAtLS0gSWNvbiBjb25maWd1cmF0aW9uIC0tLVxyXG4gICAgICAgIC0gJGljcG9zaXRpb24gPT4gQmVmb3JlIG9yIGFmdGVyIHRleHRcclxuICAgICAgICAtIG1hcmdpbiA9PiBpY29uIG1hcmdpblxyXG4gICAgICAgIC0gY29sb3VyID0+IGljb24gY29sb3VyIHN0YXRlcyAoIGRlZmF1bHQsIGhvdmVyICYgYWN0aXZlIClcclxuICAgICAgICAtIHNpemUgPT4gaWNvbiBzaXplLlxyXG4gICAgICAgIC0gY29udGVudCA9PiB0aGUgZm9udCBpY29uIGl0c2VsZiwgbm9ybWFsbHkgc3RvcmVkIGluICRzaXRlLWljb25zXHJcbiAgICAgICAgLSBmb250LWZhbWlseSA9PiB0aGUgZm9udCBmYW1pbHkgdGhhdCB0aGUgaWNvbiBiZWxvbmdzIHRvIGZvbnQgYXdlc29tZSBvciBmb250ZWxsby5cclxuICAgICAgICAqLyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24ge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgMCk7IH0gfVxuICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpob3ZlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246aG92ZXI6YWZ0ZXIsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5ob3ZlcjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246aG92ZXIgLmdyYWR1YXRlZC1jb2xvdXItZWRnZSAuc3RlcCwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLmhvdmVyIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH0gfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246YWN0aXZlLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC42czsgfVxuICAgIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjphY3RpdmU6YWZ0ZXIsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmRpc2FibGVkLCAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24uZGlzYWJsZWQsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiAjNmQ2ZDZkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246ZGlzYWJsZWQ6YWZ0ZXIsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5kaXNhYmxlZDphZnRlciwgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uW2Rpc2FibGVkXTphZnRlciB7XG4gICAgICBjb2xvcjogIzZkNmQ2ZDsgfVxuICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi5kaXNhYmxlZDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNmQ2ZDZkOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIu6hjVwiO1xuICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuXG4uYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG5cbi5iYXJjb2RlLXNjYW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJhcmNvZGUtc2Nhbm5lciB2aWRlbyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXIgY2FudmFzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIC5iYXJjb2RlLXNjYW5uZXIuaXMtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogNDkwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDsgfSB9XG4gIC5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIgLmxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc2Nhbm5lci1jYW1lcmEtc2VsZWN0b3ItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwOyB9IH1cbiAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQxcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3QgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAzMzBweDsgfSB9XG4gIC5zY2FubmVyLWNhbWVyYS1zZWxlY3Rvci1jb250YWluZXIgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuXG4uYmFyY29kZS1zY2FubmVyLXJlc3BvbnNlLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKlxyXG4tLS0tLSBQYWdlIEJhY2tncm91bmQgSW1hZ2UgLS0tLS1cclxuVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyBpcyB0byBhZGQgYmFja2dyb3VuZCBpbWFnZShzKSB0byBzcGVjaWZpYyBwYWdlIHR5cGVzIHVzaW5nIHRoZSBib2R5IGlkLCBwb3NzaWJsZSBjb25maWd1cmF0aW9uOlxyXG5cclxuaG9tZXBhZ2U6IChcclxuICAgIGJhY2tncm91bmQtaW1hZ2UgPT4gWyBSRVFVSVJFRCBdIFRoZSB1cmwgb2YgdGhlIGltYWdlLlxyXG4gICAgcmVwZWF0LWJhY2tncm91bmQgPT4gWyBPUFRJT05BTCBdIFRoaXMgZGVmYXVsdHMgdG8gbm8tcmVwZWF0LlxyXG4gICAgYmFja2dyb3VuZC1zY2FsZSA9PiBbIE9QVElPTkFMIF0gVGhpcyBkZWZhdWx0cyB0byBjb3Zlci5cclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudHMgPT4gWyBPUFRJT05BTCBdXHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uID0+IFsgT1BUSU9OQUwgXVxyXG4pXHJcblxyXG4qL1xuLypcclxuLS0tLS0gVGFncyAtLS0tLVxyXG5Vc2VkIHRvIGRpc3BsYXkgYSBjYXRhZ29yaXNhdGlvbiBvZiBncm91cHMgLyBrZXl3b3JkcywgdGhpcyBpYSBwcmltYXJpbHkgdXNlZCBpbiB0aGUgY21zIHN5c3RlbSBjdXJyZW50bHkgZm9yIGRpcGxzYXkgbmV3cywgYmxvZ3MgJiBldmVudCdzIGFydGljbGVzLlxyXG4qL1xuLnRhZ2dpbmctY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAudGFnZ2luZy1jb250YWluZXIuYWxpZ24tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50YWdnaW5nLWNvbnRhaW5lci5saXN0aW5nIC50YWdnaW5nLWhlYWRpbmcge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAudGFnZ2luZy1jb250YWluZXIgLnRhZ3MtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFncy1jb250YWluZXIge1xuICAgICAgICBnYXA6IDVweCAxMHB4OyB9IH1cbiAgLnRhZ2dpbmctY29udGFpbmVyIC50YWdnaW5nLWhlYWRlci1jb250YWluZXIge1xuICAgIG1hcmdpbjogNXB4IDAgMTBweDsgfVxuICAudGFnZ2luZy1jb250YWluZXIgLnRhZ2dpbmctaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBwYWRkaW5nOiA4cHggMThweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYm9yZGVyLWNvbG9yIDAuOHMsIGJveC1zaGFkb3cgMC44czsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW06aG92ZXIge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzLCBib3gtc2hhZG93IDAuNnM7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAudGFnZ2luZy1jb250YWluZXIgLnRhZy1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbS5yZW1vdmUtYnV0dG9uOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLnRhZ2dpbmctY29udGFpbmVyIC50YWctaXRlbS5yZW1vdmUtYnV0dG9uOmhvdmVyOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgIC50YWdnaW5nLWNvbnRhaW5lciAudGFnLWl0ZW0ucmVtb3ZlLWJ1dHRvbjphY3RpdmU6YWZ0ZXIge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cblxuLypcclxuLS0tLS0gQXhpcyBUb2dnbGVyIC0tLS0tXHJcbkJ1aWxkIG9udG9wIG9mIEZvdW5kYXRpb25zIHRvZ2dsZXIgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3RvZ2dsZXIuaHRtbCwgd2UgbmVlZGVkIHRvIGFkZCBpbiBzb21lIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSB0byBhbGxvdyBmb3IgcmUtdG9nZ2xpbmcgaWYgdGhlIHVzZXIgY2xpY2tzIG91dHNpZGUgb2YgdGhlIGNvbnRlbnQgYXJlYS5cclxuKi9cbi50b2dnbGUtY29udGVudC1jb250YWluZXIuYWN0aXZlIC50b2dnbGUtYmFja2dyb3VuZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogLTE7IH1cblxuLypcclxuLS0tLS0gUGFnZSBCYWNrZ3JvdW5kIENvbG91cnMgLS0tLS1cclxuU2ltaWxhciB0byBheGlzLXNlY3Rpb24tY29sb3VycyBhIGN1c3RvbSBjb25maWcgaXMgcHJvdmlkZSB3aGljaCBnZXRzIGxvb3BlZCB0aHJvdWdoIGFzc2lnbmluZyB0aGUgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0eSB0byB0aGUgcmVsaWV2ZW50IHBhZ2VzLlxyXG5cclxuTk9USUNFOiBIYWQgdG8gc2V0IHRoZSAhaW1wb3J0YW50IGZsYWcgb24gdGhlIGJhY2tncm91bmQtY29sb3IgcHJvcGVydHkgZHVlIHRvIGZvdW5kYXRpb24gZW5mb3JpbmcgdGhhdCB0aGUgYm9keSBiYWNrZ3JvdW5kIGNvbG91ciBtdXN0IGJlIHNldC5cclxuKi9cbi8qXHJcbi0tLS0tIE11bHRpIEZpZWxkIExvb2t1cCAtLS0tLVxyXG5cclxuUHJvdmlkZXMgYW4gYXJlYSB0byBwbGFjZSBvcHRpb25zICggaS5lIGEgZm9ybSBpbiBhIGhvcml6b250YWwgbGF5b3V0ICkgd2hpY2ggdGhlbiBnZXRzIGZpbGxlZCBpbiB0byB1cGRhdGUgbXVsdGlwbGUgcG9pbnRzIG9uIHRoZSBwYWdlLlxyXG5cclxuKi9cbi5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWRlZjtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggOCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNTBweCAxMTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAubG9va3VwLXNlYXJjaC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAuYmFyY29kZS1zY2FubmVyLXRyaWdnZXItY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5iYXJjb2RlLXNjYW5uZXItdHJpZ2dlci1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5iYXJjb2RlLXNjYW5uZXItdHJpZ2dlci1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxOTBweDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5sb29rdXAtcXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7IH0gfVxuXG4ubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5sb29rdXAtcXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIC5pbnB1dC1udW1iZXIge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmxvb2t1cC1xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5tdWx0aS1maWVsZC1sb29rdXAucXVpY2stb3JkZXIgLmxvb2t1cC1xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbi5pbnB1dC1udW1iZXItZGVjcmVtZW50LCAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XG4gIGJvcmRlci1jb2xvcjogI2M4YzhjODsgfVxuXG4ubXVsdGktZmllbGQtbG9va3VwLnF1aWNrLW9yZGVyIC5jb250cm9sLnNlYXJjaCAuaW5wdXQtcHJlZml4LWljb24ge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgLm11bHRpLWZpZWxkLWxvb2t1cC5xdWljay1vcmRlciAuY29udHJvbC5zZWFyY2ggLmlucHV0LXByZWZpeC1pY29uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIrXCI7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5pbnB1dC1wcmVmaXgtaWNvbjpiZWZvcmUge1xuICBjb2xvcjogIzAxNDE2ZjsgfVxuXG4ubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMTBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubXVsdGktZmllbGQtbG9va3VwIC5tdWx0aS1maWVsZC1vcHRpb25zLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDIwcHggMCAxMHB4OyB9IH1cbiAgLm11bHRpLWZpZWxkLWxvb2t1cCAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIgZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDE1cHg7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIgZm9ybSB7XG4gICAgICAgIGdhcDogMjVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIgZm9ybSB7XG4gICAgICAgIGdhcDogMjBweDsgfSB9XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIgZm9ybSAubG9va3VwLW9wdGlvbi5sb29rdXAtc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4ubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24uYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xuICAgICAgZmxleC1ncm93OiAxOyB9IH1cbiAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiBidXR0b24ge1xuICAgIGhlaWdodDogNDVweDsgfVxuICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIC5jb250cm9sIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiAuY29udHJvbCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubXVsdGktZmllbGQtbG9va3VwIC5sb29rdXAtb3B0aW9uIC5jb250cm9sIC5mb3JtLWVycm9yIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm11bHRpLWZpZWxkLWxvb2t1cCAubG9va3VwLW9wdGlvbiAuY29udHJvbCAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldDsgfSB9XG4gIC5tdWx0aS1maWVsZC1sb29rdXAgLmxvb2t1cC1vcHRpb24gLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLm11bHRpLWZpZWxkLWxvb2t1cCAubXVsdGktZmllbGQtcmVzcG9uc2UtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4vKiFcbiAqIGFuaW1hdGUuY3NzIC0gaHR0cHM6Ly9hbmltYXRlLnN0eWxlL1xuICogVmVyc2lvbiAtIDQuMS4xXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgLSBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvTUlUXG4gKlxuICogQ29weXJpZ2h0IChjKSAyMDIwIEFuaW1hdGUuY3NzXG4gKi9cbjpyb290IHtcbiAgLS1hbmltYXRlLWR1cmF0aW9uOiAxcztcbiAgLS1hbmltYXRlLWRlbGF5OiAxcztcbiAgLS1hbmltYXRlLXJlcGVhdDogMTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRlLWR1cmF0aW9uKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1hbmltYXRlLWR1cmF0aW9uKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19pbmZpbml0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1hbmltYXRlLXJlcGVhdCk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWFuaW1hdGUtcmVwZWF0KTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fcmVwZWF0LTIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDIpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDIpO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKHZhcigtLWFuaW1hdGUtcmVwZWF0KSAqIDIpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMyk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMyk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMyk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTFzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDFzO1xuICBhbmltYXRpb24tZGVsYXk6IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogdmFyKC0tYW5pbWF0ZS1kZWxheSk7XG4gIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tYW5pbWF0ZS1kZWxheSk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTJzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiAyKTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogMik7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDIpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0zcyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMyk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDMpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAzKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktNHMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDQpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA0KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA0KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNCk7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2RlbGF5LTVzIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IGNhbGMoMXMgKiA1KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKHZhcigtLWFuaW1hdGUtZGVsYXkpICogNSk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDUpOyB9XG5cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAvIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgLyAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgLyAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pIC8gMik7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2Zhc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuOCk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuOCk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC44KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC44KTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fc2xvdyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTsgfVxuXG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fc2xvd2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAzKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDMpOyB9XG5cbkBtZWRpYSBwcmludCwgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAuYW5pbWF0ZV9fYW5pbWF0ZWQge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMSAhaW1wb3J0YW50OyB9XG4gIC5hbmltYXRlX19hbmltYXRlZFtjbGFzcyo9J091dCddIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLyogQXR0ZW50aW9uIHNlZWtlcnMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDQwJSxcbiAgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDQwJSxcbiAgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxhc2gge1xuICBmcm9tLFxuICA1MCUsXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGFzaCB7XG4gIGZyb20sXG4gIDUwJSxcbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjUlLFxuICA3NSUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoOyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMS4wNSwgMS4wNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fcHVsc2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcnViYmVyQmFuZCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsgfVxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9IH1cblxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOyB9XG4gIDY1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fcnViYmVyQmFuZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBydWJiZXJCYW5kOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVgge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hha2VYIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2hha2VYIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VYO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VYOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVkge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hha2VZIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2hha2VZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VZO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VZOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFkU2hha2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTsgfVxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7IH1cbiAgMzEuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTsgfVxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgNi41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpOyB9XG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTsgfVxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpOyB9XG4gIDQzLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5hbmltYXRlX19oZWFkU2hha2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhZFNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogaGVhZFNoYWtlOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMTVkZWcpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAwZGVnKTsgfSB9XG5cbi5hbmltYXRlX19zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7IH1cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfVxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7IH1cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsgfSB9XG5cbi5hbmltYXRlX190YWRhIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7IH1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOyB9XG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpOyB9XG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX193b2JibGUge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAyMi4yJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpOyB9XG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsgfVxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsgfVxuICA1NS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDEuNTYyNWRlZykgc2tld1koMS41NjI1ZGVnKTsgfVxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpOyB9XG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2M2RlZykgc2tld1koMC4zOTA2M2RlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYzZGVnKSBza2V3WSgwLjM5MDYzZGVnKTsgfVxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxZGVnKSBza2V3WSgtMC4xOTUzMWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMWRlZykgc2tld1koLTAuMTk1MzFkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBqZWxsbyB7XG4gIGZyb20sXG4gIDExLjElLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsgfVxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7IH1cbiAgNDQuNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMy4xMjVkZWcpIHNrZXdZKC0zLjEyNWRlZyk7IH1cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7IH1cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsgfVxuICA3Ny43JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjNkZWcpIHNrZXdZKDAuMzkwNjNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2M2RlZykgc2tld1koMC4zOTA2M2RlZyk7IH1cbiAgODguOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMWRlZykgc2tld1koLTAuMTk1MzFkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzFkZWcpIHNrZXdZKC0wLjE5NTMxZGVnKTsgfSB9XG5cbi5hbmltYXRlX19qZWxsbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGplbGxvO1xuICBhbmltYXRpb24tbmFtZTogamVsbG87XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfVxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhlYXJ0QmVhdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTsgfVxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDQyJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4uYW5pbWF0ZV9faGVhcnRCZWF0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICBhbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDEuMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDEuMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMS4zKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMS4zKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cblxuLyogQmFjayBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5Eb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tJbkRvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19iYWNrSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkRvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgYmFja0luTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX2JhY2tJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYmFja0luTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX2JhY2tJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luVXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tJblVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX2JhY2tJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5VcDsgfVxuXG4vKiBCYWNrIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dERvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuQGtleWZyYW1lcyBiYWNrT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja091dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tPdXREb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuQGtleWZyYW1lcyBiYWNrT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuLmFuaW1hdGVfX2JhY2tPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0TGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9IH1cblxuQGtleWZyYW1lcyBiYWNrT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG4uYW5pbWF0ZV9fYmFja091dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYmFja091dFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJhY2tPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43OyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNzsgfSB9XG5cbi5hbmltYXRlX19iYWNrT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0VXA7IH1cblxuLyogQm91bmNpbmcgZW50cmFuY2VzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlSW4ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzAwMHB4LCAwKSBzY2FsZVkoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDI1cHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDVweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpOyB9XG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTsgfVxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7IH1cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDMwMDBweCwgMCkgc2NhbGVZKDUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtNXB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7IH1cblxuLyogQm91bmNpbmcgZXhpdHMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7IH1cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7IH1cbiAgNTAlLFxuICA1NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfSB9XG5cbi5hbmltYXRlX19ib3VuY2VPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCkgc2NhbGVYKDIpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwcHgsIDAsIDApIHNjYWxlWCgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7IH0gfVxuXG4uYW5pbWF0ZV9fYm91bmNlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwcHgsIDAsIDApIHNjYWxlWCgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpOyB9XG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTsgfVxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpOyB9IH1cblxuLmFuaW1hdGVfX2JvdW5jZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsgfVxuXG4vKiBGYWRpbmcgZW50cmFuY2VzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkRvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZzsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5MZWZ0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5SaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5VcEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblRvcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVG9wTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJblRvcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVG9wUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BSaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluQm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluQm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlSW5Cb3R0b21MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbUxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluQm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVJbkJvdHRvbVJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21SaWdodDsgfVxuXG4vKiBGYWRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd247IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dERvd25CaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0TGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgfSB9XG5cbi5hbmltYXRlX19mYWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0VG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRUb3BMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFRvcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wTGVmdDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0VG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fZmFkZU91dFRvcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFRvcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFRvcFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0Qm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0Qm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRCb3R0b21SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21SaWdodDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dEJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX2ZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbUxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tTGVmdDsgfVxuXG4vKiBGbGlwcGVycyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgwLjk1LCAwLjk1LCAwLjk1KSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMC45NSwgMC45NSwgMC45NSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIDBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2ZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9IH1cblxuLmFuaW1hdGVfX2ZsaXBJblgge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5YO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfSB9XG5cbi5hbmltYXRlX19mbGlwSW5ZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX19mbGlwT3V0WCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2ZsaXBPdXRZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZOyB9XG5cbi8qIExpZ2h0c3BlZWQgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDIwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX19saWdodFNwZWVkSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fbGlnaHRTcGVlZEluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dFJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi8qIFJvdGF0aW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlSW5Eb3duTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZUluRG93blJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5hbmltYXRlX19yb3RhdGVJblVwUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207IH1cblxuLyogUm90YXRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0RG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZU91dERvd25SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmFuaW1hdGVfX3JvdGF0ZU91dFVwTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9fcm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOyB9XG5cbi8qIFNwZWNpYWxzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfVxuICAyMCUsXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDgwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gIDQwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9XG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH1cbiAgNDAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uYW5pbWF0ZV9faGluZ2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzZGVnKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5hbmltYXRlX19qYWNrSW5UaGVCb3gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7XG4gIGFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7IH1cblxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xMjBkZWcpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fcm9sbEluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluOyB9XG5cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMTIwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm9sbE91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpOyB9IH1cblxuLmFuaW1hdGVfX3JvbGxPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDsgfVxuXG4vKiBab29taW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmFuaW1hdGVfX3pvb21JbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluRG93biB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbUluRG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbkxlZnQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuLmFuaW1hdGVfX3pvb21JblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW5VcDsgfVxuXG4vKiBab29taW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5hbmltYXRlX196b29tT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXREb3duIHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpOyB9IH1cblxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dERvd247XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsgfSB9XG5cbi5hbmltYXRlX196b29tT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0VXAge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7IH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTsgfSB9XG5cbi5hbmltYXRlX196b29tT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0VXA7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsgfVxuXG4vKiBTbGlkaW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZUluTGVmdCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVJblVwOyB9XG5cbi8qIFNsaWRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZU91dERvd24ge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsgfSB9XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH0gfVxuXG4uYW5pbWF0ZV9fc2xpZGVPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0OyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9IH1cblxuQGtleWZyYW1lcyBzbGlkZU91dFVwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyB9IH1cblxuLmFuaW1hdGVfX3NsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDsgfVxuXG4vKlxyXG5cclxuLS0tLS0gQXhpcyBFbGVtZW50IFByaW50IC0tLS0tIFxyXG5BbGxvd3MgeW91IHRvIHNlbGVjdCBhbiBlbGVtZW50IHRvIGJlIHByaW50ZWQgaW5zaWRlIG9mIHRoZSBET00uXHJcblxyXG5UaGlzIGRlYWxzIHdpdGggZ2VuZXJhbCBmb3JtYXR0aW5nIG9mIHRleHQgd2hlbiBpbiBwcmludCB2aWV3IGFuZCB3aGljaCBlbGVtZW50IHNob3VsZCBiZSBleGNsdWRlZCBhcyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgZm9yIHRoZW0gdG8gYmUgdGhlcmUuXHJcblxyXG4qL1xuQG1lZGlhIHByaW50IHtcbiAgLnBlLW5vLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnBlLXByZXNlcnZlLWFuY2VzdG9yIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgW2RhdGEtYXhpcy1zdGlja3ldLCBbZGF0YS1zdGlja3ktY29udGVudC1jb250YWluZXJdIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5lbnF1aXJ5LWZpbHRlcnMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNhbGwtdHlwZS1pY29uLCAuY2FsbC1zb3VyY2UtaWNvbiB7XG4gICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7IH1cbiAgLmVucXVpcnktaGVhZGVyLXNlY3Rpb24gaDIge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cbiAgLmF4aXMtc2VjdGlvbi1oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUgLmNvbC1sYWJlbCB7XG4gICAgY29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICB0YWJsZSB0ciB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlIHRkIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIsIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7IH1cbiAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93LXk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuICAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LCAubW9kYWwtY29udGFpbmVyIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgLm1vZGFsLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuICAgIC5tb2RhbC1jb250YWluZXIuYWN0aXZlIHtcbiAgICAgIG92ZXJmbG93LXk6IHVuc2V0ICFpbXBvcnRhbnQ7IH0gfVxuXG4vKlxyXG4tLS0tLSBEb2N1bWVudGF0aW9uIC0tLS0tLSBcclxuU3BlY2lmaWNhbGx5IGhhbmRsZXMgdGhlIHN0eWxpbmcgZm9yIEFYSVMgRG9jdW1lbnRhdGlvbiwgdGhlcmUgd2lsbCBiZSBzaW1pbGFyaXRpZXMgYmV0d2VlbiB0aGlzIGNvZGUgYW5kIGNtcyBjb250YWluZXJzLlxyXG5cclxuVGhpcyBkZWFscyB3aXRoIHRoZSBmb2xsb3dpbmcgcGFnZSB0eXBlczpcclxuLS0gUHJvZHVjdHNcclxuLS0tLSBCb29rc1xyXG4tLS0tLS0gQ2hhcHRlcnNcclxuLS0tLS0tLS0gQXJ0aWNsZXNcclxuLS0tLS0tLS0gRnVuY3Rpb25zXHJcbi0tLS0tLS0tLS0gQXJ0aWNsZVxyXG4qL1xuLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGdhcDogMDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDVweDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgZm9ybSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGdhcDogNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIGZvcm0ge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIgZm9ybSAubGFiZWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciBmb3JtIC5sYWJlbCB7XG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLXpvbmUge1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtem9uZSAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgbWluLXdpZHRoOiAyMDVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtem9uZSAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xuICAgICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaCB7XG4gICAgICAgICAgbWluLXdpZHRoOiA0MjBweDsgfSB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tc2VhcmNoLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2ggLmZvcm0tZXJyb3Ige1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1zZWFyY2gtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLXNlYXJjaCBpbnB1dDo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiA1NzVweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIGxhYmVsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1NzVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250cm9scy1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWNjZXNzLWxldmVsLWNvbnRhaW5lciBmb3JtIC5sYWJlbCB7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSAubGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIgZm9ybSAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRyb2xzLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hY2Nlc3MtbGV2ZWwtY29udGFpbmVyIGZvcm0gLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNDIwcHg7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLmRlcGFydG1lbnQtY29sb3VyLXBhbGV0dGUgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgyLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLnNpdGUtc3R5bGUgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgyIHtcbiAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjMDE0MTZmKTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyICsgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsLnN0cmlwZXMgPiBsaTpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsLnN0cmlwZXMgPiBsaTpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bC5zdHJpcGVzID4gbGkgdWwgbGkuaXMtc3VibWVudS1pdGVtOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfVxuICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsLnN0cmlwZXMgPiBsaSB1bCBsaS5pcy1zdWJtZW51LWl0ZW06bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgIGdhcDogMCA1cHg7XG4gICAgcGFkZGluZzogN3B4IDVweDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRlbnQtY29udGFpbmVyIHVsIGxpIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNXB4IDA7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwgbGkgLnRvb2x0aXAtY29udGFpbmVyIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgdWwgYSB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgLmRvY3VtZW50YXRpb24tbGlzdC1jb250ZW50LWNvbnRhaW5lciB1bCBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzY3MTU2YSk7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG5cbi5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIgLmluZGV4IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTBweCAwIDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lciB7XG4gIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDU2cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0xIHtcbiAgICBtYXJnaW46IDM1cHggMCA0NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTEsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSB7XG4gICAgICAgIG1hcmdpbjogNDVweCAwIDU1cHg7IH0gfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0xIGgyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDIge1xuICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAjMDE0MTZmKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6ICM5NTk1OTU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM5NTk1OTU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTEgaDEsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMSBoMSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMzBweDtcbiAgICBtYXJnaW46IDIwcHggMCAzMHB4O1xuICAgIHBhZGRpbmc6IDI1cHggMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtOSk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiA4MHB4O1xuICAgICAgICBtYXJnaW46IDMwcHggMCA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMSwgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgaDIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIGgyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMSwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIGgxIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiBoMiwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIGgyIHtcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCwgIzAxNDE2Zik7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogM3B4OyB9XG4gICAgLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmNvbnRlbnQtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtaW50cm8tY29udGFpbmVyLmxheW91dC0yIC5jb250ZW50LWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taW50cm8tY29udGFpbmVyLmxheW91dC0yIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4OyB9IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuYmFubmVyLWNvbnRhaW5lciAuaW1hZ2UsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuYmFubmVyLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZmZmZjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWludHJvLWNvbnRhaW5lci5sYXlvdXQtMiAuYmFubmVyLWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuZG9jdW1lbnRhdGlvbi1pbnRyby1jb250YWluZXIubGF5b3V0LTIgLmJhbm5lci1jb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDI0NXB4OyB9IH1cblxuLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyB1bCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiA1cHggMjVweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgdWwgbGkge1xuICAgIGZsZXg6IG5vbmU7IH1cblxuLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudCB7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGNvbG9yOiAjMTI4MWJmO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudDpob3ZlciB7XG4gICAgY29sb3I6ICM2NzE1NmE7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50OmhvdmVyOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudDphY3RpdmUge1xuICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gICAgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcyAuYXR0YWNobWVudDphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQucHJpbnRlci1saW5rOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLvgK9cIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIC5hdHRhY2htZW50LmRvY3VtZW50YXRpb24tcHVibGljLWxpbms6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+CrFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MgLmF0dGFjaG1lbnQuZG9jdW1lbnRhdGlvbi1zdGF0aXN0aWNzOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLukbNcIjtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDEsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDEsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMSB7XG4gIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBjb2xvcjogIzAxNDE2ZjtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgxOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDE6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDE6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgxICsgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcywgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgxICsgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcywgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDEgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDEgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDIsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoMiB7XG4gIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gIHBhZGRpbmc6IDAgMCAxNXB4O1xuICBjb2xvcjogIzAxNDE2ZjtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgyOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDI6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDI6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDMsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDMge1xuICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoMywgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgzIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoMzpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoMzpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGgzOmJlZm9yZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDM6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDM6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyIGg0LCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIgaDQsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGg0LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIgaDQge1xuICBtYXJnaW46IDI1cHggMCAxMHB4O1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgaDUsIC5kb2N1bWVudGF0aW9uLWFjdGljbGUtaGVhZGVyLWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaDUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciBoNSB7XG4gIG1hcmdpbjogMTVweCAwIDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciBoNiwgLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBoNiwgLmRvY3VtZW50YXRpb24tY29udGVudC1oZWFkZXItY29udGFpbmVyIGg2IHtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWFydGljbGUtY29udGFpbmVyLmluZGVudGVkLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLmluZGVudGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1hcnRpY2xlLWNvbnRhaW5lci5pbmRlbnRlZC1ydWxlLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLmluZGVudGVkLXJ1bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWFydGljbGUtY29udGFpbmVyLmluZGVudGVkLXJ1bGU6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tY29udGFpbmVyLmluZGVudGVkLXJ1bGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDFweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJhY2tncm91bmQ6ICNhZWFlYWU7IH1cblxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWhlYWRlci1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcywgLmRvY3VtZW50YXRpb24taGVhZGVyLWNvbnRhaW5lciAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHtcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk1OTU5NTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jaGFwdGVyLWZvb3Rlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWZvb3Rlci1jb250YWluZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5NTk1OTU7IH1cblxuLmRvY3VtZW50YXRpb24tYWN0aWNsZS1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXTpob3ZlciwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cIm1haWx0bzpcIl06aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBhW2hyZWZePVwidGVsOlwiXS5zaG93LWNvbnRhY3QtaWNvbjpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGFbaHJlZl49XCJtYWlsdG86XCJdLnNob3ctY29udGFjdC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OgXCI7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYVtocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcbiAgY29udGVudDogXCLvoblcIjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGE6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDAgNXB4O1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgYTpoYXMoW3N0eWxlKj1cImZsb2F0XCJdKSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIHtcbiAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAwKTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0sIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgaW1nW3N0eWxlKj1cImZsb2F0OiBsZWZ0XCJdLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OmxlZnRcIl0gPiBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwIGltZ1tzdHlsZSo9XCJmbG9hdDpyaWdodFwiXSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBpbWdbc3R5bGUqPVwiZmxvYXQ6IHJpZ2h0XCJdLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwW3N0eWxlKj1cImZsb2F0OnJpZ2h0XCJdID4gaW1nIHtcbiAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcCBpbWcge1xuICAgIG1hcmdpbjogLjJlbSAwOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgcDpub3QoOmVtcHR5KSArIHRhYmxlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBwOm5vdCg6ZW1wdHkpICsgLmNvbXBhcmlzb24tdGFibGUtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxNXB4IDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUge1xuICAtLXRoZWFkLWJvcmRlci1jb2xvdXI6ICR0aGVhZC1ib3JkZXItY29sb3VyO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdHIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLXRoZWFkLWJvcmRlci1jb2xvdXIpOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQgdGgge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZS5yZXNwb25zaXZlLXRhYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGUge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZTpub3QoW2NsYXNzKj1wcmVzZXRdKSB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLnJlc3BvbnNpdmUtdGFibGU6bm90KFtjbGFzcyo9cHJlc2V0XSkgdGhlYWQge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keTpub3QoLmNvbXBhcmlzb24tc3VtbWFyeSkge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGQge1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRoZWFkW2NsYXNzKj1cInByZXNldFwiXSArIHRib2R5OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMTBweDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIHRib2R5IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUgdGJvZHkgdHI6bm90KDpsYXN0LWNoaWxkKSB0aCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB0YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlIC5jb2wtbGFiZWwge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUucmVzcG9uc2l2ZS10YWJsZSB0Ym9keSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlOyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdGFibGUubm8td3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHRhYmxlLmNvbXBhcmlzb24tdGFibGUgdGJvZHkgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBnYXA6IDE1cHg7XG4gIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1mYW1pbHk6IFwiS2h1bGFcIiwgXCJLaHVsYSBGYWxsYmFja1wiLCBcIkFyaWFsXCI7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBnYXA6IDI1cHg7IH0gfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJvcmRlci1jb2xvcjogI2VlZWVlZTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNkYWRhZGE7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6aGFzKGltZykge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGUge1xuICAgICAgcGFkZGluZzogNTBweCA2MHB4OyB9IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSArIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTpiZWZvcmUsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74SNXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBjb2xvcjogI2VlZWVlZTtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBsaW5lLWhlaWdodDogLjg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZTphZnRlciB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgYmxvY2txdW90ZSBpbWcge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgaWZyYW1lW3NyYyo9XCJodHRwczovL3d3dy55b3V0dWJlLmNvbS9cIl0ge1xuICBmbGV4LWdyb3c6IDE7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSB7XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwIDAgNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgYm9yZGVyOiAxcHggc29saWQgIzk1OTU5NTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMzVweDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGU6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogIzQ4NDg0ODtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gMTVweCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTU5NTk1O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44cywgcGFkZGluZyAwLjhzLCBvcGFjaXR5IDAuOHM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+DhVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFJlZ3VsYXJcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgZm9udC1zaXplIDAuOHM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZSwgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjsgfVxuICAgICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmU6YmVmb3JlLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlIHtcbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICBvcGFjaXR5OiAuNDtcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgMC42cywgb3BhY2l0eSAwLjZzOyB9XG4gICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjZzOyB9XG5cbi5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwge1xuICBtYXJnaW46IDEwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIHVsIHVsIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxNXB4OyB9XG4gICAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgdWwgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCB7XG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogMCAyNXB4O1xuICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItcm9tYW47IH1cbiAgICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIG9sIG9sIG9sIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTsgfVxuICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCBvbCBvbCBvbCBvbCB7XG4gICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBsaSB7XG4gIGNvbG9yOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgxLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgxIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgyIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGgzLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGgzIHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg0LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg0IHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg1LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg1IHtcbiAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB1bCArIGg2LCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBvbCArIGg2IHtcbiAgbWFyZ2luLXRvcDogMTVweDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBkbCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDEwcHggYXV0bzsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUuaW1hZ2Uge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIG1hcmdpbjogMTBweCBhdXRvOyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZS5pbWFnZS1zdHlsZS1hbGlnbi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG4gIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyIGZpZ3VyZS5pbWFnZS1zdHlsZS1hbGlnbi1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlLmltYWdlLXN0eWxlLWJsb2NrLWFsaWduLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUuaW1hZ2Utc3R5bGUtYmxvY2stYWxpZ24tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmVbY2xhc3MqPVwiaW1hZ2Utc3R5bGUtYmxvY2tcIl0ge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDsgfVxuICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciBmaWd1cmUgaW1nIHtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMTApO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDEsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoMiwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGgzLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgaDQsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciBoNSwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGg2LCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIgcCwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGxpLCAuZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIGEsIC5kb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtYWNjZXNzLWNvbnRhaW5lciB0YWJsZSB0aGVhZCB0aCwgLmRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1hY2Nlc3MtY29udGFpbmVyIHRhYmxlIHRib2R5IHRkLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoMSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDIsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGgzLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBoNCwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgaDUsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IGg2LCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBwLCAuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSBsaSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkuZG9jdW1lbnRhdGlvbi1pbnRlcm5hbC11c2Utb25seSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgYSwgLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHkgdGFibGUgdGhlYWQgdGgsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IHRhYmxlIHRib2R5IHRkIHtcbiAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCk7IH1cblxuLmRvY3VtZW50YXRpb24tbm90LXB1Ymxpc2hlZCB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG51bC5mdW5jdGlvbnMtbGlzdDpoYXMoPiBsaS5oYXMtc3VibWVudS10b2dnbGUpID4gbGk6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4OyB9XG5cbnVsLmZ1bmN0aW9ucy1saXN0Omhhcyg+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSkgdWwubWVudTpoYXMoPiBsaS5oYXMtc3VibWVudS10b2dnbGUpID4gbGk6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcbiAgcGFkZGluZy1sZWZ0OiA0NXB4OyB9XG5cbi5tZW51LmZ1bmN0aW9ucy1saXN0IHtcbiAgLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51LmZ1bmN0aW9ucy1saXN0ID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAxMHB4OyB9IH1cbiAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgPiBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpIHtcbiAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgI2ZmZmZmZjsgfVxuICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaTpoYXModWwuc3VibWVudS5pcy1hY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aGFzKHVsLnN1Ym1lbnUuaXMtYWN0aXZlKSA+IGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAjNjcxNTZhKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpOmhvdmVyID4gYSwgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGk6aG92ZXIgPiBidXR0b246YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgIzY3MTU2YSk7IH1cbiAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IGEge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggMDtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IGEgKyBidXR0b24ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiBhICsgYnV0dG9uOmFmdGVyIHtcbiAgICAgICAgICBjb2xvcjogIzQ4NDg0ODtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IGEgKyBidXR0b25bYXJpYS1leHBhbmRlZD1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1tZW51LWZ1bmN0aW9uLWxpc3QtaG92ZXItY29sb3VyLCAjNjcxNTZhKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9XG4gICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgPiB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG9yZGVyOiAzO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IHVsIGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpID4gdWwgbGkgYSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IHVsIGxpIGEge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gICAgICAubWVudS5mdW5jdGlvbnMtbGlzdCBsaSA+IHVsIC5pbmRleCB7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUuZnVuY3Rpb25zLWxpc3QgbGkgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7IH0gfVxuICAgIC5tZW51LmZ1bmN0aW9ucy1saXN0IGxpIC5saW5rLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZsZXg6IDE7IH1cblxuLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsID4gbGkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIGxpIHtcbiAgcGFkZGluZzogMTBweCA1cHg7IH1cblxuLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIC5yZXN1bHRzLWl0ZW1zLWNvbnRhaW5lciB1bCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1pdGVtcy1jb250YWluZXIgdWwge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG4gIC5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1pdGVtcy1jb250YWluZXIgdWwgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1pdGVtcy1jb250YWluZXIgdWwgbGk6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+BlFwiO1xuICAgICAgbWFyZ2luOiAwIDdweDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDEwcHg7IH1cbiAgICAuZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtaXRlbXMtY29udGFpbmVyIHVsIGxpIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1yZXN1bHRzLWZvdW5kLWxpc3QgdWwgLnJlc3VsdHMtc25pcHBldC1jb250YWluZXIge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5kb2N1bWVudGF0aW9uLXJlc3VsdHMtZm91bmQtbGlzdCB1bCAucmVzdWx0cy1zbmlwcGV0LWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDVweCAwIDEwcHg7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uZG9jdW1lbnRhdGlvbi1iYWNrLWJ1dHRvbi1jb250YWluZXIgLmRvY3VtZW50YXRpb24tYmFjay1idXR0b24ge1xuICBtYXJnaW46IDA7IH1cblxuLnN0YXRpc3RpY3MtY29udGVudC1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gIC5zdGF0aXN0aWNzLWNvbnRlbnQtY29udGFpbmVyIHVsIHtcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7IH1cbiAgICAuc3RhdGlzdGljcy1jb250ZW50LWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5zdGF0aXN0aWNzLWNvbnRlbnQtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgcGFkZGluZy1yaWdodDogNXB4OyB9XG5cbi5yZXZpc2lvbi1jb3VudC1jb250YWluZXIuc2VwZXJhdG9yIHNwYW4ge1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBwYWRkaW5nOiAwIDAgNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJldmlzaW9uLWNvdW50LWNvbnRhaW5lci5zZXBlcmF0b3Igc3BhbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5yZXZpc2lvbi1jb3VudC1jb250YWluZXIuc2VwZXJhdG9yIHNwYW46YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDAwMDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cblxuLnJldmlzaW9uLWNvdW50LWNvbnRhaW5lciBzcGFuIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5yZXZpc2lvbi1pbmZvcm1hdGlvbi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7IH1cbiAgLnJldmlzaW9uLWluZm9ybWF0aW9uLWNvbnRhaW5lciB0YWJsZS5hdWRpdC10cmFpbC1lbnRyeSB0aGVhZCB0aCB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpOyB9XG5cbi50ZWNobmljYWwtZG9jdW1lbnRhdGlvbi1saXN0LWNvbnRhaW5lcjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDQwcHggMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuXG4uZG9jdW1lbnRhdGlvbi1kZW1vLWxpbmstY29udGFpbmVyIHtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCk7IH1cblxuLmluc3BlY3QtcHJvbXB0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMzBweCAwO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5leHByZXNzLWNvbmZpZ3VyYXRpb24ge1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmV4cHJlc3MtY29uZmlndXJhdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7IH0gfVxuICAuZXhwcmVzcy1jb25maWd1cmF0aW9uIC5jb25maWd1cmF0aW9uLXNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTsgfVxuICAgIC5leHByZXNzLWNvbmZpZ3VyYXRpb24gLmNvbmZpZ3VyYXRpb24tc2VjdGlvbjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIC5leHByZXNzLWNvbmZpZ3VyYXRpb24gLmNvbmZpZ3VyYXRpb24tc2VjdGlvbiAuYXhpcy1zZWN0aW9uLWhlYWRlciBoMiB7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLmNvbmZpZ3VyYXRpb24taW50cm9kdWN0aW9uLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmNvbmZpZ3VyYXRpb24taW50cm9kdWN0aW9uLWNvbnRhaW5lciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogNXB4IDA7IH1cblxuLnRlY2huaWNhbC1saXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC50ZWNobmljYWwtbGlzdCBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAudGVjaG5pY2FsLWxpc3QgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpOyB9XG4gIC50ZWNobmljYWwtbGlzdCAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAudGVjaG5pY2FsLWxpc3QgLnN0YXRlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nOiAycHggMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zdGF0ZS1iYWNrZ3JvdW5kLWNvbG91cik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3RhdGUtY29sb3VyKTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6IHZhcigtLXN0YXRlLWNvbG91cik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgIC50ZWNobmljYWwtbGlzdCAuc3RhdGUuYWN0aXZlIHtcbiAgICAgIC0tc3RhdGUtYmFja2dyb3VuZC1jb2xvdXI6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy05KTtcbiAgICAgIC0tc3RhdGUtY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAudGVjaG5pY2FsLWxpc3QgLnN0YXRlLmRpc2FibGVkIHtcbiAgICAgIC0tc3RhdGUtYmFja2dyb3VuZC1jb2xvdXI6IHZhcigtLXdhcm5pbmctY29sb3VyLWxpZ2h0bmVzcy05KTtcbiAgICAgIC0tc3RhdGUtY29sb3VyOiB2YXIoLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgLnRlY2huaWNhbC1saXN0IC5rZXktdmFsdWUtcGFpciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDVweDsgfVxuICAgIC50ZWNobmljYWwtbGlzdCAua2V5LXZhbHVlLXBhaXIgLm5hbWUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4ubmV1dHJhbGlzZWQtaXRlbXMge1xuICBtYXJnaW46IDEwcHggMCAyMHB4OyB9XG4gIC5uZXV0cmFsaXNlZC1pdGVtcyAucGxhY2Vob2xkZXItdmFsdWUtZGlzcGxheTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAucGxhY2Vob2xkZXItdmFsdWUtZGlzcGxheSAubmFtZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAucGxhY2Vob2xkZXItdmFsdWUtZGlzcGxheSAubmFtZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCI9PlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTYpOyB9XG4gIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IC52YWx1ZSB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cblxuLypcclxuLS0tLS0gQ29udGV4dCBNZW51IC0tLS0tLSBcclxuRXNzZW50aWFsbHkgYSB0b29sYmFyIC8gdG9vbGJveCBtZW51XHJcbiovXG4uY29udGV4dC1tZW51LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgei1pbmRleDogMTk5NTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgLmNvbnRleHQtbWVudS1jb250YWluZXIuYWN0aXZlLCAuY29udGV4dC1tZW51LWNvbnRhaW5lci5pcy1jbG9zaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIHotaW5kZXg6IDE5OTY7IH1cbiAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaSwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaSwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgdWwsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpLmFjdGl2ZSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkuYWN0aXZlIHVsIHtcbiAgICAgICAgbWF4LWhlaWdodDogNzAwcHg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC42cywgYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaS5hY3RpdmUgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSB1bCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkuYWN0aXZlIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgdWwge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuNnM7IH0gfVxuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkuYWN0aXZlID4gYnV0dG9uLm1lbnUtb3B0aW9uLWNvbnRhaW5lciwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkuYWN0aXZlID4gYnV0dG9uLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MTU2YTtcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjZzOyB9XG4gICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpLmFjdGl2ZSA+IGJ1dHRvbi5tZW51LW9wdGlvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaS5hY3RpdmUgPiBidXR0b24ubWVudS1vcHRpb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAgICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgb2wgbGkgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpIHVsLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciB1bCBsaSBvbCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkgdWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIG9sIGxpIG9sLCAuY29udGV4dC1tZW51LWNvbnRhaW5lciBvbCBsaSB1bCwgLmNvbnRleHQtbWVudS1jb250YWluZXIgdWwgbGkgb2wsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHVsIGxpIHVsIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoIDAuOHM7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuc3RhdGUtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XG4gICAgb3BhY2l0eTogLjU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLnN0YXRlLW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6aG92ZXIsIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5zdGF0ZS1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5lZGl0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAuZWRpdC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmhvdmVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLmVkaXQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lcjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIge1xuICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICB3aWR0aDogNDVweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICBwYWRkaW5nOiA3LjVweCAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXI6YWN0aXZlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1pbi13aWR0aDogNDVweDsgfVxuICAgICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyOmFjdGl2ZSAubWVudS1vcHRpb24tbGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1pY29uLWNvbG91cik7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwgLm1lbnUtb3B0aW9uLWljb24tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+XvVwiOyB9XG4gICAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmFjY2Vzcy1sZXZlbCAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIgLm1lbnUtb3B0aW9uLWljb24tdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsLnN0YXRlLXZhbHVlLTAge1xuICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsLnN0YXRlLXZhbHVlLTEge1xuICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuYWNjZXNzLWxldmVsLnN0YXRlLXZhbHVlLTIge1xuICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tYmxhY2stY29sb3VyKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1ibGFjay1jb2xvdXIpOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwuc3RhdGUtdmFsdWUtMywgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5hY2Nlc3MtbGV2ZWwuc3RhdGUtdmFsdWUtNCB7XG4gICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApO1xuICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMCk7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLnB1Ymxpc2hlZCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgpNcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIucHVibGlzaGVkLnN0YXRlLXZhbHVlLXRydWUge1xuICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApO1xuICAgICAgY29sb3I6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIucHVibGlzaGVkLnN0YXRlLXZhbHVlLWZhbHNlIHtcbiAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTtcbiAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmVkaXQtbWVudSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgJNcIjtcbiAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5lZGl0LXRleHQgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GEXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmVkaXQtcHJvcGVydGllcyAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoZFcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLm1vdmUtdXAgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi7pOCXCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLm1vdmUtZG93biAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLukrhcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuaW5zZXJ0LWJlZm9yZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoZBcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmluc2VydC1hZnRlciAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLuoKRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLnByb21vdGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74C7XCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmRlbW90ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgLxcIjsgfVxuICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIC5tZW51LW9wdGlvbi1jb250YWluZXIuZGVsZXRlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+LrVwiO1xuICAgICAgZm9udC1zaXplOiAxN3B4OyB9XG4gICAgLmNvbnRleHQtbWVudS1jb250YWluZXIgLm1lbnUtb3B0aW9uLWNvbnRhaW5lci5tb3ZlLWFydGljbGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74KyXCI7IH1cbiAgICAuY29udGV4dC1tZW51LWNvbnRhaW5lciAubWVudS1vcHRpb24tY29udGFpbmVyLmF1ZGl0LXRyYWlsIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+HmlwiOyB9XG5cbi8qXHJcbi0tLS0tIEdyYWR1YXRlZCBDb2xvdXIgRWRnZSAtLS0tLS0gXHJcbkVkZ2UgZWZmZWN0IHdoZXJlIHRoZSBpcyB0eXBpY2FsbHkgMyB0b25lcyBvZiBhIHNwZWNpZmljIGNvbG91ciBpbiB0aGUgY29ybmVyIG9mIGEgZWxlbWVudCAvIGNvbXBvbmVudC5cclxuUG9zc2libGUgY2xhc3MgY29uZmlndXJhdGlvbiBvcHRpb25zOlxyXG4tIE9wYWNpdHkgZW51bWVyYXRpb24gKCBIaWdoLCBNZWRpdW0sIExvdyApXHJcbi0gUG9zaXRpb24gVG9wICsgQm90dG9tIEwgJiBSIGNvcm5lcnNcclxuXHJcbkZvciBhIGRlbW9uc3RyYXRpb24gZ28gdG8gL3N0YXRpYy9ncmFkdWF0ZWQtY29sb3VyLWVkZ2UtdGVzdC5odG1sXHJcbiovXG4uZ3JhZHVhdGVkLWNvbG91ci1lZGdlIHtcbiAgLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQ6IHZhcigtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0LCA2MHB4KTtcbiAgd2lkdGg6IDYwMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5wb3NpdGlvbi0xIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IGNhbGMoMTAwJSAtICgzMDBweCArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogLjU2KSkpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01NmRlZyk7IH1cbiAgLmdyYWR1YXRlZC1jb2xvdXItZWRnZS5wb3NpdGlvbi0yIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gKDMwMHB4ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAuNTYpKSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNTZkZWcpOyB9XG4gIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UucG9zaXRpb24tMyB7XG4gICAgcmlnaHQ6IGNhbGMoMTAwJSAtICgzMDBweCArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogLjU2KSkpO1xuICAgIGJvdHRvbTogMDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNTZkZWcpOyB9XG4gIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UucG9zaXRpb24tNCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGNhbGMoMTAwJSAtICgzMDBweCArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogLjU2KSkpO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNTZkZWcpOyB9XG4gIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uub3BhY2l0eS0xIC5zdGVwIHtcbiAgICBvcGFjaXR5OiAuOTsgfVxuICAgIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uub3BhY2l0eS0xIC5zdGVwICsgLnN0ZXAge1xuICAgICAgb3BhY2l0eTogLjY7IH1cbiAgICAgIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uub3BhY2l0eS0xIC5zdGVwICsgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICAgIG9wYWNpdHk6IC4zOyB9XG4gIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uub3BhY2l0eS0yIC5zdGVwIHtcbiAgICBvcGFjaXR5OiAuNjsgfVxuICAgIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uub3BhY2l0eS0yIC5zdGVwICsgLnN0ZXAge1xuICAgICAgb3BhY2l0eTogLjM7IH1cbiAgICAgIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uub3BhY2l0eS0yIC5zdGVwICsgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICAgIG9wYWNpdHk6IC4xOyB9XG4gIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uub3BhY2l0eS0zIC5zdGVwIHtcbiAgICBvcGFjaXR5OiAuMzsgfVxuICAgIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uub3BhY2l0eS0zIC5zdGVwICsgLnN0ZXAge1xuICAgICAgb3BhY2l0eTogLjI7IH1cbiAgICAgIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2Uub3BhY2l0eS0zIC5zdGVwICsgLnN0ZXAgKyAuc3RlcCB7XG4gICAgICAgIG9wYWNpdHk6IC4xOyB9XG4gIC5ncmFkdWF0ZWQtY29sb3VyLWVkZ2UgLnN0ZXAge1xuICAgIHdpZHRoOiA2MDBweDtcbiAgICBoZWlnaHQ6IHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG5cbi8qXHJcbi0tLS0tIEF4aXMgUmljaCBUZXh0IEVkaXRvcnMgLS0tLS0gXHJcbkJlc3Bva2UgcnVsZXMgdGhhdCBnZXQgYXBwbGllZCB3aGVuIGludGVyZ3JhdGluZyB3aXRoIHRoaXJkLXBhcnR5IGVkaXRvcnMuXHJcblxyXG5HZW5lcmFsIHJ1bGVzIHRoYXQgZ2V0IGFwcGxpZWQgdG8gLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyIHdoaWNoIGlzIHRoZSBjb21tb24gY29udGFpbmVyIHRoYXQgZ2V0cyB1c2VkIGFjcm9zcyBhbGwgZWRpdG9ycy5cclxuKi9cbi5jay1ib2R5LXdyYXBwZXIge1xuICB6LWluZGV4OiAyMDIxOyB9XG4gIC5jay1ib2R5LXdyYXBwZXIuZGlzYWJsZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNrLWVkaXRvciAuY2stY29udGVudCB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4ucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIge1xuICAtLWNrLWNvbG9yLWJhc2UtYm9yZGVyOiAjZGFkYWRhO1xuICAtLWNrLWNvbG9yLWJhc2UtZXJyb3I6ICNiMjBjMGM7XG4gIC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZzogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtLWNrLWNvbG9yLWltYWdlLWNhcHRpb24tdGV4dDogIzAwMDAwMDsgfVxuXG5bZGF0YS1heGlzLXJpY2gtdGV4dC1lZGl0b3JdIHtcbiAgbWluLWhlaWdodDogMTAwcHg7IH1cbiAgW2RhdGEtYXhpcy1yaWNoLXRleHQtZWRpdG9yXTpub3QoLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyKSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTsgfVxuICBbZGF0YS1heGlzLXJpY2gtdGV4dC1lZGl0b3JdID4gdGV4dGFyZWEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNrLXNvdXJjZS1lZGl0aW5nLWFyZWEgdGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50OyB9XG5cbi5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMSB7XG4gIC0taW5kZW50LW1hcmdpbjogMCAwIDAgY2FsYygxICogMjVweCk7IH1cbiAgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0xICsgdWwsIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMSArIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxICogMjVweCk7IH1cblxuLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0yIHtcbiAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKDIgKiAyNXB4KTsgfVxuICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTIgKyB1bCwgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC0yICsgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDIgKiAyNXB4KTsgfVxuXG4uYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTMge1xuICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoMyAqIDI1cHgpOyB9XG4gIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtMyArIHVsLCAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTMgKyBvbCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMyAqIDI1cHgpOyB9XG5cbi5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtNCB7XG4gIC0taW5kZW50LW1hcmdpbjogMCAwIDAgY2FsYyg0ICogMjVweCk7IH1cbiAgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC00ICsgdWwsIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtNCArIG9sIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0ICogMjVweCk7IH1cblxuLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC01IHtcbiAgLS1pbmRlbnQtbWFyZ2luOiAwIDAgMCBjYWxjKDUgKiAyNXB4KTsgfVxuICAuYXhpcy1lZGl0b3ItaW5kZW50LWxldmVsLTUgKyB1bCwgLmF4aXMtZWRpdG9yLWluZGVudC1sZXZlbC01ICsgb2wge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUgKiAyNXB4KTsgfVxuXG4vKlxyXG5cclxuLS0tLS0gVmlkZW8gUGxheWVyIC0tLS1cclxuXHJcbklNUE9SVEFOVDogVGhpcyBpcyBzcGVjaWZpY2FsbHkgZm9yIGVtYmVkZGluZyBZb3V0dWJlIHZpZGVvcyAvIEJhbm5lciBzZXJpZXMuIC9zdGF0aWMvdmlkZW8tc2VyaWVzLmh0bWxcclxuXHJcbkhhbmRsZXM6XHJcbi0gVGh1bWJuYWlsIHBsYXkgaWNvbi5cclxuLSBEdXJhdGlvbiBmb3JtYXR0aW5nLlxyXG4tIFZpZGVvIGluZGljYXRvciB0ZXh0ICggY2xpY2sgaGVyZSB0byB3YXRjaCB2aWRlbyApXHJcblxyXG4qL1xuLnZpZGVvLXBsYXllci1jb250YWluZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnZpZGVvLXBsYXllci1jb250YWluZXI6aG92ZXIgLmltYWdlOmFmdGVyIHtcbiAgICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTMpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGJvcmRlci1jb2xvciAwLjZzOyB9XG4gIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLmltYWdlOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74GLXCI7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgY29sb3I6IHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xuICAgICAgYm9yZGVyOiAwIHNvbGlkIHZhcigtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMyk7XG4gICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4zKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44cywgYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3JkZXItY29sb3IgMC44czsgfVxuICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAuZHVyYXRpb24tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNXB4O1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7IH1cbiAgICAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAuZHVyYXRpb24tY29udGFpbmVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+Al1wiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIC52aWRlby1wbGF5ZXItY29udGFpbmVyIC5kdXJhdGlvbi1jb250YWluZXIgLmxhYmVsLCAudmlkZW8tcGxheWVyLWNvbnRhaW5lciAuZHVyYXRpb24tY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLnZpZGVvLXBsYXllci1pbmRpY2F0b3ItdGV4dCB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnZpZGVvLXBsYXllci1jb250YWluZXIgLnJlYWQtbW9yZSB7XG4gICAgICBmbGV4OiAxOyB9IH1cblxuLypcclxuICBNdWx0aW1lZGlhIEVsZW1lbnRcclxuICBcclxuICBIYW5kbGVzIHN0eWxpbmcgZm9yIHZpZGVvIHBsYXliYWNrXHJcblxyXG4qL1xudmlkZW8ge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBzdXBwb3J0cyBub3QgKC1hcHBsZS1wYXktYnV0dG9uLXN0eWxlOiBpbmhlcml0KSB7XG4gICAgLnZpZGVvLmlzLXJlYWR5LXRvLXBsYXk6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCLvgYtcIjtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICBib3JkZXI6IDAgc29saWQgdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9XG4gICAgLnZpZGVvLnJlcGxheS12aWRlbzphZnRlciB7XG4gICAgICBjb250ZW50OiBcIu+No1wiO1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBjb2xvcjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXdoaXRlLWNvbG91cik7XG4gICAgICBib3JkZXI6IDAgc29saWQgdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XG4gICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHMsIGJvcmRlci1jb2xvciAwLjhzOyB9IH1cblxuLnNvdXJjZS11bnN1cHBvcnRlZCA+IHZpZGVvIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc291cmNlLXVuc3VwcG9ydGVkID4gaW1nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5bZGF0YS1mYWxsYmFja10ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYWxsYmFjay1lbGVtZW50IHtcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZhbGxiYWNrLWVsZW1lbnQuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mYWxsYmFjay1lbGVtZW50IGltZyB7XG4gICAgei1pbmRleDogMTsgfVxuICAuZmFsbGJhY2stZWxlbWVudCAuZmFsbGJhY2stdGV4dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MnB4IDFmcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDYsIDI0NiwgMjQ2LCAwLjgpO1xuICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgei1pbmRleDogMjsgfVxuICAgIC5mYWxsYmFjay1lbGVtZW50IC5mYWxsYmFjay10ZXh0OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+BqlwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7IH1cbiAgICAuZmFsbGJhY2stZWxlbWVudCAuZmFsbGJhY2stdGV4dCAuZXJyb3ItZGV0YWlscyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZhbGxiYWNrLWVsZW1lbnQgLmZhbGxiYWNrLXRleHQgc3BhbiwgLmZhbGxiYWNrLWVsZW1lbnQgLmZhbGxiYWNrLXRleHQgZGl2IHtcbiAgICAgIGdyaWQtY29sdW1uOiAyOyB9XG5cbi8qISBub3JtYWxpemUuY3NzIHY4LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyB9XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwOyB9XG5cbmJ1dHRvbixcbmlucHV0IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDsgfVxuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDsgfVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSAqLCBbZGF0YS13aGF0aW50ZW50PVwibW91c2VcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnRlbnQ9XCJ0b3VjaFwiXSAqLFxuW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdICo6Zm9jdXMsXG5bZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSAqLFxuW2RhdGEtd2hhdGlucHV0PVwibW91c2VcIl0gKjpmb2N1cyxcbltkYXRhLXdoYXRpbnB1dD1cInRvdWNoXCJdICosXG5bZGF0YS13aGF0aW5wdXQ9XCJ0b3VjaFwiXSAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5bZHJhZ2dhYmxlPWZhbHNlXSB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4uZm91bmRhdGlvbi1tcSB7XG4gIGZvbnQtZmFtaWx5OiBcInNtYWxsPTBlbSZtZWRpdW09NDBlbSZsYXJnZT04MS4yNWVtJnhsYXJnZT0xMDBlbSZ4eGxhcmdlPTEyMGVtXCI7IH1cblxuaHRtbCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTAwJTsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzAwMDAwMDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi4zMzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDA7XG4gIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjhzLCBib3JkZXItY29sb3IgMC44cztcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuICBbdHlwZT0ndGV4dCddOmZvY3VzLCBbdHlwZT0ncGFzc3dvcmQnXTpmb2N1cywgW3R5cGU9J2RhdGUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmZvY3VzLCBbdHlwZT0nbW9udGgnXTpmb2N1cywgW3R5cGU9J3dlZWsnXTpmb2N1cywgW3R5cGU9J2VtYWlsJ106Zm9jdXMsIFt0eXBlPSdudW1iZXInXTpmb2N1cywgW3R5cGU9J3NlYXJjaCddOmZvY3VzLCBbdHlwZT0ndGVsJ106Zm9jdXMsIFt0eXBlPSd0aW1lJ106Zm9jdXMsIFt0eXBlPSd1cmwnXTpmb2N1cywgW3R5cGU9J2NvbG9yJ106Zm9jdXMsXG4gIHRleHRhcmVhOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cblxudGV4dGFyZWEge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgdGV4dGFyZWFbcm93c10ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuXG5pbnB1dDpkaXNhYmxlZCwgaW5wdXRbcmVhZG9ubHldLFxudGV4dGFyZWE6ZGlzYWJsZWQsXG50ZXh0YXJlYVtyZWFkb25seV0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPXNlYXJjaF0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogI2M4YzhjODsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT1maWxlXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQsIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkLCAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZC5pbnB1dC1ncm91cC1idXR0b24gPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIGxhYmVsIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHBhZGRpbmc6IDAgMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FlYWVhZTtcbiAgYmFja2dyb3VuZDogI2RhZGFkYTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4zMzc1cmVtO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOGM4Yzg7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS42O1xuICBjb2xvcjogIzQ4NDg0ODtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2ZXJzaW9uPVwiMS4xXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAzMiAyNFwiPjxwb2x5Z29uIHBvaW50cz1cIjAsMCAzMiwwIDE2LDI0XCIgc3R5bGU9XCJmaWxsOiByZ2IlMjgxNDksIDE0OSwgMTQ5JTI5XCI+PC9wb2x5Z29uPjwvc3ZnPicpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM2ZDZkNmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44cywgYm9yZGVyLWNvbG9yIDAuOHM7IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgc2VsZWN0Om5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNiMjBjMGM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2U3ZTc7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2IyMGMwYzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjYjIwYzBjOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICNiMjBjMGM7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdyaWQtY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIG1heC13aWR0aDogMTMwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLWNvbnRhaW5lci5mbHVpZCB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLWNvbnRhaW5lci5mdWxsIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5ncmlkLXgge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG5cbi5jZWxsIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG1pbi13aWR0aDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNlbGwuYXV0byB7XG4gICAgZmxleDogMSAxIDA7IH1cbiAgLmNlbGwuc2hyaW5rIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLmF1dG8ge1xuICB3aWR0aDogYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNocmluayB7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtc2hyaW5rLCAuZ3JpZC14ID4gLnNtYWxsLWZ1bGwsIC5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4LWJhc2lzOiBhdXRvOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluaywgLmdyaWQteCA+IC5tZWRpdW0tZnVsbCwgLmdyaWQteCA+IC5tZWRpdW0tMSwgLmdyaWQteCA+IC5tZWRpdW0tMiwgLmdyaWQteCA+IC5tZWRpdW0tMywgLmdyaWQteCA+IC5tZWRpdW0tNCwgLmdyaWQteCA+IC5tZWRpdW0tNSwgLmdyaWQteCA+IC5tZWRpdW0tNiwgLmdyaWQteCA+IC5tZWRpdW0tNywgLmdyaWQteCA+IC5tZWRpdW0tOCwgLmdyaWQteCA+IC5tZWRpdW0tOSwgLmdyaWQteCA+IC5tZWRpdW0tMTAsIC5ncmlkLXggPiAubWVkaXVtLTExLCAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtZnVsbCwgLmdyaWQteCA+IC5sYXJnZS0xLCAuZ3JpZC14ID4gLmxhcmdlLTIsIC5ncmlkLXggPiAubGFyZ2UtMywgLmdyaWQteCA+IC5sYXJnZS00LCAuZ3JpZC14ID4gLmxhcmdlLTUsIC5ncmlkLXggPiAubGFyZ2UtNiwgLmdyaWQteCA+IC5sYXJnZS03LCAuZ3JpZC14ID4gLmxhcmdlLTgsIC5ncmlkLXggPiAubGFyZ2UtOSwgLmdyaWQteCA+IC5sYXJnZS0xMCwgLmdyaWQteCA+IC5sYXJnZS0xMSwgLmdyaWQteCA+IC5sYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtZnVsbCwgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG5cbi5ncmlkLXggPiAuc21hbGwtMSwgLmdyaWQteCA+IC5zbWFsbC0yLCAuZ3JpZC14ID4gLnNtYWxsLTMsIC5ncmlkLXggPiAuc21hbGwtNCwgLmdyaWQteCA+IC5zbWFsbC01LCAuZ3JpZC14ID4gLnNtYWxsLTYsIC5ncmlkLXggPiAuc21hbGwtNywgLmdyaWQteCA+IC5zbWFsbC04LCAuZ3JpZC14ID4gLnNtYWxsLTksIC5ncmlkLXggPiAuc21hbGwtMTAsIC5ncmlkLXggPiAuc21hbGwtMTEsIC5ncmlkLXggPiAuc21hbGwtMTIge1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTEge1xuICB3aWR0aDogOC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC01IHtcbiAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLmdyaWQteCA+IC5zbWFsbC04IHtcbiAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuXG4uZ3JpZC14ID4gLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLXggPiAuc21hbGwtMTIge1xuICB3aWR0aDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC14ID4gLm1lZGl1bS1hdXRvIHtcbiAgICBmbGV4OiAxIDEgMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS1zaHJpbmssIC5ncmlkLXggPiAubWVkaXVtLTEsIC5ncmlkLXggPiAubWVkaXVtLTIsIC5ncmlkLXggPiAubWVkaXVtLTMsIC5ncmlkLXggPiAubWVkaXVtLTQsIC5ncmlkLXggPiAubWVkaXVtLTUsIC5ncmlkLXggPiAubWVkaXVtLTYsIC5ncmlkLXggPiAubWVkaXVtLTcsIC5ncmlkLXggPiAubWVkaXVtLTgsIC5ncmlkLXggPiAubWVkaXVtLTksIC5ncmlkLXggPiAubWVkaXVtLTEwLCAuZ3JpZC14ID4gLm1lZGl1bS0xMSwgLmdyaWQteCA+IC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLXNocmluayB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5ncmlkLXggPiAubGFyZ2UtYXV0byB7XG4gICAgZmxleDogMSAxIDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQteCA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXggPiAubGFyZ2UtMSwgLmdyaWQteCA+IC5sYXJnZS0yLCAuZ3JpZC14ID4gLmxhcmdlLTMsIC5ncmlkLXggPiAubGFyZ2UtNCwgLmdyaWQteCA+IC5sYXJnZS01LCAuZ3JpZC14ID4gLmxhcmdlLTYsIC5ncmlkLXggPiAubGFyZ2UtNywgLmdyaWQteCA+IC5sYXJnZS04LCAuZ3JpZC14ID4gLmxhcmdlLTksIC5ncmlkLXggPiAubGFyZ2UtMTAsIC5ncmlkLXggPiAubGFyZ2UtMTEsIC5ncmlkLXggPiAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXggPiAubGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAubGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLXggPiAueGxhcmdlLWF1dG8ge1xuICAgIGZsZXg6IDEgMSAwO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLXNocmluaywgLmdyaWQteCA+IC54bGFyZ2UtMSwgLmdyaWQteCA+IC54bGFyZ2UtMiwgLmdyaWQteCA+IC54bGFyZ2UtMywgLmdyaWQteCA+IC54bGFyZ2UtNCwgLmdyaWQteCA+IC54bGFyZ2UtNSwgLmdyaWQteCA+IC54bGFyZ2UtNiwgLmdyaWQteCA+IC54bGFyZ2UtNywgLmdyaWQteCA+IC54bGFyZ2UtOCwgLmdyaWQteCA+IC54bGFyZ2UtOSwgLmdyaWQteCA+IC54bGFyZ2UtMTAsIC5ncmlkLXggPiAueGxhcmdlLTExLCAuZ3JpZC14ID4gLnhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLmdyaWQteCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQteCA+IC54bGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC14ID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLXggPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXk6bm90KC5ncmlkLXkpID4gLmNlbGwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmdyaWQtbWFyZ2luLXgge1xuICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXgge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuY2VsbCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc2hyaW5rIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiBjYWxjKDkxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi14ID4gLmF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xIHtcbiAgICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTcge1xuICAgICAgd2lkdGg6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAuc21hbGwtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tMyB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtYXV0byB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLXNocmluayB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS02IHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS05IHtcbiAgICAgIHdpZHRoOiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAubGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLWF1dG8ge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTEge1xuICAgICAgd2lkdGg6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTMge1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTYge1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLTkge1xuICAgICAgd2lkdGg6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cblxuLmdyaWQtcGFkZGluZy14IC5ncmlkLXBhZGRpbmcteCB7XG4gIG1hcmdpbi1yaWdodDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXggLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfSB9XG5cbi5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgbWFyZ2luLXJpZ2h0OiAtMC4zMTI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLWNvbnRhaW5lcjpub3QoLmZ1bGwpID4gLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteCA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbi5zbWFsbC11cC0xID4gLmNlbGwge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyA+IC5jZWxsIHtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtdXAtNCA+IC5jZWxsIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiA+IC5jZWxsIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtdXAtNyA+IC5jZWxsIHtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IDEyLjUlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFyZ2UtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGFyZ2UtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLXVwLTEgPiAuY2VsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS11cC00ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgLnhsYXJnZS11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC03ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnhsYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTEgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTMgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC00ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygyNSUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMjAlIC0gMC42MjVyZW0pOyB9XG5cbi5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTYgPiAuY2VsbCB7XG4gIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuXG4uZ3JpZC1tYXJnaW4teC5zbWFsbC11cC03ID4gLmNlbGwge1xuICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAwLjYyNXJlbSk7IH1cblxuLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgd2lkdGg6IGNhbGMoMTIuNSUgLSAwLjYyNXJlbSk7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC0zID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5zbWFsbC11cC02ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LnNtYWxsLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXguc21hbGwtdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14Lm1lZGl1bS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtMyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNiA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5tZWRpdW0tdXAtOCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMi41JSAtIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0xID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC0yID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNCA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC01ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDIwJSAtIDEuMjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi14LmxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgubGFyZ2UtdXAtNyA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxNC4yODU3MSUgLSAxLjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teC5sYXJnZS11cC04ID4gLmNlbGwge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMS4yNXJlbSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC1tYXJnaW4teC54bGFyZ2UtdXAtMSA+IC5jZWxsIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTIgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTMgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTQgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTUgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMjAlIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTYgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTcgPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTQuMjg1NzElIC0gMS4yNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXgueGxhcmdlLXVwLTggPiAuY2VsbCB7XG4gICAgd2lkdGg6IGNhbGMoMTIuNSUgLSAxLjI1cmVtKTsgfSB9XG5cbi5zbWFsbC1tYXJnaW4tY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuc21hbGwtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gICAgLnNtYWxsLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAgIC5zbWFsbC1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnNtYWxsLXBhZGRpbmctY29sbGFwc2Uge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5zbWFsbC1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLm1lZGl1bS1wYWRkaW5nLWNvbGxhcHNlID4gLmNlbGwge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAubGFyZ2UtcGFkZGluZy1jb2xsYXBzZSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5zbWFsbC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnNtYWxsLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAuc21hbGwtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAubGFyZ2UtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLmxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnhsYXJnZS1tYXJnaW4tY29sbGFwc2UgPiAueGxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtbWFyZ2luLWNvbGxhcHNlID4gLnhsYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW1hcmdpbi1jb2xsYXBzZSA+IC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1wYWRkaW5nLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAueGxhcmdlLXBhZGRpbmctY29sbGFwc2UgPiAuY2VsbCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMTYuNjY2NjclICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoMzMuMzMzMzMlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNDEuNjY2NjclICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNTguMzMzMzMlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNjYuNjY2NjclICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMC42MjVyZW0gLyAyKTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uZ3JpZC1tYXJnaW4teCA+IC5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyAwLjYyNXJlbSAvIDIpOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5ncmlkLW1hcmdpbi14ID4gLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDAuNjI1cmVtIC8gMik7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygwJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg0MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg2Ni42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOTEuNjY2NjclICsgMS4yNXJlbSAvIDIpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMCUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoOC4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmdyaWQtbWFyZ2luLXggPiAueGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyAxLjI1cmVtIC8gMik7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgMS4yNXJlbSAvIDIpOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5ncmlkLW1hcmdpbi14ID4gLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDgzLjMzMzMzJSArIDEuMjVyZW0gLyAyKTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuZ3JpZC1tYXJnaW4teCA+IC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg5MS42NjY2NyUgKyAxLjI1cmVtIC8gMik7IH0gfVxuXG4uZ3JpZC15IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gIC5ncmlkLXkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7IH1cbiAgLmdyaWQteSA+IC5hdXRvIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmdyaWQteSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLXNocmluaywgLmdyaWQteSA+IC5zbWFsbC1mdWxsLCAuZ3JpZC15ID4gLnNtYWxsLTEsIC5ncmlkLXkgPiAuc21hbGwtMiwgLmdyaWQteSA+IC5zbWFsbC0zLCAuZ3JpZC15ID4gLnNtYWxsLTQsIC5ncmlkLXkgPiAuc21hbGwtNSwgLmdyaWQteSA+IC5zbWFsbC02LCAuZ3JpZC15ID4gLnNtYWxsLTcsIC5ncmlkLXkgPiAuc21hbGwtOCwgLmdyaWQteSA+IC5zbWFsbC05LCAuZ3JpZC15ID4gLnNtYWxsLTEwLCAuZ3JpZC15ID4gLnNtYWxsLTExLCAuZ3JpZC15ID4gLnNtYWxsLTEyIHtcbiAgICBmbGV4LWJhc2lzOiBhdXRvOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tc2hyaW5rLCAuZ3JpZC15ID4gLm1lZGl1bS1mdWxsLCAuZ3JpZC15ID4gLm1lZGl1bS0xLCAuZ3JpZC15ID4gLm1lZGl1bS0yLCAuZ3JpZC15ID4gLm1lZGl1bS0zLCAuZ3JpZC15ID4gLm1lZGl1bS00LCAuZ3JpZC15ID4gLm1lZGl1bS01LCAuZ3JpZC15ID4gLm1lZGl1bS02LCAuZ3JpZC15ID4gLm1lZGl1bS03LCAuZ3JpZC15ID4gLm1lZGl1bS04LCAuZ3JpZC15ID4gLm1lZGl1bS05LCAuZ3JpZC15ID4gLm1lZGl1bS0xMCwgLmdyaWQteSA+IC5tZWRpdW0tMTEsIC5ncmlkLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtZnVsbCwgLmdyaWQteSA+IC5sYXJnZS0xLCAuZ3JpZC15ID4gLmxhcmdlLTIsIC5ncmlkLXkgPiAubGFyZ2UtMywgLmdyaWQteSA+IC5sYXJnZS00LCAuZ3JpZC15ID4gLmxhcmdlLTUsIC5ncmlkLXkgPiAubGFyZ2UtNiwgLmdyaWQteSA+IC5sYXJnZS03LCAuZ3JpZC15ID4gLmxhcmdlLTgsIC5ncmlkLXkgPiAubGFyZ2UtOSwgLmdyaWQteSA+IC5sYXJnZS0xMCwgLmdyaWQteSA+IC5sYXJnZS0xMSwgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLWZ1bGwsIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgZmxleC1iYXNpczogYXV0bzsgfSB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSwgLmdyaWQteSA+IC5zbWFsbC0yLCAuZ3JpZC15ID4gLnNtYWxsLTMsIC5ncmlkLXkgPiAuc21hbGwtNCwgLmdyaWQteSA+IC5zbWFsbC01LCAuZ3JpZC15ID4gLnNtYWxsLTYsIC5ncmlkLXkgPiAuc21hbGwtNywgLmdyaWQteSA+IC5zbWFsbC04LCAuZ3JpZC15ID4gLnNtYWxsLTksIC5ncmlkLXkgPiAuc21hbGwtMTAsIC5ncmlkLXkgPiAuc21hbGwtMTEsIC5ncmlkLXkgPiAuc21hbGwtMTIge1xuICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMSB7XG4gICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTIge1xuICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtMyB7XG4gICAgaGVpZ2h0OiAyNSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC00IHtcbiAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTUge1xuICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtNiB7XG4gICAgaGVpZ2h0OiA1MCU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC03IHtcbiAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuZ3JpZC15ID4gLnNtYWxsLTgge1xuICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gIC5ncmlkLXkgPiAuc21hbGwtOSB7XG4gICAgaGVpZ2h0OiA3NSU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMCB7XG4gICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMSB7XG4gICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgLmdyaWQteSA+IC5zbWFsbC0xMiB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tYXV0byB7XG4gICAgICBmbGV4OiAxIDEgMDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluaywgLmdyaWQteSA+IC5tZWRpdW0tMSwgLmdyaWQteSA+IC5tZWRpdW0tMiwgLmdyaWQteSA+IC5tZWRpdW0tMywgLmdyaWQteSA+IC5tZWRpdW0tNCwgLmdyaWQteSA+IC5tZWRpdW0tNSwgLmdyaWQteSA+IC5tZWRpdW0tNiwgLmdyaWQteSA+IC5tZWRpdW0tNywgLmdyaWQteSA+IC5tZWRpdW0tOCwgLmdyaWQteSA+IC5tZWRpdW0tOSwgLmdyaWQteSA+IC5tZWRpdW0tMTAsIC5ncmlkLXkgPiAubWVkaXVtLTExLCAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xIHtcbiAgICAgIGhlaWdodDogOC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogMTYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTQge1xuICAgICAgaGVpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogNDEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTcge1xuICAgICAgaGVpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogNjYuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubWVkaXVtLTEwIHtcbiAgICAgIGhlaWdodDogODMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiA5MS42NjY2NyU7IH1cbiAgICAuZ3JpZC15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQteSA+IC5sYXJnZS1hdXRvIHtcbiAgICAgIGZsZXg6IDEgMSAwO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAubGFyZ2UtMSwgLmdyaWQteSA+IC5sYXJnZS0yLCAuZ3JpZC15ID4gLmxhcmdlLTMsIC5ncmlkLXkgPiAubGFyZ2UtNCwgLmdyaWQteSA+IC5sYXJnZS01LCAuZ3JpZC15ID4gLmxhcmdlLTYsIC5ncmlkLXkgPiAubGFyZ2UtNywgLmdyaWQteSA+IC5sYXJnZS04LCAuZ3JpZC15ID4gLmxhcmdlLTksIC5ncmlkLXkgPiAubGFyZ2UtMTAsIC5ncmlkLXkgPiAubGFyZ2UtMTEsIC5ncmlkLXkgPiAubGFyZ2UtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IDI1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IDMzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IDUwJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IDU4LjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IDc1JTsgfVxuICAgIC5ncmlkLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiA4My4zMzMzMyU7IH1cbiAgICAuZ3JpZC15ID4gLmxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5ncmlkLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgZmxleDogMSAxIDA7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmssIC5ncmlkLXkgPiAueGxhcmdlLTEsIC5ncmlkLXkgPiAueGxhcmdlLTIsIC5ncmlkLXkgPiAueGxhcmdlLTMsIC5ncmlkLXkgPiAueGxhcmdlLTQsIC5ncmlkLXkgPiAueGxhcmdlLTUsIC5ncmlkLXkgPiAueGxhcmdlLTYsIC5ncmlkLXkgPiAueGxhcmdlLTcsIC5ncmlkLXkgPiAueGxhcmdlLTgsIC5ncmlkLXkgPiAueGxhcmdlLTksIC5ncmlkLXkgPiAueGxhcmdlLTEwLCAuZ3JpZC15ID4gLnhsYXJnZS0xMSwgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMiB7XG4gICAgICBoZWlnaHQ6IDE2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiAyNSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogMzMuMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtNSB7XG4gICAgICBoZWlnaHQ6IDQxLjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiA1MCU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogNTguMzMzMzMlOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtOCB7XG4gICAgICBoZWlnaHQ6IDY2LjY2NjY3JTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiA3NSU7IH1cbiAgICAuZ3JpZC15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IDgzLjMzMzMzJTsgfVxuICAgIC5ncmlkLXkgPiAueGxhcmdlLTExIHtcbiAgICAgIGhlaWdodDogOTEuNjY2NjclOyB9XG4gICAgLmdyaWQteSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLmdyaWQtcGFkZGluZy15IC5ncmlkLXBhZGRpbmcteSB7XG4gIG1hcmdpbi10b3A6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkgLmdyaWQtcGFkZGluZy15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfSB9XG5cbi5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLXBhZGRpbmcteSA+IC5jZWxsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfSB9XG5cbi5ncmlkLW1hcmdpbi15IHtcbiAgbWFyZ2luLXRvcDogLTAuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuMzEyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15IHtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IC0wLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmNlbGwge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC42MjVyZW0pO1xuICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNocmluayB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgIGhlaWdodDogY2FsYygyNSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgIGhlaWdodDogY2FsYyg1MCUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgIGhlaWdodDogY2FsYyg3NSUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMC42MjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtYXV0byB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xIHtcbiAgICAgIGhlaWdodDogY2FsYyg4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTQge1xuICAgICAgaGVpZ2h0OiBjYWxjKDMzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTUge1xuICAgICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTcge1xuICAgICAgaGVpZ2h0OiBjYWxjKDU4LjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTgge1xuICAgICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEwIHtcbiAgICAgIGhlaWdodDogY2FsYyg4My4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG5cbi5ncmlkLWZyYW1lIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIHdpZHRoOiAxMDB2dzsgfVxuXG4uY2VsbCAuZ3JpZC1mcmFtZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jZWxsLWJsb2NrIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLXkge1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG5cbi5jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLmNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiAxMDB2dzsgfVxuICAuY2VsbCAubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jayB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgLm1lZGl1bS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpdW0tY2VsbC1ibG9jay15IHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwdnc7IH1cbiAgLmNlbGwgLmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLmxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAgIC5sYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciA+IC5ncmlkLXgge1xuICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5sYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMHZ3OyB9XG4gIC5jZWxsIC54bGFyZ2UtZ3JpZC1mcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgICAueGxhcmdlLWNlbGwtYmxvY2stY29udGFpbmVyID4gLmdyaWQteCB7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgLnhsYXJnZS1jZWxsLWJsb2NrLXkge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfSB9XG5cbi5ncmlkLXkuZ3JpZC1mcmFtZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogYXV0bzsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZ3JpZC15Lm1lZGl1bS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZ3JpZC15LmxhcmdlLWdyaWQtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmNlbGwgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5jZWxsIC5ncmlkLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmNlbGwgLmdyaWQteS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuY2VsbCAuZ3JpZC15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4uZ3JpZC1tYXJnaW4teSB7XG4gIG1hcmdpbi10b3A6IC0wLjMxMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IC0wLjMxMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAtMC42MjVyZW07IH0gfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5jZWxsIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuY2VsbCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pO1xuICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zaHJpbmsge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0xIHtcbiAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMiB7XG4gICAgaGVpZ2h0OiBjYWxjKDE2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0zIHtcbiAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTQge1xuICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNSB7XG4gICAgaGVpZ2h0OiBjYWxjKDQxLjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC02IHtcbiAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTcge1xuICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAwLjYyNXJlbSk7IH1cbiAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtOCB7XG4gICAgaGVpZ2h0OiBjYWxjKDY2LjY2NjY3JSAtIDAuNjI1cmVtKTsgfVxuICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC05IHtcbiAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEwIHtcbiAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTExIHtcbiAgICBoZWlnaHQ6IGNhbGMoOTEuNjY2NjclIC0gMC42MjVyZW0pOyB9XG4gIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEyIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5zbWFsbC04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnNtYWxsLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAuc21hbGwtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1hdXRvIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS1zaHJpbmsge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMjUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNDEuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTAlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNjYuNjY2NjclIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tOSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNzUlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5tZWRpdW0tMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubWVkaXVtLTExIHtcbiAgICAgIGhlaWdodDogY2FsYyg5MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLm1lZGl1bS0xMiB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2Utc2hyaW5rIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTMge1xuICAgICAgaGVpZ2h0OiBjYWxjKDI1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMzMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTYge1xuICAgICAgaGVpZ2h0OiBjYWxjKDUwJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtNyB7XG4gICAgICBoZWlnaHQ6IGNhbGMoNTguMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC5sYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLmxhcmdlLTkge1xuICAgICAgaGVpZ2h0OiBjYWxjKDc1JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTAge1xuICAgICAgaGVpZ2h0OiBjYWxjKDgzLjMzMzMzJSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAubGFyZ2UtMTIge1xuICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLWF1dG8ge1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLXNocmluayB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoOC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0yIHtcbiAgICAgIGhlaWdodDogY2FsYygxNi42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0zIHtcbiAgICAgIGhlaWdodDogY2FsYygyNSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS00IHtcbiAgICAgIGhlaWdodDogY2FsYygzMy4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS01IHtcbiAgICAgIGhlaWdodDogY2FsYyg0MS42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS02IHtcbiAgICAgIGhlaWdodDogY2FsYyg1MCUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS03IHtcbiAgICAgIGhlaWdodDogY2FsYyg1OC4zMzMzMyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS04IHtcbiAgICAgIGhlaWdodDogY2FsYyg2Ni42NjY2NyUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS05IHtcbiAgICAgIGhlaWdodDogY2FsYyg3NSUgLSAxLjI1cmVtKTsgfVxuICAgIC5ncmlkLW1hcmdpbi15ID4gLnhsYXJnZS0xMCB7XG4gICAgICBoZWlnaHQ6IGNhbGMoODMuMzMzMzMlIC0gMS4yNXJlbSk7IH1cbiAgICAuZ3JpZC1tYXJnaW4teSA+IC54bGFyZ2UtMTEge1xuICAgICAgaGVpZ2h0OiBjYWxjKDkxLjY2NjY3JSAtIDEuMjVyZW0pOyB9XG4gICAgLmdyaWQtbWFyZ2luLXkgPiAueGxhcmdlLTEyIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMS4yNXJlbSk7IH0gfVxuXG4uZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoICsgMC42MjVyZW0pOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdyaWQtZnJhbWUuZ3JpZC1tYXJnaW4teSB7XG4gICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmdyaWQtbWFyZ2luLXkubWVkaXVtLWdyaWQtZnJhbWUge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCArIDEuMjVyZW0pOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAuZ3JpZC1tYXJnaW4teS5sYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5ncmlkLW1hcmdpbi15LnhsYXJnZS1ncmlkLWZyYW1lIHtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwdmggKyAxLjI1cmVtKTsgfSB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBjb2xvcjogIzk1OTU5NTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAyNnB4O1xuICAgIHRvcDogYXV0bztcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4uc3dpdGNoIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBoZWlnaHQ6IDJyZW07IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICM2NzE1NmE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC40MXJlbTtcbiAgICBsZWZ0OiAwLjQxcmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxLjE4cmVtO1xuICAgIGhlaWdodDogMS4xOHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgY29udGVudDogJyc7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDE0MTZmOyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjQxcmVtOyB9XG4gIGlucHV0OmRpc2FibGVkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IHtcbiAgaGVpZ2h0OiAxLjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogM3JlbTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG4gIC5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC40MXJlbTtcbiAgICBsZWZ0OiAwLjQxcmVtO1xuICAgIHdpZHRoOiAwLjY4cmVtO1xuICAgIGhlaWdodDogMC42OHJlbTsgfVxuICAuc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMS45MXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIHtcbiAgaGVpZ2h0OiAxLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzLjVyZW07XG4gICAgaGVpZ2h0OiAxLjc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjQxcmVtO1xuICAgIGxlZnQ6IDAuNDFyZW07XG4gICAgd2lkdGg6IDAuOTNyZW07XG4gICAgaGVpZ2h0OiAwLjkzcmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgbGVmdDogMi4xNnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIHtcbiAgaGVpZ2h0OiAyLjVyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDVyZW07XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuNDFyZW07XG4gICAgbGVmdDogMC40MXJlbTtcbiAgICB3aWR0aDogMS42OHJlbTtcbiAgICBoZWlnaHQ6IDEuNjhyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAyLjkxcmVtOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNiwgNiwgNiwgMCk7XG4gICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTsgfVxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMywgMTMsIDEzLCAwKTtcbiAgICBjb2xvcjogIzAwMDAwMDsgfVxuICB0aGVhZCB0cixcbiAgdGZvb3QgdHIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIHRoZWFkIHRoLFxuICB0aGVhZCB0ZCxcbiAgdGZvb3QgdGgsXG4gIHRmb290IHRkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIHRib2R5IHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIHRhYmxlLnN0cmlwZWQgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOCwgOCwgOCwgMCk7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG5cbnRhYmxlLmhvdmVyLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxuLmJyZWFkY3J1bWJzIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5icmVhZGNydW1iczo6YmVmb3JlLCAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIu+BlFwiO1xuICAgICAgY29sb3I6ICM0ODQ4NDg7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjNDg0ODQ4OyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgY29sb3I6ICMwMDAwMDA7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzEyODExZjtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY1ZTA1O1xuICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIwYzBjO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdpZHRoOiAzMDBweDtcbiAgcGFkZGluZzogMXJlbTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWVhZWFlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuYWNjb3JkaW9uW2Rpc2FibGVkXSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGFkYWRhO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGFkYWRhO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDAwMDA7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkYWRhZGE7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBmbGV4OiAwIDEgYXV0bzsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pIHtcbiAgICAuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAuc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5tYWluLXNlY3Rpb24ge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMDE0MTZmOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDE0ZDgzOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjOTU5NTk1OyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6IGdyYXk7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjb2xvcjogIzAwMDAwMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMTBweDsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5tZW51IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgbGkge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgYSxcbiAgLm1lbnUgLmJ1dHRvbiB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4OyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSBpbnB1dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51LCAubWVudS5ob3Jpem9udGFsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubWVudS52ZXJ0aWNhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgaW1nLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS52ZXJ0aWNhbC5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gICAgLm1lbnUudmVydGljYWwuaWNvbi1ib3R0b20gbGkgYSBpLFxuICAgIC5tZW51LnZlcnRpY2FsLmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLm1lbnUuZXhwYW5kZWQgbGkge1xuICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBpbWcsXG4gIC5tZW51LmV4cGFuZGVkLmljb24tdG9wIGxpIGEgaSxcbiAgLm1lbnUuZXhwYW5kZWQuaWNvbi10b3AgbGkgYSBzdmcsIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAubWVudS5leHBhbmRlZC5pY29uLWJvdHRvbSBsaSBhIGksXG4gIC5tZW51LmV4cGFuZGVkLmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZW51LnNpbXBsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LnNpbXBsZSBsaSArIGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gICAgLm1lbnUuc2ltcGxlIGEge1xuICAgICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH1cbiAgICAubWVudS5tZWRpdW0tc2ltcGxlIGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51LmxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5tZW51LnhsYXJnZS1leHBhbmRlZCBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUueGxhcmdlLXNpbXBsZSBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuaWNvbnMgYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5pY29uLWxlZnQgbGkgYSwgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi1sZWZ0IGxpIGEgaSxcbiAgICAubWVudS5pY29uLWxlZnQgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLWxlZnQgbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIGksXG4gICAgLm1lbnUubmVzdGVkLmljb24tbGVmdCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi1yaWdodCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIHtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tcmlnaHQgbGkgYSBzdmcsIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgaW1nLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLXJpZ2h0IGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi1yaWdodCBsaSBhIHN2ZyB7XG4gICAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTsgfVxuICAubWVudS5pY29uLXRvcCBsaSBhLCAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgbGkgYSBpLFxuICAgIC5tZW51Lmljb24tdG9wIGxpIGEgc3ZnLCAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBpbWcsXG4gICAgLm1lbnUubmVzdGVkLmljb24tdG9wIGxpIGEgaSxcbiAgICAubWVudS5uZXN0ZWQuaWNvbi10b3AgbGkgYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUuaWNvbi1ib3R0b20gbGkgYSwgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEge1xuICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDsgfVxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgICAubWVudS5pY29uLWJvdHRvbSBsaSBhIHN2ZywgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgaW1nLFxuICAgIC5tZW51Lm5lc3RlZC5pY29uLWJvdHRvbSBsaSBhIGksXG4gICAgLm1lbnUubmVzdGVkLmljb24tYm90dG9tIGxpIGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51IC5pcy1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubWVudS5hbGlnbi1sZWZ0IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5tZW51LmFsaWduLXJpZ2h0IGxpIC5zdWJtZW51IGxpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAubWVudS5hbGlnbi1yaWdodC52ZXJ0aWNhbCBsaSAuc3VibWVudSBsaSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLXRvcCBsaSBhIGltZyxcbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi10b3AgbGkgYSBpLFxuICAubWVudS5hbGlnbi1yaWdodC5pY29uLXRvcCBsaSBhIHN2ZywgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBpbWcsXG4gIC5tZW51LmFsaWduLXJpZ2h0Lmljb24tYm90dG9tIGxpIGEgaSxcbiAgLm1lbnUuYWxpZ24tcmlnaHQuaWNvbi1ib3R0b20gbGkgYSBzdmcge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0IC5uZXN0ZWQge1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVudS5hbGlnbi1jZW50ZXIgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAubWVudS5hbGlnbi1jZW50ZXIgbGkgLnN1Ym1lbnUgbGkge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5tZW51IC5tZW51LXRleHQge1xuICAgIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmZmZmZmLCAwIDE0cHggMCAjZmZmZmZmO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWVhZWFlO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2FlYWVhZSwgMCAxNHB4IDAgI2FlYWVhZTsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMDAwMCwgMCAxNHB4IDAgIzAwMDAwMDtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTU5NTk1O1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzk1OTU5NSwgMCAxNHB4IDAgIzk1OTU5NTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgbGkge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUgYSB7XG4gIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4OyB9XG5cbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgYSB7XG4gIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4OyB9XG5cbi5hY2NvcmRpb24tbWVudSAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuXG4uYWNjb3JkaW9uLW1lbnUuYWxpZ24tcmlnaHQgLm5lc3RlZC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFzLXN1Ym1lbnUtdG9nZ2xlID4gYSB7XG4gIG1hcmdpbi1yaWdodDogNDBweDsgfVxuXG4uc3VibWVudS10b2dnbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc3VibWVudS10b2dnbGU6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogIzAxNDE2ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bzsgfVxuXG4uc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uc3VibWVudS10b2dnbGUtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uZHJpbGxkb3duIGEge1xuICBwYWRkaW5nOiA3LjVweCA1cHggNy41cHggMTZweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuXG4uZHJpbGxkb3duIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAtMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG4gIC5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4OyB9XG5cbi5kcmlsbGRvd24gLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmRyaWxsZG93biAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5kcmlsbGRvd24gLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyaWxsZG93biAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMTQxNmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmRyaWxsZG93bi5hbGlnbi1sZWZ0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDE0MTZmO1xuICByaWdodDogMXJlbTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJpbGxkb3duLmFsaWduLXJpZ2h0IC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMTQxNmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxcmVtOyB9XG5cbi5kcmlsbGRvd24gLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAxNDE2ZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgcGFkZGluZzogNy41cHggNXB4IDcuNXB4IDE2cHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDE0MTZmOyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgLm5lc3RlZC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwO1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbGVmdDogYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMzAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhZWFlYWU7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgLmRyb3Bkb3duIC5pcy1kcm9wZG93bi1zdWJtZW51IGEge1xuICAgIHBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmlzLW9mZi1jYW52YXMtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgei1pbmRleDogMTI7IH1cbiAgLm9mZi1jYW52YXMuaXMtY2xvc2VkIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiA0MDAwOyB9XG4gICAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMDsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTI7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy1jbG9zZWQge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDQwMDA7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLnBvc2l0aW9uLWxlZnQge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH0gfVxuICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH0gfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tbGVmdC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm9mZi1jYW52YXMtY29udGVudC5pcy1vcGVuLWxlZnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH0gfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgd2lkdGg6IDI1MHB4O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAucG9zaXRpb24tcmlnaHQge1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfSB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfSB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tcmlnaHQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi10b3Age1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLm9mZi1jYW52YXMucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaXMtb3Blbi10b3AuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG5cbi5wb3NpdGlvbi1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5wb3NpdGlvbi1ib3R0b20ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5vZmYtY2FudmFzLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuICAub2ZmLWNhbnZhcy1jb250ZW50LmlzLW9wZW4tYm90dG9tLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC4yNSk7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tb3ZlcmxhcCwgLm9mZi1jYW52YXMtY29udGVudC5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlOyB9XG4gIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cbiAgLm9mZi1jYW52YXMtY29udGVudCAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQwMHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50Lmhhcy1yZXZlYWwtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiA0MDBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3IteGxhcmdlIC5jbG9zZS1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWxlZnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDQwMHB4OyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MDBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLXJpZ2h0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogNDAwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyO1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci14bGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudCAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLWNvbnRlbnQuaGFzLXJldmVhbC10b3Age1xuICAgICAgbWFyZ2luLXRvcDogNDAwcHg7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3IteGxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiA0MDBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3IteGxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy1jb250ZW50IC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMtY29udGVudC5oYXMtcmV2ZWFsLWJvdHRvbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MDBweDsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwMHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbWVkaXVtLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1tZWRpdW0ucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLW1lZGl1bSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1sZWZ0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXJpZ2h0LCAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLWxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci1sYXJnZS5wb3NpdGlvbi1ib3R0b20ge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItbGFyZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2Uge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gICAgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tbGVmdCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tcmlnaHQsIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3IteGxhcmdlLnBvc2l0aW9uLXRvcCwgLm9mZi1jYW52YXMuaW4tY2FudmFzLWZvci14bGFyZ2UucG9zaXRpb24tYm90dG9tIHtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAub2ZmLWNhbnZhcy5pbi1jYW52YXMtZm9yLXhsYXJnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uYWxpZ24tbGVmdCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLWxlZnQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tcmlnaHQudmVydGljYWwubWVudSA+IGxpID4gYSB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlci52ZXJ0aWNhbC5tZW51ID4gbGkgPiBhIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uYWxpZ24tY2VudGVyLW1pZGRsZSB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uZmxleC1jb250YWluZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbGV4LWNoaWxkLWF1dG8ge1xuICBmbGV4OiAxIDEgYXV0bzsgfVxuXG4uZmxleC1jaGlsZC1ncm93IHtcbiAgZmxleDogMSAwIGF1dG87IH1cblxuLmZsZXgtY2hpbGQtc2hyaW5rIHtcbiAgZmxleDogMCAxIGF1dG87IH1cblxuLmZsZXgtZGlyLXJvdyB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLmZsZXgtZGlyLXJvdy1yZXZlcnNlIHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5tZWRpdW0tZmxleC1jaGlsZC1hdXRvIHtcbiAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAubWVkaXVtLWZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3cge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLm1lZGl1bS1mbGV4LWRpci1yb3ctcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5tZWRpdW0tZmxleC1kaXItY29sdW1uLXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmxhcmdlLWZsZXgtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC5sYXJnZS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgZmxleDogMCAxIGF1dG87IH1cbiAgLmxhcmdlLWZsZXgtZGlyLXJvdyB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAubGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAubGFyZ2UtZmxleC1kaXItY29sdW1uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5sYXJnZS1mbGV4LWRpci1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnhsYXJnZS1mbGV4LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAueGxhcmdlLWZsZXgtY2hpbGQtYXV0byB7XG4gICAgZmxleDogMSAxIGF1dG87IH1cbiAgLnhsYXJnZS1mbGV4LWNoaWxkLWdyb3cge1xuICAgIGZsZXg6IDEgMCBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4gIC54bGFyZ2UtZmxleC1kaXItcm93LXJldmVyc2Uge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAueGxhcmdlLWZsZXgtZGlyLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTk4NzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMGVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5Ljk5ODc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIGFuZCAobWF4LXdpZHRoOiA5OS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmhpZGUtZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtYXgtd2lkdGg6IDExOS45OTg3NWVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTk4NzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDtcbiAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50OyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7XG4gIC5zaG93LWZvci1kYXJrLW1vZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLWllIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAuc2hvdy1mb3ItaWUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLWllIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaXMtc3R1Y2sgLnNob3ctZm9yLXN0aWNreSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5pcy1zdHVjayAuaGlkZS1mb3Itc3RpY2t5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxyXG4tLS0tLSBNZW51cyAtLS0tLVxyXG5UT0RPOiBUaGlzIGlzIGEgd29yayBpbiBwcm9ncmVzcyBJIGFtIHN0aWxsIG1pZ3JhdGluZyBmcm9tIGEgbWFzc2l2ZSBibG9iIG9mIGNvZGUgZW1iZWRkZWQgaW4gaGVhZGVyLnNjc3MuXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gRHJvcGRvd25zXHJcbi0gRHJpbGwgZG93bnNcclxuLSBBY2NvcmRpb25zXHJcbi0gTWVnYSBtZW51XHJcbiAgLSBNZWdhIG1lbnUgc2VlIG1vcmUgbGluay5cclxuICAtIEVCRyBpbWFnZS5cclxuKi9cbi5tZW51LWhlYWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51LWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1lbnUtaGVhZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWVudS1oZWFkZXI6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAubWVudS1oZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lbnUtaGVhZGVyIC5jbG9zZS1idXR0b246YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74CNXCI7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuOHM7IH1cbiAgICAubWVudS1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5tZW51LWhlYWRlciAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgY29sb3I6ICM2NzE1NmE7XG4gICAgICB0cmFuc2l0aW9uOiBmb250LXNpemUgMS4ycywgY29sb3IgMC42czsgfVxuICAubWVudS1oZWFkZXIgLm1lbnUtaGVhZGluZyB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMTVweDtcbiAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG5cbi5tZW51LWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuLm1lbnUsIC5kcm9wZG93bi5tZW51IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLm1lbnUgLm5hdmlnYXRpb24tY21zLWNvbnRhaW5lciwgLm1lbnUgLm1lbnUtaGVhZGVyLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1oZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDMwcHggMCA0MHB4O1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmhvdmVyLCAubWVudSAubWVudS1oZWFkZXI6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXI6aG92ZXIsIC5kcm9wZG93bi5tZW51IC5tZW51LWhlYWRlcjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXI6YWN0aXZlLCAubWVudSAubWVudS1oZWFkZXI6YWN0aXZlLCAuZHJvcGRvd24ubWVudSAubmF2aWdhdGlvbi1jbXMtY29udGFpbmVyOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtaGVhZGVyOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXIgcCwgLm1lbnUgLm1lbnUtaGVhZGVyIHAsIC5kcm9wZG93bi5tZW51IC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXIgcCwgLmRyb3Bkb3duLm1lbnUgLm1lbnUtaGVhZGVyIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAubWVudSAuY2xvc2UtYnV0dG9uLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDsgfVxuICAgIC5tZW51IC5jbG9zZS1idXR0b246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuY2xvc2UtYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+AjVwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjZzLCBjb2xvciAwLjhzOyB9XG4gICAgLm1lbnUgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5jbG9zZS1idXR0b246aG92ZXI6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNnMsIGNvbG9yIDAuNnM7IH1cbiAgICAubWVudSAuY2xvc2UtYnV0dG9uOmFjdGl2ZTpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5jbG9zZS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAwLjZzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLm1lbnUgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYWVhZWFlOyB9XG4gICAgICAubWVudSA+IGxpID4gdWwsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2FlYWVhZTsgfVxuICAgICAgICAubWVudSA+IGxpID4gdWwgPiBsaSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsID4gbGkge1xuICAgICAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgICAgIC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAgICAgICAubWVudSA+IGxpID4gdWwgdWwsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB1bCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAgICAgLm1lbnUgPiBsaSA+IHVsIHVsIGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCB1bCBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gICAgLm1lbnUgLmFjY291bnQtbWVudSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLm1lbnUgI21lZ2EtbWVudS1pbWFnZS1jb250YWluZXIsIC5tZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIsIC5kcm9wZG93bi5tZW51ICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgI21lZ2EtbWVudS1pbWFnZS1jb250YWluZXIsIC5tZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIsIC5kcm9wZG93bi5tZW51ICNtZWdhLW1lbnUtaW1hZ2UtY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAubWVudS5hY2NvcmRpb24tbWVudSA+IGxpID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnUgPiBsaSA+IGE6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gIC5tZW51LmFjY29yZGlvbi1tZW51ID4gbGk6aG92ZXIgPiBhOmFmdGVyLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudSA+IGxpOmhvdmVyID4gYTphZnRlciB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudSA+IGxpOmFjdGl2ZSA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51ID4gbGk6YWN0aXZlID4gYTphZnRlciB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC42czsgfVxuICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPXRydWVdID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD10cnVlXSA+IGE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74G3XCI7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgICB3aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPXRydWVdID4gYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD10cnVlXSA+IGE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIu+Bt1wiOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLm1lbnUuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkgYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmFjY29yZGlvbi1tZW51Om5vdChbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0pID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gdWwgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOmJlZm9yZSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCA1cHg7IH0gfVxuICAubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHVsLCAuZHJvcGRvd24ubWVudS5hY2NvcmRpb24tbWVudTpub3QoW2RhdGEtc3VibWVudS10b2dnbGU9XCJ0cnVlXCJdKSA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IHVsID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHVsIHtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl1bYXJpYS1leHBhbmRlZD10cnVlXSA+IGJ1dHRvbjphZnRlciwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl1bYXJpYS1leHBhbmRlZD10cnVlXSA+IGJ1dHRvbjphZnRlciB7XG4gICAgY29udGVudDogXCLvgbdcIjsgfVxuICAuc3VibWVudS10b2dnbGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwi74G4XCI7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICBib3JkZXI6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAubWVudS5hY2NvcmRpb24tbWVudVtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSAuc3VibWVudSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0gLnN1Ym1lbnUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtaXRlbTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgYSwgLmRyb3Bkb3duLm1lbnUuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtaXRlbTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7IH0gfVxuICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICNlNTAwN2QpOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGEsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICMwMTQxNmYpOyB9XG4gICAgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSA+IGE6aG92ZXI6YmVmb3JlLCAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYTpob3ZlcjphZnRlciwgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSBsaTpob3ZlciBhOmJlZm9yZSwgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdLmlzLXN1Ym1lbnUtaXRlbSBsaTpob3ZlciBhOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIGxpOmhvdmVyIGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIGxpOmhvdmVyIGE6YWZ0ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzAxNDE2Zik7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHVsLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgI2U1MDA3ZCk7IH1cbiAgICAgIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXS5pcy1zdWJtZW51LWl0ZW0gdWwgbGkgPiBhLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHVsIGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICMwMTQxNmYpOyB9XG4gIC5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSksIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItYmFja2dyb3VuZCBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgI2U1MDA3ZCk7IH1cbiAgICAubWVudS5lYmctY29sb3VyLWJhY2tncm91bmQgbGlbc3R5bGUqPVwiLS1lYmdcIl06bm90KC5pcy1zdWJtZW51LWl0ZW0pID4gYSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIGxpW3N0eWxlKj1cIi0tZWJnXCJdOm5vdCguaXMtc3VibWVudS1pdGVtKSA+IGEge1xuICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzAxNDE2Zik7IH1cbiAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjZTUwMDdkKTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICMwMTQxNmYpOyB9XG4gICAgICAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl06aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl1bYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzAxNDE2Zik7IH1cbiAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciwgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAjZTUwMDdkKTsgfVxuICAgIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZCwgLmRyb3Bkb3duLm1lbnUuZWJnLWNvbG91ci1ob3ZlciBsaVtzdHlsZSo9XCItLWViZ1wiXSBsaTpub3QoW3N0eWxlKj1cIi0tZWJnXCJdKTpob3ZlciA+IGE6Zmlyc3QtY2hpbGQsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICMwMTQxNmYpOyB9XG4gICAgICAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pOmhvdmVyID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSk6aG92ZXIgPiBhOmZpcnN0LWNoaWxkOmFmdGVyLCAuZHJvcGRvd24ubWVudS5lYmctY29sb3VyLWhvdmVyIGxpW3N0eWxlKj1cIi0tZWJnXCJdIGxpOm5vdChbc3R5bGUqPVwiLS1lYmdcIl0pW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTpmaXJzdC1jaGlsZDpiZWZvcmUsIC5kcm9wZG93bi5tZW51LmViZy1jb2xvdXItaG92ZXIgbGlbc3R5bGUqPVwiLS1lYmdcIl0gbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSlbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgIzAxNDE2Zik7IH1cbiAgLm1lbnUgbGksIC5kcm9wZG93bi5tZW51IGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5tZW51ID4gbGksIC5kcm9wZG93bi5tZW51ID4gbGkge1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC44czsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51ID4gbGksIC5kcm9wZG93bi5tZW51ID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAubWVudSA+IGxpIGEsIC5kcm9wZG93bi5tZW51ID4gbGkgYSB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgLm1lbnUgPiBsaTpob3ZlciwgLmRyb3Bkb3duLm1lbnUgPiBsaTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmOyB9XG4gICAgICAubWVudSA+IGxpOmhvdmVyID4gYSwgLmRyb3Bkb3duLm1lbnUgPiBsaTpob3ZlciA+IGEge1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlLCAubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UsIC5tZW51ID4gbGkgPiBwLmhhcy1saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2Uge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDcuNXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA3LjVweDsgfSB9XG4gICAgICAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubWVudSA+IGxpID4gYS5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhLmhhcy1saW5rLWltYWdlIC5saW5rLWltYWdlLCAuZHJvcGRvd24ubWVudSA+IGxpID4gcC5oYXMtbGluay1pbWFnZSAubGluay1pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiwgLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHAuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2UgKyAubGluay1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDsgfSB9XG4gICAgLm1lbnUgPiBsaSA+IGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51ID4gbGkgPiBhLCAuZHJvcGRvd24ubWVudSA+IGxpID4gYSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgIC5tZW51ID4gbGkgPiB1bCwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICMwMTQxNmYpOyB9XG4gICAgICAubWVudSA+IGxpID4gdWw6bm90KC5zdWJtZW51KSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsOm5vdCguc3VibWVudSkge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51ID4gbGkgPiB1bCwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lbnUgPiBsaSA+IHVsIGxpIHVsIGxpLmlzLXN1Ym1lbnUtaXRlbSwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIGxpIHVsIGxpLmlzLXN1Ym1lbnUtaXRlbSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgICAgIC5tZW51ID4gbGkgPiB1bCA+IGxpIGEsIC5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlIGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCA+IGxpIGEsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm1lbnUgPiBsaSA+IHVsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyLCAubWVudSA+IGxpID4gdWwgLmlzLWFjdGl2ZS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6YWZ0ZXIsIC5kcm9wZG93bi5tZW51ID4gbGkgPiB1bCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTphZnRlciwgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCLvgZRcIjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4OyB9XG4gIC5tZW51LmRyb3Bkb3duIGxpID4gYSwgLmRyb3Bkb3duLm1lbnUuZHJvcGRvd24gbGkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudS5kcm9wZG93biA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50LCAuZHJvcGRvd24ubWVudS5kcm9wZG93biA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5tZW51LmRyb3Bkb3duID4gbGk6bm90KC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCksIC5kcm9wZG93bi5tZW51LmRyb3Bkb3duID4gbGk6bm90KC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLm1lbnUub24tcGFnZS1tZW51LCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaSB7XG4gICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpOmhvdmVyLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gICAgICAgIC5tZW51Lm9uLXBhZ2UtbWVudSA+IGxpOmhvdmVyID4gYSwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGk6aG92ZXIgPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgICAgLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCwgLmRyb3Bkb3duLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAzNXB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAubWVudS5vbi1wYWdlLW1lbnUgPiBsaSBwLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaSBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4OyB9IH1cbiAgICAgICAgLm1lbnUub24tcGFnZS1tZW51ID4gbGkgcCBpLCAuZHJvcGRvd24ubWVudS5vbi1wYWdlLW1lbnUgPiBsaSBwIGkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5tZW51IC5ob21lLWJ1dHRvbiwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51IC5ob21lLWJ1dHRvbiwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5tZW51IC5ob21lLWJ1dHRvbjpob3ZlciwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAgIC5tZW51IC5ob21lLWJ1dHRvbjpob3ZlciBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uOmhvdmVyIGE6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuOHM7IH1cbiAgICAubWVudSAuaG9tZS1idXR0b246YWN0aXZlLCAuZHJvcGRvd24ubWVudSAuaG9tZS1idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7IH1cbiAgICAgIC5tZW51IC5ob21lLWJ1dHRvbjphY3RpdmUgYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbjphY3RpdmUgYTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAubWVudSAuaG9tZS1idXR0b24gYSwgLmRyb3Bkb3duLm1lbnUgLmhvbWUtYnV0dG9uIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAubWVudSAuaG9tZS1idXR0b24gYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5ob21lLWJ1dHRvbiBhOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74CVXCI7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC42cywgcGFkZGluZyAwLjhzOyB9XG4gIC5tZW51IC5hY2NvdW50LW1lbnUsIC5kcm9wZG93bi5tZW51IC5hY2NvdW50LW1lbnUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51IC5hY2NvdW50LW1lbnUsIC5kcm9wZG93bi5tZW51IC5hY2NvdW50LW1lbnUge1xuICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgICAgICB3aWR0aDogNTUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87IH0gfVxuICAgIC5tZW51IC5hY2NvdW50LW1lbnUgbGksIC5kcm9wZG93bi5tZW51IC5hY2NvdW50LW1lbnUgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAubWVudSAuYWNjb3VudC1tZW51IGxpID4gYSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudSBsaSA+IGEge1xuICAgICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgLm1lbnUgLmFjY291bnQtbWVudSAuYWNjb3VudC1wYWdlID4gYTpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5hY2NvdW50LW1lbnUgLmFjY291bnQtcGFnZSA+IGE6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVuc2V0OyB9XG4gICAgLm1lbnUgLmFjY291bnQtbWVudS5qcy1kcm9wZG93bi1hY3RpdmUsIC5kcm9wZG93bi5tZW51IC5hY2NvdW50LW1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICB0b3A6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSAuYWNjb3VudC1tZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLmFjY291bnQtbWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMCA2cHggMDtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOyB9IH1cbiAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyID4gYSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyID4gYSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIDIwcHggMjBweDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWwge1xuICAgICAgICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggNDVweCAxMHB4IDIycHg7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDE0MTZmO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7IH1cbiAgICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgPiB1bDphZnRlciwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51ID4gdWw6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsIGEsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsIGEge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsIGEgLmN1cnJlbmN5LWljb24sIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSA+IHVsIGEgLmN1cnJlbmN5LWljb24ge1xuICAgICAgICBsaW5lLWhlaWdodDogMjsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3ktY29udGFpbmVyLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5LWNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgbWFyZ2luOiBhdXRvIDA7IH1cbiAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24ge1xuICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb246YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIu+BuFwiO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgY29sb3I6ICNhZWFlYWU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC44czsgfVxuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjpob3ZlcjpiZWZvcmUsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICM5NTk1OTU7IH0gfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb246YWN0aXZlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb24sIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5jdXJyZW5jeS1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb246YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAuY3VycmVuY3ktaWNvbjpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmN1cnJlbmN5LWljb246YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH0gfVxuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmxhYmVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLnNlbGVjdGVkLW9wdGlvbiAubGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDZweDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuc2VsZWN0ZWQtb3B0aW9uIC5sYWJlbCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5zZWxlY3RlZC1vcHRpb24gLmxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSB7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5LmRpc2FibGVkLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5LmRpc2FibGVkIHtcbiAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmN1cnJlbmN5LWljb24sIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmN1cnJlbmN5LWljb24ge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUgLmN1cnJlbmN5IC5sYWJlbDpob3ZlciwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWw6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuY3VycmVuY3kgLmxhYmVsOmFjdGl2ZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51IC5jdXJyZW5jeSAubGFiZWw6YWN0aXZlIHtcbiAgICAgICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQsIC5kcm9wZG93bi5tZW51IC5zaXRlLXNldHRpbmctbWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyA3LjVweCkgIWltcG9ydGFudDsgfVxuICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUgPiBhOmhvdmVyIC5sYWJlbCwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSA+IGE6aG92ZXIgLmxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSwgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnUuaXMtYWN0aXZlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmOyB9XG4gICAgICAgIC5tZW51IC5zaXRlLXNldHRpbmctbWVudS5pcy1hY3RpdmUgYSAuY3VycmVuY3ktaWNvbjpiZWZvcmUsIC5tZW51IC5zaXRlLXNldHRpbmctbWVudTpob3ZlciBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSBhIC5jdXJyZW5jeS1pY29uOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51OmhvdmVyIGEgLmN1cnJlbmN5LWljb246YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzAxNDE2ZjsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSA+IGE6YmVmb3JlLCAubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhOmJlZm9yZSwgLmRyb3Bkb3duLm1lbnUgLnNpdGUtc2V0dGluZy1tZW51LmlzLWFjdGl2ZSA+IGE6YmVmb3JlLCAuZHJvcGRvd24ubWVudSAuc2l0ZS1zZXR0aW5nLW1lbnU6aG92ZXIgPiBhOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwi74G3XCI7XG4gICAgICAgIGNvbG9yOiAjOTU5NTk1OyB9IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwidGVsOlwiXTpiZWZvcmUsIHVsLm1lbnUgbGkgYVtocmVmXj1cIm1haWx0bzpcIl06YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMTBweCAwIDA7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwYWRlZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBjb2xvciAwLjhzOyB9XG5cbnVsLm1lbnUgbGkgYVtocmVmXj1cInRlbDpcIl06aG92ZXI6YmVmb3JlLCB1bC5tZW51IGxpIGFbaHJlZl49XCJtYWlsdG86XCJdOmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDE0MTZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnMsIGNvbG9yIDAuNnM7IH1cblxudWwubWVudSBsaSBhW2hyZWZePVwidGVsOlwiXTphY3RpdmU6YmVmb3JlLCB1bC5tZW51IGxpIGFbaHJlZl49XCJtYWlsdG86XCJdOmFjdGl2ZTpiZWZvcmUge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY3MTU2YTsgfVxuXG51bC5tZW51IGxpIGFbaHJlZl49XCJtYWlsdG86XCJdOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi74OgXCI7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG51bC5tZW51IGxpIGFbaHJlZl49XCJ0ZWw6XCJdOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi76G5XCI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLm1lbnUtc2Nyb2xsLWNvbnRhaW5lciB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG4uc3VibWVudSB7XG4gIGhlaWdodDogYXV0bztcbiAgei1pbmRleDogNDAwO1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc3VibWVudS5sZXZlbDIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICBib3gtc2hhZG93OiAycHggLTNweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAxNDE2ZjtcbiAgICAgIGJvcmRlci13aWR0aDogMCAwIDZweCAwO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfSB9XG4gIC5zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnN1Ym1lbnUgPiBsaS5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7IH1cbiAgICAuc3VibWVudSA+IGxpLmlzLWFjdGl2ZSA+IGEge1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICBncmlkLXJvdzogMSAvIHNwYW4gbGFzdC1saW5lOyB9IH1cbiAgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciAuaW1hZ2Uge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7IH1cbiAgICAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIC5pbWFnZSBpbWcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M4YzhjODtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLm1lZ2EtbWVudS1jb250YWluZXIge1xuICAtLW1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXI6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjFcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCBjYWxjKCgxMDAlIC0gMHB4KSAvIDEpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiMVwiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMTsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjJcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBjYWxjKCgxMDAlIC0gMTVweCkgLyAyKSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjJcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDI7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIzXCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgY2FsYygoMTAwJSAtIDMwcHgpIC8gMykpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIzXCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAzOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNFwiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIGNhbGMoKDEwMCUgLSA0NXB4KSAvIDQpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiNFwiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogNDsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjVcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCBjYWxjKCgxMDAlIC0gNjBweCkgLyA1KSk7IH1cbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjVcIl0gPiBsaSA+IHVsLnN1Ym1lbnUgLm1lbnUtZWdiLWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDU7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI2XCJdID4gbGkgPiB1bC5zdWJtZW51IHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNiwgY2FsYygoMTAwJSAtIDc1cHgpIC8gNikpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI2XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA2OyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiN1wiXSA+IGxpID4gdWwuc3VibWVudSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIGNhbGMoKDEwMCUgLSA5MHB4KSAvIDcpKTsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnVbZGF0YS1tZWdhLW1lbnUtY29sdW1uLWNvdW50PVwiN1wiXSA+IGxpID4gdWwuc3VibWVudSAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogNzsgfVxuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51W2RhdGEtbWVnYS1tZW51LWNvbHVtbi1jb3VudD1cIjhcIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg4LCBjYWxjKCgxMDAlIC0gMTA1cHgpIC8gOCkpOyB9XG4gICAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudVtkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCI4XCJdID4gbGkgPiB1bC5zdWJtZW51IC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgIGdyaWQtY29sdW1uOiA4OyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaTpob3ZlciA+IC5zdWJtZW51IHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XG4gICAgICBnYXA6IDIwcHggMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwub3ZlcmZsb3ctc2Nyb2xsIHtcbiAgICAgICAgbWF4LWhlaWdodDogNzB2aDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxMDAlO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwuc3VibWVudSA+IGxpLmhhcy1jbG9uZWQtZ3JvdXBzLXBhcmVudCA+IGEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bC5zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xuICAgICAgICBnYXA6IDIwcHggMTVweDsgfSB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIGE6YmVmb3JlLCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUgYTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIu+BlFwiO1xuICAgICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiRm9udCBBd2Vzb21lIFNvbGlkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEycHg7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgPiBsaSBhOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCAuaXMtYWN0aXZlIGE6YmVmb3JlIHtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIGE6YmVmb3JlLCAubWVnYS1tZW51LWNvbnRhaW5lciA+IHVsLm1lbnUgPiBsaSA+IHVsIC5pcy1hY3RpdmUgYTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyID4gdWwubWVudSA+IGxpID4gdWwgbGkubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLm1lbnUgLmhhcy1jbG9uZWQtZ3JvdXBzIGEge1xuICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAubWVnYW1lbnUtY29sdW1uLWNsb25lZC1zcGFuIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KHZhcigtLW1lZ2EtbWVudS1jb2x1bW4tY2xvbmVkLXdyYXApLCAxZnIpO1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgZ2FwOiAwIDE1cHg7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLmNoaWxkZnJlZS1wYXJlbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLmNvbHVtbi1zcGFubmVkID4gYSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5jbG9uZWQtdG8tc2VwZXJhdGUtcm93IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXIgdWwuYWNjb3VudC1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciBsaS5pcy1zdWJtZW51LXBhcmVudC5hY2NvdW50LW1lbnUtY29udGFpbmVyIHVsLmFjY291bnQtbWVudSB7XG4gICAgICAgICAgd2lkdGg6IDU1MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXI6aG92ZXIgdWwuYWNjb3VudC1tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaSA+IGEge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpID4gYTpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciAucGVyc2lzdGVudC1lYmctaW1hZ2VzIGxpIHVsLnN1Ym1lbnUgPiBsaSA+IHVsLnN1Ym1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpOmhvdmVyIC5pbWFnZSB7XG4gICAgb3BhY2l0eTogLjY7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgbGkgdWwuc3VibWVudSA+IGxpIC5pbWFnZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjhzOyB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgLnBlcnNpc3RlbnQtZWJnLWltYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMgLnBlcnNpc3RlbnQtZWJnLWltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTUwcHg7IH1cblxuLm1lZ2EtbWVudS1jb250YWluZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5sZXZlbDIge1xuICAgIGxlZnQ6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyIGxpIGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgLmxldmVsMiBsaSBhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIC5sZXZlbDIgPiBsaTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAubGV2ZWwyID4gbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyID4gbGk6aG92ZXIgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5sZXZlbDIgPiBsaTpob3ZlciA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciAubGV2ZWwyLmpzLWRyb3Bkb3duLWFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciAubGV2ZWwyLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICAgIHRvcDogMTAwJTsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIC5pcy1kcm9wZG93bi1zdWJtZW51LCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtaW4td2lkdGg6IGF1dG87IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgLnN1Ym1lbnUgbGkuaXMtYWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIC5zdWJtZW51IGxpLmlzLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpsYXN0LWNoaWxkLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6aG92ZXIgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaTpob3ZlciA+IGEge1xuICAgICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjZzIDsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6YWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6YWN0aXZlID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGk6YWN0aXZlID4gYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZjsgfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjhzOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiBhIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAxNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSBhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpIGE6aG92ZXIsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpIGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwge1xuICAgICAgd2lkdGg6IDEzMDBweDtcbiAgICAgIHBhZGRpbmc6IDQwcHggNDdweDtcbiAgICAgIHotaW5kZXg6IDUwMDA7XG4gICAgICBib3gtc2hhZG93OiAwcHggMjBweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpOyB9IH1cbiAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgPiBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsID4gbGkgPiBhOmFjdGl2ZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYTphY3RpdmUge1xuICAgICAgY29sb3I6ICMwMTQxNmY7IH1cbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCA+IGxpID4gYSB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwIDVweCA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3JkZXI6IDA7IH0gfVxuICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bC5jaGlsZGZyZWUtcGFyZW50cy1tZW51ID4gbGkgPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsLmNoaWxkZnJlZS1wYXJlbnRzLW1lbnUgPiBsaSA+IGEsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwuY2hpbGRmcmVlLXBhcmVudHMtbWVudSA+IGxpID4gYSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHggNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfSB9XG4gIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0sIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGksIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGksIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaTpsYXN0LWNoaWxkLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW06bGFzdC1jaGlsZCwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaTpsYXN0LWNoaWxkLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OyB9IH1cbiAgICAgIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmhvdmVyOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlcjpiZWZvcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgPiBhOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTpob3ZlcjpiZWZvcmUsIC5oZWFkZXItbWVudS1yaWdodC1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTpob3ZlciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gPiBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlLCAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlOmJlZm9yZSwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtID4gYTphY3RpdmUsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlOmJlZm9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpID4gYTphY3RpdmU6YmVmb3JlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSA+IGE6YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDE0MTZmOyB9XG4gICAgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkgLm1lZ2EtbWVudS12aWV3LW1vcmUsIC5tZWdhLW1lbnUtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSAubWVnYS1tZW51LXZpZXctbW9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSAubWVnYS1tZW51LXZpZXctbW9yZSwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0gLm1lZ2EtbWVudS12aWV3LW1vcmUge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAubWVnYS1tZW51LWNvbnRhaW5lciB1bC5tZW51ID4gbGkgPiB1bCB1bCBsaSAubWVnYS1tZW51LXZpZXctbW9yZTpob3ZlciwgLm1lZ2EtbWVudS1jb250YWluZXIgdWwubWVudSA+IGxpID4gdWwgdWwgbGkuaXMtZHJvcGRvd24tc3VibWVudS1pdGVtIC5tZWdhLW1lbnUtdmlldy1tb3JlOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpIC5tZWdhLW1lbnUtdmlldy1tb3JlOmhvdmVyLCAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHVsLm1lbnUgPiBsaSA+IHVsIHVsIGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtaXRlbSAubWVnYS1tZW51LXZpZXctbW9yZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjNjcxNTZhOyB9XG5cbi8qXHJcbi0tLS0tIFByb2R1Y3QgTGlzdCAtLS0tLVxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFZhcmlvdXMgbGlzdCB2aWV3czpcclxuICAtIFRhYmxlXHJcbiAgLSBHcmlkXHJcbi0gQW55d2hlcmUgYSBwcm9kdWN0IGxpc3QgaXMgc2hvdyAoIHNlYXJjaCByZXN1bHRzLCBwcm9kdWN0IGJ5IGdyb3VwLCBhY2NvdW50IGFyZWEgcGFnZXMgKSB0aGlzIGNvZGUgd2lsbCBiZSB1c2VkLlxyXG4tIFRoaXMgZmlsZSBpcyBOT1QgZGVkaWNhdGVkIHRvIGZpbHRlcnMgY29uc3VsdCBmaWx0ZXIuc2NzcyBmb3IgdGhhdC5cclxuLSBBbGwgc29ydGluZyBvcHRpb25zICggaXRlbXMgcGVyIHBhZ2VzLCB2aWV3IHNlbGVjdGlvbiwgcGFnaW5hdGlvbiwgaXRlbXMgZm91bmQgJiBzb3J0IGJ5IClcclxuLSBObyByZXN1bHRzIGZvdW5kLlxyXG4qL1xuI2Jlc3Bva2Utc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIGgyIHtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMDE0MTZmO1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNiZXNwb2tlLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgICNiZXNwb2tlLXNlYXJjaC1yZXN1bHRzLWNvbnRhaW5lciBoMjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2FlYWVhZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuXG4uc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMge1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45OTg3NWVtKSB7XG4gICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpOm50aC1jaGlsZCgybikge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfSB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zJTsgfVxuICAgICAgICAgICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIHVsIHVsIGxpOm50aC1jaGlsZCg2biszKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAgICAgICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB1bCB1bCBsaTpudGgtY2hpbGQoNm4rMikge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgICAgICAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgdWwgdWwgbGk6bnRoLWNoaWxkKDZuKzEpIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyBhLnN1Z2dlc3Rpb24ge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICBjb2xvcjogIzAwMDAwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgYS5zdWdnZXN0aW9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDE0MTZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciB7XG4gICAgZ2FwOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciBwLCAuc2VhcmNoLXJlc3VsdHMtc3VnZ2VzdGlvbnMgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5zbmlwcGV0LWNvbnRhaW5lciBwIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC5yZXN1bHQtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgLnNlYXJjaC1yZXN1bHRzLXN1Z2dlc3Rpb25zIC5yZXN1bHQtY29udGFpbmVyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxuLnNlY3Rpb24tZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zZWN0aW9uLWhlYWRpbmcge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxNDE2ZjtcbiAgY29sb3I6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuc2VjdGlvbi1oZWFkaW5nIHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjBweDsgfSB9XG4gIC5zZWN0aW9uLWhlYWRpbmcgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuI3Byb2R1Y3QtbGlzdCAjZ3JvdXBEYXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDsgfVxuXG4jcHJvZHVjdExpc3RJdGVtIC5ncmlkLXggLmNlbGwge1xuICBmbGV4OiAwIDAgYXV0bztcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNjI1cmVtKTtcbiAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cblxuLmxpc3RpbmctY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gIHBhZGRpbmc6IDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmxpc3RpbmctY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG5cbi5jb250ZW50Q29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb250ZW50Q29udGFpbmVyW2RhdGEtY29udGVudC11cGRhdGluZz10cnVlXSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIgI2F0dHJpYnV0ZS1maWx0ZXJzLWZvcm0ge1xuICAgICAgbWF4LXdpZHRoOiAyODBweDtcbiAgICAgIHBhZGRpbmc6IDAgMSUgMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC5jb250ZW50Q29udGFpbmVyIC5hdHRyaWJ1dGVMaXN0IHtcbiAgICAgIHdpZHRoOiAxODBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLmNvbnRlbnRDb250YWluZXIgLmF0dHJpYnV0ZUxpc3Qge1xuICAgICAgd2lkdGg6IDI0MHB4OyB9IH1cbiAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zIC5zdWItaGVhZGluZy1jb250YWluZXIgaDIge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0LnNlcGVyYXRvciAucm93Q29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0LnNlcGVyYXRvciAucm93Q29udGFpbmVyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGFkYWRhOyB9XG4gICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdC5vZGRFdmVuID4gZGl2W2NsYXNzKj1cImxhcmdlLVwiXTpudGgtY2hpbGQoZXZlbikgLnJvd0NvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0Lm9kZEV2ZW4gPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qub2RkRXZlbiAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Qub2RkRXZlbiAubGlzdC1jYXRlZ29yeS1jb250YWluZXIgPiBkaXZbY2xhc3MqPVwibGFyZ2UtXCJdOm50aC1jaGlsZChldmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Q6bm90KC5zZXBlcmF0b3IpIC5yb3dDb250YWluZXI6aG92ZXIsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3Q6bm90KC5vZGRFdmVuKSAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC44czsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLnNlcGVyYXRvcikgLnJvd0NvbnRhaW5lcjpob3ZlciAuZGVzY3JpcHRpb24gYSBoMywgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdDpub3QoLm9kZEV2ZW4pIC5yb3dDb250YWluZXI6aG92ZXIgLmRlc2NyaXB0aW9uIGEgaDMge1xuICAgICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHM7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5zdWItaGVhZGluZy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgPiBkaXY6bm90KDpudGgtY2hpbGQoMSkpIH4gZGl2IC5zdWItaGVhZGluZy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0ID4gZGl2Om5vdCg6bnRoLWNoaWxkKDEpKSB+IGRpdiAuc3ViLWhlYWRpbmctY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW46IDMwcHggMCAwOyB9IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LWZhbWlseTogXCJLaHVsYVwiLCBcIktodWxhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lcjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWVhZWFlOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIHAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgNXB4IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJLaHVsYVwiLCBcIktodWxhIEZhbGxiYWNrXCIsIFwiQXJpYWxcIjtcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICB3aWR0aDogNTUlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgcCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5jb2RlLWNvbCB7XG4gICAgICAgICAgd2lkdGg6IDExJTsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5jb2RlLWNvbCBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnByaWNlLWNvbCB7XG4gICAgICAgICAgd2lkdGg6IDIwJTsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5wcmljZS1jb2wgcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lci1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLWNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAucXVhbnRpdHktY29sIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5LWNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuYmFza2V0LWNvbCB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5mYXZvdXJpdGUtY29sIHtcbiAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgbWluLXdpZHRoOiA5MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5lbnF1aXJ5LWNvbCB7XG4gICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLmhlYWRDb250YWluZXIgLnF1YW50aXR5IHtcbiAgICAgICAgd2lkdGg6IDEyJTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAuaGVhZENvbnRhaW5lciAuYmFza2V0LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5oZWFkQ29udGFpbmVyIC5mYXZvdXJpdGUge1xuICAgICAgICB3aWR0aDogOSU7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6IFwibXVsdGltZWRpYS1jb250ZW50IGRlc2NyaXB0aW9uXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgY29kZVwiIFwibXVsdGltZWRpYS1jb250ZW50IHByaWNlXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgaW50ZXJhY3RpdmVcIjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWluLWNvbnRlbnQgbWluLWNvbnRlbnQgMWZyIG1pbi1jb250ZW50O1xuICAgICAgZ2FwOiAxMHB4IDIwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBib3gtc2hhZG93IDAuOHM7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMCUgMWZyOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubXVsdGltZWRpYS1jb250ZW50LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBtdWx0aW1lZGlhLWNvbnRlbnQ7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBkZXNjcmlwdGlvbjsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2RlLWNvbCB7XG4gICAgICAgIGdyaWQtYXJlYTogY29kZTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZS1jb2wge1xuICAgICAgICBncmlkLWFyZWE6IHByaWNlOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmludGVyYWN0aXZlLWNvbnRlbnQsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxvZ2luLWNvbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5lbnF1aXJ5LWNvbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5zdG9ja2xpbmUtY29sIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBpbnRlcmFjdGl2ZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgZ2FwOiAwO1xuICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjZzOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgPiBhOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMzJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweDsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86IDEvMTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuOHM7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmltYWdlIHtcbiAgICAgICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmltYWdlIGltZyB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgICAgICBvcmRlcjogMjsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCB7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCBoMyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNDVweDtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuZ3JvdXAtZGVzY3JpcHRpb24ge1xuICAgICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZGVzY3JpcHRpb24tY29sIC5ncm91cC1kZXNjcmlwdGlvbjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogIzAxNDE2ZjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgLmdyb3VwLWRlc2NyaXB0aW9uOmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogIzY3MTU2YTsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uLWNvbCAuc3BlY2lmaWNhdGlvbiB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5kZXNjcmlwdGlvbi1jb2wgLnNwZWNpZmljYXRpb24gcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuY29kZS1jb2wge1xuICAgICAgICAgICAgb3JkZXI6IDQ7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2RlLWNvbCB7XG4gICAgICAgICAgICB3aWR0aDogMTElO1xuICAgICAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbCB7XG4gICAgICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzAxNDE2ZjsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiAzOyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODEuMjQ4NzVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sIHtcbiAgICAgICAgICAgIG9yZGVyOiA2OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAubG9naW4tY29sLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmVucXVpcnktY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5sb2dpbi1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuZW5xdWlyeS1jb2wsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAuc3RvY2tsaW5lLWNvbCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnN0b2NrbGluZS1jb2wge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5zdG9ja2xpbmUtY29sIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMCAyMHB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICAgICAgb3JkZXI6IDU7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGdhcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLmxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxNTBweDsgfSB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICAgICAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byBhdXRvIDA7IH1cbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5xdWFudGl0eS1jb250YWluZXIgLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciAuY29udHJvbC5zZWxlY3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgfSB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5pbnB1dC1udW1iZXItZ3JvdXAge1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuYWRkLWJ1dHRvbi1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5hZGQtYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7IH0gfVxuICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucXVhbnRpdHktY29udGFpbmVyIC5hZGQtYnV0dG9uLWNvbnRhaW5lciAuYWRkVG9CYXNrZXQge1xuICAgICAgICAgICAgICBtYXJnaW46IGF1dG87IH0gfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICAgIG1pbi13aWR0aDogOTBweDtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWNlbnRlcjsgfSB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmxhYmVsLXZhbHVlLXBhaXItY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLmRlc2NyaXB0aW9uOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzY3MTU2YTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2RlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgxLjI0ODc1ZW0pIHtcbiAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5jb2wtbGFiZWwgKyAucHJpY2VzIHA6b25seS1jaGlsZCAubGFiZWwgKyAudmFsdWUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIHAge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyOmhhcygudmF0KSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCB7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsOm5vdCg6ZW1wdHkpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLmxhYmVsIH4gLnZhdCB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA1cHg7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAubGFiZWwgfiAudmF0IHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgfSB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICAgICAgY29sb3I6ICNmZjAxMDE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgICAgICAgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5zYXZpbmcgLmxhYmVsLCAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyLnNhdmluZyAudmFsdWUge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2VzIC5wcmljZS1jb250YWluZXIucnJwIC5sYWJlbCwgLmNvbnRlbnRDb250YWluZXIgI3Byb2R1Y3RMaXN0SXRlbXMubGlzdCAucm93Q29udGFpbmVyIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lci5ycnAgLnZhbHVlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAgICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlcyAucHJpY2UtY29udGFpbmVyIC5sYWJlbCArIC52YWx1ZSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbnRhaW5lciAudmFsdWUge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlLWNvbnRhaW5lciAubGFiZWwsIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UtY29udGFpbmVyIC52YWx1ZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnByaWNlIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIC5jb250ZW50Q29udGFpbmVyICNwcm9kdWN0TGlzdEl0ZW1zLmxpc3QgLnJvd0NvbnRhaW5lciAucHJpY2UgLmN1cnJlbmN5IHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gICAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5yb3dDb250YWluZXIgLnZhdCB7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuY29udGVudENvbnRhaW5lciAjcHJvZHVjdExpc3RJdGVtcy5saXN0IC5lbnF1aXJ5LWNvbCB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgb3JkZXI6IDQ7IH1cblxuLmxpc3QtY2F0ZWdvcnktY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmxpc3QtY2F0ZWdvcnktY29udGFpbmVyOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLmxpc3QtY2F0ZWdvcnktY29udGFpbmVyIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTBweCAwOyB9XG4gIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAucmVzdWx0LWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMjBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgICAgLnRoaXJkLXBhcnR5LXJlc3VsdHMtY29udGFpbmVyIC5yZXN1bHQtY29udGFpbmVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZ2FwOiAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODEuMjVlbSkge1xuICAgIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAuaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxNTBweDsgfSB9XG4gIC50aGlyZC1wYXJ0eS1yZXN1bHRzLWNvbnRhaW5lciAuZGVzY3JpcHRpb24tY29udGFpbmVyIHAge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICMwMTQxNmY7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuICAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIgLnNuaXBwZXQtY29udGFpbmVyIHAge1xuICAgIG1hcmdpbjogNXB4IDAgMTBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKlxyXG5cclxuLS0tLSBBWElTIERlYnVnZ2VyIC0tLS0gXHJcblxyXG5UaGlzIGlzIGEgc2lkZSBwcm9qZWN0IG9mIG1pbmUgcHVybHkgdG8gbWFrZSBkZXYgbGlmZSBhIGxpdHRsZSBlYXNpZXIgLyBmYXN0ZXIgZXNzZW50aWFsbHkgdGhpcyBpcyBqdXN0IGEgZHJhd2VyIHdpdGggYSBidW5jaCBvZiBvcHRpb25zIHRvIGZsdXNoIGNhY2hlLCBzZXQgZGVidWcgbGV2ZWxzICYgY2xlYXIgdGhlIGNvbnNvbGUuXHJcblxyXG4qL1xuLmRldmVsb3BtZW50LWRyYXdlci1jb250YWluZXIge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkYWRhZGE7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgei1pbmRleDogODAwMDAwMDAwMDtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC44czsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyLWNvbnRhaW5lci5hY3RpdmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnM7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyLWNvbnRhaW5lci5hY3RpdmUge1xuICAgICAgICB3aWR0aDogMjI1cHg7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4yMik7IH0gfVxuXG4uZGV2ZWxvcG1lbnQtZHJhd2VyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIHVsIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5kZXZlbG9wbWVudC1kcmF3ZXIgLnNlcnZpY2Utd29ya2VyLWNvbnRhaW5lciAuaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBjb2xvcjogIzQ4NDg0ODsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5oZWFkaW5nLWNvbnRhaW5lciBoMiB7XG4gICAgY29sb3I6ICM0ODQ4NDg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5kcmF3ZXItaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmRyYXdlci1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvgI1cIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiO1xuICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC44czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmRyYXdlci1oZWFkZXIgLmNsb3NlLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cywgY29sb3IgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLmRyYXdlci1oZWFkZXIgLmNsb3NlLWJ1dHRvbjphY3RpdmU6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjNjcxNTZhO1xuICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplIDEuMnMsIGNvbG9yIDAuNnM7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uIHtcbiAgICB3aWR0aDogODBweDtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjNDg0ODQ4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjhzO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LWZhbWlseTogXCJGb250IEF3ZXNvbWUgU29saWRcIjtcbiAgICAgIGZvbnQtc2l6ZTogMzhweDtcbiAgICAgIGNvbG9yOiAjNDg0ODQ4O1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAwLjhzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiMVwiXSB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjMjg7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjFcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA0MS44cHg7XG4gICAgICAgIGNvbG9yOiAjYjIwYzI4O1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuNnM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIyXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2IyMGM0MzsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiMlwiXTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDQ1LjZweDtcbiAgICAgICAgY29sb3I6ICNiMjBjNDM7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yLCBmb250LXNpemUgMC42czsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjNcIl0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjIwYzVmOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb25bZGVidWctbGV2ZWw9XCIzXCJdOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDkuNHB4O1xuICAgICAgICBjb2xvcjogI2IyMGM1ZjtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAwLjZzOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uW2RlYnVnLWxldmVsPVwiNFwiXSB7XG4gICAgICBib3JkZXItY29sb3I6ICNiMjBjN2I7IH1cbiAgICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbltkZWJ1Zy1sZXZlbD1cIjRcIl06YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiA1My4ycHg7XG4gICAgICAgIGNvbG9yOiAjYjIwYzdiO1xuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplIDAuNnM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uY2xlYXItY2FjaGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi74a4XCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb24uY2xlYXItY29uc29sZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvhKBcIjsgfVxuICAgIC5kZXZlbG9wbWVudC1kcmF3ZXIgLm9wdGlvbi5zZXQtZGVidWdnaW5nLWxldmVsOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+GiFwiOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uLmF4aXMtdGVzdC1tb2RlOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIu+SklwiOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uLnNpdGUtc3R5bGU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi75S/XCI7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjZzOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb246aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMTQxNmY7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNnM7IH1cbiAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5vcHRpb246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NzE1NmE7XG4gICAgICBib3JkZXItY29sb3I6ICNhZWFlYWU7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC42czsgfVxuICAgICAgLmRldmVsb3BtZW50LWRyYXdlciAub3B0aW9uOmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2FlYWVhZTsgfVxuICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuc2xpZGVyIC5sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAuZGV2ZWxvcG1lbnQtZHJhd2VyIC5zbGlkZXIgLmxhYmVsIFtkYXRhLXNsaWRlci12YWx1ZV0ge1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmRldmVsb3BtZW50LWRyYXdlciAuc2xpZGVyIGlucHV0IHtcbiAgICAgIGZsZXg6IDA7IH1cbiAgLmRldmVsb3BtZW50LWRyYXdlciAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLm9wdGlvbi1jb250cm9scy1jb250YWluZXIsIC5jaGlsZC1jb250cm9scy1jb250YWluZXIge1xuICBtYXgtaGVpZ2h0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC44czsgfVxuICAub3B0aW9uLWNvbnRyb2xzLWNvbnRhaW5lci5hY3RpdmUsIC5jaGlsZC1jb250cm9scy1jb250YWluZXIuYWN0aXZlIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuNnM7IH1cblxuOnJvb3Qge1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wOiAjMDE0MTZmO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xOiAjMDE1ODk2O1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yOiAjMDI2ZmJlO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0zOiAjMDI4NmU1O1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy00OiAjMTI5YmZkO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy01OiAjM2FhYmZkO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy02OiAjNjFiY2ZlO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy03OiAjODljZGZlO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy04OiAjYjBkZWZlO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy05OiAjZDhlZWZmO1xuICAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMDogI2ViZjdmZjtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0wOiAjNjcxNTZhO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTE6ICM4NjFiOGE7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMjogI2E1MjJhYTtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0zOiAjYzQyOGNhO1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTQ6ICNkNDNmZDk7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNTogI2RiNWZkZjtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy02OiAjZTI3ZmU2O1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTc6ICNlOTlmZWM7XG4gIC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtODogI2YxYmZmMjtcbiAgLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy05OiAjZjhkZmY5O1xuICAtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTEwOiAjZmJlZmZjO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMDogI2MwMDAwMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTE6ICNlMDAwMDA7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0yOiAjZmYwMTAxO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtMzogI2ZmMjAyMDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTQ6ICNmZjQwNDA7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy01OiAjZmY2MDYwO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtNjogI2ZmODA4MDtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTc6ICNmZmEwYTA7XG4gIC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy04OiAjZmZiZmJmO1xuICAtLWFjY2VudC1jb2xvdXItMS1saWdodG5lc3MtOTogI2ZmZGZkZjtcbiAgLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTEwOiAjZmZlZmVmO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMDogIzJiNTc5YTtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTE6ICMzMjY1YjI7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy0yOiAjM2I3M2M4O1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtMzogIzU0ODVjZjtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTQ6ICM2Yzk2ZDY7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy01OiAjODVhOGRkO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtNjogIzlkYjllNDtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTc6ICNiNmNiZWI7XG4gIC0tYWNjZW50LWNvbG91ci0yLWxpZ2h0bmVzcy04OiAjY2VkY2YxO1xuICAtLWFjY2VudC1jb2xvdXItMi1saWdodG5lc3MtOTogI2U3ZWVmODtcbiAgLS1hY2NlbnQtY29sb3VyLTItbGlnaHRuZXNzLTEwOiAjZjNmNmZjO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMDogI2U1YjcwMTtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTE6ICNmZWNjMDQ7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy0yOiAjZmVkMTIwO1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtMzogI2ZlZDczYztcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTQ6ICNmZWRkNTg7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy01OiAjZmVlMjc0O1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtNjogI2ZmZTg4ZjtcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTc6ICNmZmVlYWI7XG4gIC0tYWNjZW50LWNvbG91ci0zLWxpZ2h0bmVzcy04OiAjZmZmNGM3O1xuICAtLWFjY2VudC1jb2xvdXItMy1saWdodG5lc3MtOTogI2ZmZjllMztcbiAgLS1hY2NlbnQtY29sb3VyLTMtbGlnaHRuZXNzLTEwOiAjZmZmY2YxO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMDogI2EyMzRlMztcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTE6ICNhYjQ4ZTY7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy0yOiAjYjU1ZGU5O1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtMzogI2JlNzFlYjtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTQ6ICNjNzg1ZWU7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy01OiAjZDE5YWYxO1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtNjogI2RhYWVmNDtcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTc6ICNlM2MyZjc7XG4gIC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy04OiAjZWNkNmY5O1xuICAtLWFjY2VudC1jb2xvdXItNC1saWdodG5lc3MtOTogI2Y2ZWJmYztcbiAgLS1hY2NlbnQtY29sb3VyLTQtbGlnaHRuZXNzLTEwOiAjZmFmNWZlO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wOiAjNDg0ODQ4O1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xOiAjNWI1YjViO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0yOiAjNmQ2ZDZkO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0zOiAjN2Y3ZjdmO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00OiAjOTE5MTkxO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy01OiAjYTRhNGE0O1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy02OiAjYjZiNmI2O1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy03OiAjYzhjOGM4O1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04OiAjZGFkYWRhO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy05OiAjZWRlZGVkO1xuICAtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMDogI2Y2ZjZmNjtcbiAgLS1ibGFjay1jb2xvdXI6ICMwMDAwMDA7XG4gIC0td2hpdGUtY29sb3VyOiAjZmZmZmZmO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wOiAjMTI4MTFmO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0xOiAjMTZhMTI3O1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0yOiAjMWJjMTJlO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0zOiAjMjBlMDM2O1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy00OiAjNDBlNDUzO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy01OiAjNjBlOTcwO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy02OiAjODBlZDhjO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy03OiAjOWZmMmE5O1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy04OiAjYmZmNmM2O1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy05OiAjZGZmYmUyO1xuICAtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0xMDogI2VmZmRmMTtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMDogI2ZmNWUwNTtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMTogI2ZmNmUxZTtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMjogI2ZmN2UzNztcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMzogI2ZmOGU1MDtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtNDogI2ZmOWU2OTtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtNTogI2ZmYWY4MjtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtNjogI2ZmYmY5YjtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtNzogI2ZmY2ZiNDtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtODogI2ZmZGZjZDtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtOTogI2ZmZWZlNjtcbiAgLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMTA6ICNmZmY3ZjM7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0wOiAjYjIwYzBjO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtMTogI2QwMGUwZTtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTI6ICNlZTEwMTA7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy0zOiAjZjEyZDJkO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtNDogI2YzNGI0YjtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTU6ICNmNTY5Njk7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy02OiAjZjc4Nzg3O1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtNzogI2Y5YTVhNTtcbiAgLS1hbGVydC1jb2xvdXItbGlnaHRuZXNzLTg6ICNmYmMzYzM7XG4gIC0tYWxlcnQtY29sb3VyLWxpZ2h0bmVzcy05OiAjZmRlMWUxO1xuICAtLWFsZXJ0LWNvbG91ci1saWdodG5lc3MtMTA6ICNmZWYwZjA7XG4gIC0tY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoOiAxMzAwcHg7XG4gIC0tdW5jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6IDE5MjBweDtcbiAgLS1wcmltYXJ5LWZvbnQ6IEtodWxhLCBLaHVsYSBGYWxsYmFjaywgQXJpYWw7XG4gIC0tc21vb3RoLWVkZ2VzLWVuYWJsZWQ6IGZhbHNlO1xuICAtLXNtb290aC1lZGdlcy1sZXZlbDogMTVweDtcbiAgLS1ib3JkZXItcmFkaXVzLTE6IDVweDtcbiAgLS1ib3JkZXItcmFkaXVzLTI6IDI1cHg7XG4gIC0tZ2xvYmFsLWxpbmUtaGVpZ2h0OiAxLjY7XG4gIC0tdHlwb2dyYXBoeS1ib2R5LWZvbnQtY29sb3VyOiAjMDAwMDAwO1xuICAtLWJ1dHRvbnMtYm9yZGVyLXJhZGl1czogMDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiS2h1bGEgRmFsbGJhY2tcIjtcbiAgc3JjOiBsb2NhbChcIkFyaWFsXCIpO1xuICBzaXplLWFkanVzdDogMTAwJTtcbiAgYXNjZW50LW92ZXJyaWRlOiAxMDAlO1xuICBkZXNjZW50LW92ZXJyaWRlOiA2MC41NyU7XG4gIGxpbmUtZ2FwLW92ZXJyaWRlOiAwJTsgfVxuXG5ib2R5IHtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93LXg6IGhpZGRlbjsgfVxuXG5ib2R5LnNjcm9sbExvY2sge1xuICBvdmVyZmxvdy15OiBoaWRkZW47IH1cblxubWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZmxleC1ncm93OiAxOyB9XG4gIG1haW4gPiBkaXYge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5pbWFnZSBpbWcge1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgLmdyaWQteCB7XG4gICAgbWF4LXdpZHRoOiAxOTIwcHg7IH0gfVxuXG4uZ3JpZC14Om5vdCguZ3JpZC1tYXJnaW4teCkge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uZ3JpZC1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgLmdyaWQtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuZ3JpZC1jb250YWluZXIuY29udGFpbmVyLWdyb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuZ3JpZC1jb250YWluZXIuY29udGFpbmVyLWdyb3cgLmFsaWduLWNlbnRlciB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MS4yNDg3NWVtKSB7XG4gIGhyLm1vYmlsZS1zZXBlcmF0b3Ige1xuICAgIG1hcmdpbjogMzBweCAwOyB9IH1cblxuI2Zvb3Rlci1ndG0td2lkZ2V0IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSB7XG4gICAgI2Zvb3Rlci1ndG0td2lkZ2V0IHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cblxuI2dyb3VwLWJhbm5lci1jYXJvdXNlbC1jb250YWluZXIsIC5ncm91cC1iYW5uZXIge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgI2NhdGVnb3J5R3JpZE92ZXJyaWRlIC5sYXJnZS0yIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHdpZHRoOiAxOC4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MS4yNWVtKSBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICNjYXRlZ29yeUdyaWRPdmVycmlkZSAubGFyZ2UtMiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAjY2F0ZWdvcnlHcmlkT3ZlcnJpZGUgLmxhcmdlLTIsICNjYXRlZ29yeUdyaWRPdmVycmlkZSAubGFyZ2UtMjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAjY2F0ZWdvcnlHcmlkT3ZlcnJpZGUgLmxhcmdlLTI6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4jY2F0ZWdvcnlIZWFkaW5nLCAjcHJvZHVjdExpc3RIZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucG9wdXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNiYXNrZXRTdW1tYXJ5Q29udGFpbmVyOmhvdmVyICNub0pzQmFza2V0Tm90aWZpY2F0aW9uIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggMXB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcbiAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICMwMTQxNmY7IH1cblxuI3JlZ2lzdGVyLXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgY29sb3I6ICMwMTQxNmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGZvbnQtZmFtaWx5OiBcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiOyB9XG4gIC5mb3Jnb3R0ZW4tcGFzc3dvcmQtbGluazpob3ZlciB7XG4gICAgY29sb3I6ICM2NzE1NmE7IH1cbiAgLmZvcmdvdHRlbi1wYXNzd29yZC1saW5rOmFjdGl2ZSB7XG4gICAgY29sb3I6ICMwMGFkZWY7IH1cblxueG1wIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RhZGFkYTtcbiAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7IH1cblxuLmFuaW1hdGVfX2FuaW1hdGVkOm5vdCguYW5pbWF0ZWQtY29udGVudC1hY3RpdmUpIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5qc29uLWNvZGUtYmxvY2sgY29kZSB7XG4gIG1heC1oZWlnaHQ6IDUwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwIDAgNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgYm9yZGVyOiAxcHggc29saWQgIzk1OTU5NTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjhzOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgxLjI1ZW0pIHtcbiAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUge1xuICAgICAgcGFkZGluZzogMTBweCAzNXB4OyB9IH1cbiAgLmpzb24tY29kZS1ibG9jayBjb2RlOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM0ODQ4NDg7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNnM7IH1cbiAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogY2FsYygxMDAlIC0gMTVweCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5NTk1OTU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjhzLCBwYWRkaW5nIDAuOHMsIG9wYWNpdHkgMC44czsgfVxuICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLvg4VcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBSZWd1bGFyXCI7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuOHMsIGZvbnQtc2l6ZSAwLjhzOyB9XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNnM7IH1cbiAgICAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b24uYWN0aXZlLCAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTQxNmY7IH1cbiAgICAgIC5qc29uLWNvZGUtYmxvY2sgY29kZSAuY29kZS1jb3B5LWJ1dHRvbi5hY3RpdmU6YmVmb3JlLCAuanNvbi1jb2RlLWJsb2NrIGNvZGUgLmNvZGUtY29weS1idXR0b246YWN0aXZlOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnQgQXdlc29tZSBTb2xpZFwiOyB9XG4gICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZSB7XG4gICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNnMsIG9wYWNpdHkgMC42czsgfVxuICAgICAgLmpzb24tY29kZS1ibG9jayBjb2RlIC5jb2RlLWNvcHktYnV0dG9uLmFjdGl2ZTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAwLjZzOyB9XG4iLCIkZW52aXJvbm1lbnQ6IFwiZGV2ZWxvcG1lbnRcIjtcbiRlbWFpbFRlbXBsYXRlOiBmYWxzZTtcbi8qKlxyXG5cclxuVGhpcyBpcyB0aGUgYmFzZSBvZiB0aGUgYXBwLmNzcyBmaWxlLCB0byBtb2RpZnkgdGhlIGNvbmZpZ3VyYXRpb24gb3QgYSBzaXRlIGxldmVsIGdvIHRvIC9icmFuZGluZy5zY3NzIGlmIHlvdSBuZWVkIG1vZGlmeSB0aGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb24gb2YgYWxsIHNpdGVzIGdvIHRvIC9nbG9iYWwvdmFyaWFibGVzLnNjc3MuXHJcblxyXG5bIElNUE9SVEFOVCBdIC0gTm8gQkVTUE9LRSBDU1MgUlVMRSdTIHNob3VsZCBiZSBzcGVjaWZpZWQgaGVyZSBvciBpbiBicmFuZGluZy5zY3NzLCBpZiB5b3UgbmVlZCB0byBtb2RpZnkgdGhlIGNzcyBkbyBpdCBpbiBlaXRoZXIgL2dsb2JhbCBvciBpbiAvY29tcG9uYW50cyBvdGhlcndpc2UgaXQgd2lsbCBjYXVzZSB0ZWFycywgSUYgeW91IHJlYWxseSBoYXZlIHRvIHRvIGl0IGluIHRoZSBzaXRlIHNwZWNpZmljIGJyYW5kaW5nLnNjc3MgdW5kZXIgYWxsIG9mIHRoZSBTQVNTIG92ZXJyaWRlcy5cclxuXHJcbioqL1xyXG5cclxuLy8gLS0tLS0gRGVwZW5kYW5jaWVzIC0tLS0tXHJcblxyXG4vLyBFeHByZXNzIEZ1bmN0aW9ucy5cclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL2Z1bmN0aW9ucyc7XHJcblxyXG5cclxuLy8gSW1wb3J0IHNpdGUgc3BlY2lmaWMgYnJhbmRpbmcuXHJcbkBpbXBvcnQgJy4vYnJhbmRpbmcnO1xyXG5cclxuLy8gSW1wb3J0IEV4cHJlc3Mgc3R5bGVzaGVldC5cclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL2FwcCc7XHJcblxyXG4iLCIvLyBTdGFuZGFyZCBjdXN0b20gZnVuY3Rpb25zICggbm90IGZvdW5kYXRpb24ncyBmdW5jdGlvbnMgKSB0aGF0IGFyZSB1c2VkIGFjcm9zcyB0aGUgdGVtcGxhdGUuIFxyXG5cclxuLy8gVmFyaWFibGVzIHRoYXQgaGF2ZSB0byBiZSBkZWZpbmVkLlxyXG4kYnJlYWtwb2ludHM6IG51bGwgIWRlZmF1bHQ7XHJcbkBpZiAoJGJyZWFrcG9pbnRzID09IG51bGwpIHtcclxuICAgIC8vIEZhbGxiYWNrLlxyXG4gICAgJGJyZWFrcG9pbnRzOiAoXHJcbiAgICAgICAgc21hbGw6IDAsXHJcbiAgICAgICAgbWVkaXVtOiA2NDBweCxcclxuICAgICAgICBsYXJnZTogMTMwMHB4LFxyXG4gICAgICAgIHhsYXJnZTogMTYwMHB4LFxyXG4gICAgICAgIHh4bGFyZ2U6IDE5MjBweFxyXG4gICAgKTtcclxufVxyXG5cclxuLy8gVE9ETzogVGhpcyBpcyBzbG93bHkgYmVpbmcgcm9sbGVkIG91dCBhY3Jvc3MgZXhwcmVzcy5cclxuXHJcbi8vIEhhbmRsZXMgaG93IGJvcmRlci1yYWRpdXMgdmFsdWVzIGdldCBhcHBsaWVkLCBpZiAkc21vb3RoLWVkZ2VzLWVuYWJsZWQgaXMgc2V0IGJ5IGRlZmF1bHQgJHNtb290aC1lZGdlcy1sZXZlbCBnZXRzIHVzZWQgYW5kIGlmIGEgJGN1c3RvbS12YWx1ZSBpcyBwYXNzZWQgaW4gdGhhdCB0YWtlcyBwcmVzaWRlbmNlIG92ZXIgdGhlIGRlZmF1bHQgdmFsdWUgd2hpY2ggaXMgc2V0IGJ5ICRzbW9vdGgtZWRnZXMtbGV2ZWwuXHJcbkBmdW5jdGlvbiBzbW9vdGgtZWRnZXMoJGN1c3RvbS12YWx1ZTogMCkge1xyXG4gICAgLy8gQ2FuY2VsbGVkIG91dCBhbGwgZWZmZWN0LlxyXG4gICAgQGlmICgkY3VzdG9tLXZhbHVlID09IGZhbHNlKSB7XHJcbiAgICAgICAgQHJldHVybiAwO1xyXG4gICAgfVxyXG4gICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICBAcmV0dXJuIGlmKCRjdXN0b20tdmFsdWUgIT0gMCwgJGN1c3RvbS12YWx1ZSwgJHNtb290aC1lZGdlcy1sZXZlbCk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAaWYgJGN1c3RvbS12YWx1ZSA9PSAwIHtcclxuICAgICAgICAgICAgQHJldHVybiAwO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAcmV0dXJuICRjdXN0b20tdmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IFxyXG5cclxuLy8gU2ltcGxlIGZ1bmN0aW9ucyBmb3IgZXh0cmFjdGluZyB2YWx1ZXMgYmFzZWQgb24gYnJlYWtwb2ludC5cclxuLy8gTW9iaWxlLlxyXG4vLyBAZnVuY3Rpb24gc21hbGwtdmFsdWUoJHZhbHVlcykge1xyXG4vLyAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGlzIGlzIGEgbGlzdCBvciBtYXAuXHJcbi8vICAgICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAgJ2xpc3QnIHtcclxuLy8gICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAxKTtcclxuLy8gICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbWFwJyB7XHJcbi8vICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIHNtYWxsKTtcclxuLy8gICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbnVtYmVyJyB7XHJcbi8vICAgICAgICAgQHJldHVybiAkdmFsdWVzO1xyXG4vLyAgICAgfSBAZWxzZSB7XHJcbi8vICAgICAgICAgQGRlYnVnIFwiRmFpbGVkIHRvIGdldCBzbWFsbCB2YWx1ZS5cIjtcclxuLy8gICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbi8vIE1lZGl1bVxyXG4vLyBAZnVuY3Rpb24gbWVkaXVtLXZhbHVlKCR2YWx1ZXMpIHtcclxuLy8gICAgIEBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdsaXN0JyB7XHJcbi8vICAgICAgICAgQGlmIGxlbmd0aCgkdmFsdWVzKSA+IDEge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAyKTtcclxuLy8gICAgICAgICB9IEBlbHNlIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBudGgoJHZhbHVlcywgMSk7XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZXMpID09ICdtYXAnIHtcclxuLy8gICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbHVlcywgbWVkaXVtKSB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdmFsdWVzLCBtZWRpdW0pO1xyXG4vLyAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoKCR2YWx1ZXMsIHNtYWxsKSkge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgc21hbGwpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAZGVidWcgXCJDb3VsZCBub3QgZmluZCBhIG1lZGl1bSBrZXkgbm9yIGEgc21hbGwga2V5IGZhbGxiYWNrLlwiO1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgICAgIH1cclxuICAgICAgICBcclxuLy8gICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgIEBkZWJ1ZyBcIkZhaWxlZCB0byBnZXQgbWVkaXVtIHZhbHVlLlwiO1xyXG4vLyAgICAgICAgIEByZXR1cm4gZmFsc2U7XHJcbi8vICAgICB9XHJcbiAgICBcclxuLy8gfVxyXG4vLyBMYXJnZVxyXG4vLyBAZnVuY3Rpb24gbGFyZ2UtdmFsdWUoJHZhbHVlcykge1xyXG4vLyAgICAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcclxuLy8gICAgICAgICBAaWYgbGVuZ3RoKCR2YWx1ZXMpID4gMiB7XHJcbi8vICAgICAgICAgICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsIDMpO1xyXG4vLyAgICAgICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAyKTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ21hcCcge1xyXG4vLyAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkdmFsdWVzLCBsYXJnZSkge1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgbGFyZ2UpO1xyXG4vLyAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlcywgc21hbGwpIHtcclxuLy8gICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIHNtYWxsKTtcclxuLy8gICAgICAgICB9IEBlbHNlIHtcclxuLy8gICAgICAgICAgICAgQGRlYnVnIFwiQ291bGQgbm90IGZpbmQgYSBsYXJnZSBrZXkgbm9yIGEgc21hbGwga2V5IGZhbGxiYWNrLlwiO1xyXG4vLyAgICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgICAgIH1cclxuLy8gICAgIH0gQGVsc2Uge1xyXG4vLyAgICAgICAgIEBkZWJ1ZyBcIkZhaWxlZCB0byBnZXQgbGFyZ2UgdmFsdWUsIHZhbHVlcyBwYXNzZWQgYXJlIG9mIHR5cGU6IFwiICsgdHlwZS1vZigkdmFsdWVzKTtcclxuLy8gICAgICAgICBAcmV0dXJuIGZhbHNlO1xyXG4vLyAgICAgfVxyXG4gICAgXHJcbi8vIH1cclxuXHJcbi8vIFNtYWxsIFJlc3BvbnNpdmUgVmFsdWVzLlxyXG5AZnVuY3Rpb24gc21hbGwtdmFsdWUoJHZhbHVlcykge1xyXG4gICAgQHJldHVybiBnZXQtcmVzcG9uc2l2ZS12YWx1ZSgkdmFsdWVzLCAxKTtcclxufVxyXG5cclxuLy8gTWVkaXVtIFJlc3BvbnNpdmUgVmFsdnVlLlxyXG5AZnVuY3Rpb24gbWVkaXVtLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgMik7XHJcbn1cclxuXHJcbi8vIExhcmdlIFJlc3BvbnNpdmUgVmFsdWUuXHJcbkBmdW5jdGlvbiBsYXJnZS12YWx1ZSgkdmFsdWVzKSB7XHJcbiAgICBAcmV0dXJuIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsIDMpO1xyXG59XHJcblxyXG4vLyB4TGFyZ2UgUmVzcG9uc2l2ZSBWYWx1ZS5cclxuQGZ1bmN0aW9uIHhsYXJnZS12YWx1ZSgkdmFsdWVzKSB7XHJcbiAgICBAcmV0dXJuIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsIDQpO1xyXG59XHJcblxyXG4vLyB4eExhcmdlIFJlc3BvbnNpdmUgVmFsdWUuXHJcbkBmdW5jdGlvbiB4eGxhcmdlLXZhbHVlKCR2YWx1ZXMpIHtcclxuICAgIEByZXR1cm4gZ2V0LXJlc3BvbnNpdmUtdmFsdWUoJHZhbHVlcywgNSk7XHJcbn1cclxuXHJcbi8qXHJcblxyXG52YWx1ZXMgY2FuIGJlIGVpdGhlciBhIGxpc3Qgb3IgbWFwLlxyXG5cclxuQnJlYWtwb2ludCB2YWx1ZXM6XHJcblNtYWxsID0gMVxyXG5NZWRpdW0gPSAyXHJcbkxhcmdlID0gM1xyXG54TGFyZ2UgPSA0XHJcbnh4TGFyZ2UgPSA1XHJcblxyXG4qL1xyXG5cclxuQGZ1bmN0aW9uIGdldC1yZXNwb25zaXZlLXZhbHVlKCR2YWx1ZXMsICRicmVha3BvaW50KSB7XHJcbiAgICAvLyBJZiB2YWx1ZXMgaXMgYSBsaXN0ICggaS5lIG5lc3RlZCBwcmVzZXQgKVxyXG4gICAgQGlmICh0eXBlLW9mKCR2YWx1ZXMpID09IFwibGlzdFwiKSB7XHJcbiAgICAgICAgLy8gVXNpbmcgdGhlIGJyZWFrcG9pbnQgdmFsdWUgbWF0Y2ggaXQgZG8gdGhlIHZhbHVlcyBpbiB0aGUgbGlzdC5cclxuICAgICAgICBAaWYgKGxlbmd0aCgkdmFsdWVzKSA+PSAkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAkYnJlYWtwb2ludCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIElmIG5vIGJyZWFrcG9pbnQgdmFsdWUgYXNzaWduZWQgdGhlbiBmaW5kIG5lYXJlc3Qgb25lLlxyXG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCBsZW5ndGgoJHZhbHVlcykpO1xyXG4gICAgICAgIH1cclxuICAgIH0gQGVsc2UgaWYgKHR5cGUtb2YoJHZhbHVlcykgPT0gJ21hcCcpIHtcclxuICAgICAgICAvLyBNYWtlIHN1cmUgYnJlYWtwb2ludCBpcyBhY3R1YWxseSBjb25maWd1cmVkLlxyXG4gICAgICAgIEBpZiAobGVuZ3RoKCRicmVha3BvaW50cykgPCAkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICBAZXJyb3IoXCJDb25maWd1cmVkIGJyZWFrcG9pbnRzIGRvbid0IGdvIHVwIHRoYXQgaGlnaCAoICN7JGJyZWFrcG9pbnR9ICksIHBsZWFzZSBjaGVjayB0aGUgX3NldHRpbmdzLnNjc3Mgc2VjdGlvbiAyLiBCcmVha3BvaW50cyBcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIERvZXMgZG9lcyAkdmFsdWVzIGhhdmUgYSBrZXkgZm9yIHRoaXMgYnJlYWtwb2ludD9cclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHZhbHVlcywgbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksICRicmVha3BvaW50KSkge1xyXG4gICAgICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlcywgbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksICRicmVha3BvaW50KSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEZpbmQgTmVhcmVzdCB2YWx1ZS5cclxuICAgICAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZXMsIG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCBsZW5ndGgoJHZhbHVlcykpKTtcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgIEBlcnJvciBcIkZhaWxlZCB0byByZXR1cm4gcmVzcG9uc2l2ZSB2YWx1ZSwgdGhpcyB3YXMgYmVjYXVzZSB0aGUgdmFsdWVzIHdlcmUgbm90IGluIGEgbWFwIG9yIGxpc3QsIHRoZSB2YWx1ZXMgYXNzaWduZWQgd2VyZSBvZiB0eXBlICgje3R5cGUtb2YoJHZhbHVlcyl9KSBhbmQgdGhlIHZhbHVlIGlzICN7JHZhbHVlc30sIHBsZWFzZSBjaGVjayB5b3VyIGNvbmZpZ3VyYXRpb24gZm9yIHNpdGUgI3skc2l0ZX0uXCI7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBkZWZhdWx0LWNvbG91cigkbWl4aW4pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWl4aW4sIGRlZmF1bHQpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gaG92ZXItY29sb3VyKCRtaXhpbikge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtaXhpbiwgaG92ZXIpO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gYWN0aXZlLWNvbG91cigkbWl4aW4pIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkbWl4aW4sIGFjdGl2ZSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBkaXNhYmxlZC1jb2xvdXIoJG1peGluKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1peGluLCBkaXNhYmxlZCk7XHJcbn1cclxuXHJcbi8vIEdldCBjb21tb24gYnV0dG9uIGZvbnQgc2l6ZS5cclxuQGZ1bmN0aW9uIGdldC1idXR0b24tZm9udC1zaXplKCR0eXBlOiAnc3RhbmRhbG9uZScpIHtcclxuICAgIEByZXR1cm4gbWFwLWdldCgkY29tbW9uLWJ1dHRvbi1mb250LXNpemVzLCAkdHlwZSk7XHJcbn1cclxuXHJcbi8vIEdldCBjb21tb24gYnV0dG9uIGZvbnQgd2VpZ2h0LlxyXG5AZnVuY3Rpb24gZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoJHR5cGU6ICdzdGFuZGFsb25lJykge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0cywgJHR5cGUpO1xyXG59XHJcblxyXG4vLyBVc2VkIGZvciBnZXR0aW5nIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdCB2YWx1ZXMgZnJvbSBsaXN0cyBuZXN0ZWQgaW4gbWFwcyBmb3IgcG9zaXRpb25pbmcsIG1hcmdpbnMgJiBwYWRkaW5nLlxyXG5AZnVuY3Rpb24gc3BhY2luZy12YWx1ZSgkdmFsdWVzLCAkc2lkZTogMCwgJGtleTogXCJzbWFsbFwiKSB7XHJcbiAgICAvLyBAaWYgJHNpZGUgPiA0IG9yICRzaWRlIDwgMSB7XHJcbiAgICAvLyAgICAgQGRlYnVnIFwic3BhY2luZy12YWx1ZTogJHNpZGUgY2Fubm90IGJlIGxlc3MgdGhhdCAxIG9yIG1vcmUgdGhhbiA0XCI7XHJcbiAgICAvLyAgICAgQHJldHVybiBmYWxzZTtcclxuICAgIC8vIH0gXHJcbiAgICAvLyBXaGF0IHR5cGUgYXJlIHdlIGRlYWxpbmcgd2l0aCBoZXJlPyBtYXAocyksIGxpc3Qgb3IgbnVtYmVyLlxyXG4gICAgJHZhbHVlc1R5cGU6IHR5cGUtb2YoJHZhbHVlcyk7XHJcbiAgICBAaWYoJHZhbHVlc1R5cGUgPT0gXCJtYXBcIikge1xyXG4gICAgICAgIEBpZiAka2V5ID09IFwic21hbGxcIiB7XHJcbiAgICAgICAgICAgICR2YWx1ZXM6IHNtYWxsLXZhbHVlKCR2YWx1ZXMpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcIm1lZGl1bVwiIHtcclxuICAgICAgICAgICAgJHZhbHVlczogbWVkaXVtLXZhbHVlKCR2YWx1ZXMpO1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJGtleSA9PSBcImxhcmdlXCIge1xyXG4gICAgICAgICAgICAkdmFsdWVzOiBsYXJnZS12YWx1ZSgkdmFsdWVzKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgJHZhbHVlczogbWFwLWdldCgkdmFsdWVzLCAka2V5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC8vIEF0dGVtcHRpbmcgdG8gY2F0ZXIgZm9yIHNob3J0IGhhbmQgdXNlLlxyXG4gICAgQGlmIGxlbmd0aCgkdmFsdWVzKSA9PSAzIGFuZCAkc2lkZSA9PSA0IHtcclxuICAgICAgICAkc2lkZTogMjtcclxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWx1ZXMpID09IDIgYW5kICgkc2lkZSA+IDIpIHtcclxuICAgICAgICAkc2lkZTogaWYoJHNpZGUgPT0gMywxLDIpO1xyXG4gICAgfSBAZWxzZSBpZiBsZW5ndGgoJHZhbHVlcykgPT0gMSB7XHJcbiAgICAgICAgJHNpZGU6IDE7XHJcbiAgICB9XHJcbiAgICAkdmFsdWU6IDA7XHJcbiAgICAvLyBGaW5kIHRoZSB2YWx1ZSB0aGF0IG1hdGNoZXMgdGhlIHNpZGUuXHJcbiAgICBAaWYgKCRzaWRlID4gMCkge1xyXG4gICAgICAgICR2YWx1ZTogbnRoKCR2YWx1ZXMsICRzaWRlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIC8vIEp1c3Qgb3V0cHV0IHdoYXRldmVyIGlzIHNldCBpbiBhIHN0cmluZy5cclxuICAgICAgICAkdmFsdWU6ICR2YWx1ZXM7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEByZXR1cm4gJHZhbHVlO1xyXG59XHJcblxyXG5AZnVuY3Rpb24gc3RyLXNwbGl0KCRzdHJpbmcsICRzZXBhcmF0b3IpIHtcclxuICAgIC8vIGVtcHR5IGFycmF5L2xpc3RcclxuICAgICRzcGxpdC1hcnI6ICgpO1xyXG4gICAgLy8gZmlyc3QgaW5kZXggb2Ygc2VwYXJhdG9yIGluIHN0cmluZ1xyXG4gICAgJGluZGV4IDogc3RyLWluZGV4KCRzdHJpbmcsICRzZXBhcmF0b3IpO1xyXG4gICAgLy8gbG9vcCB0aHJvdWdoIHN0cmluZ1xyXG4gICAgQHdoaWxlICRpbmRleCAhPSBudWxsIHtcclxuICAgICAgICAvLyBnZXQgdGhlIHN1YnN0cmluZyBmcm9tIHRoZSBmaXJzdCBjaGFyYWN0ZXIgdG8gdGhlIHNlcGFyYXRvclxyXG4gICAgICAgICRpdGVtOiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSk7XHJcbiAgICAgICAgLy8gcHVzaCBpdGVtIHRvIGFycmF5XHJcbiAgICAgICAgJHNwbGl0LWFycjogYXBwZW5kKCRzcGxpdC1hcnIsICRpdGVtKTtcclxuICAgICAgICAvLyByZW1vdmUgaXRlbSBhbmQgc2VwYXJhdG9yIGZyb20gc3RyaW5nXHJcbiAgICAgICAgJHN0cmluZzogc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIDEpO1xyXG4gICAgICAgIC8vIGZpbmQgbmV3IGluZGV4IG9mIHNlcGFyYXRvclxyXG4gICAgICAgICRpbmRleCA6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VwYXJhdG9yKTtcclxuICAgIH1cclxuICAgIC8vIGFkZCB0aGUgcmVtYWluaW5nIHN0cmluZyB0byBsaXN0ICh0aGUgbGFzdCBpdGVtKVxyXG4gICAgJHNwbGl0LWFycjogYXBwZW5kKCRzcGxpdC1hcnIsICRzdHJpbmcpO1xyXG5cclxuICAgIEByZXR1cm4gJHNwbGl0LWFycjtcclxufVxyXG5cclxuLy8gR2V0IHNvY2lhbCBpY29uLlxyXG5AZnVuY3Rpb24gc29jaWFsLWljb24oJHBsYXRmb3JtKSB7XHJcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHNvY2lhbC1pY29ucywgJHBsYXRmb3JtKTtcclxufVxyXG5cclxuLy8gVXNlZCB0byBkaXNwbGF5IGRlZmF1bHQgaWNvbnMgaWYgbm8gc2l0ZSBzcGVjaWZjIGljb24gaGFzIGJlZW4gZGVmaW5lZC5cclxuQGZ1bmN0aW9uIGN1c3RvbS1pY29uLWZhbWlseSgkZGVmYXVsdC1mb250LWZhbWlseSwgJGVuYWJsZWQ6IGZhbHNlKSB7XHJcbiAgICAvLyBJZiBjdXN0b20gaWNvbiBpcyBlbmFibGVkIGFuZCB0aGUgZ2xvYmFsIGZsYWcgaXMgc2V0IHRoZW4gb3V0cHV0IHNpdGUgc3BlY2lmaWMgZm9udCBmYW1pbHksIGlmICRlbmFibGVkPXRydWUgYnV0ICRzaXRlLXNwZWNpZmljLWljb25zLWVuYWJsZWQgaXMgZmFsc2UgdGhlbiB5b3UgbW9zdCBsaWtlbHkgaGF2ZSBub3Qgc2V0IHVwIGN1c3RvbSBpY29uIGZvbnRzIGNvcnJlY3RseS5cclxuICAgIEBpZiAkZW5hYmxlZCBhbmQgJHNpdGUtc3BlY2lmaWMtaWNvbnMtZW5hYmxlZCB7XHJcbiAgICAgICAgQHJldHVybiAkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LWZhbWlseTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIEByZXR1cm4gJGRlZmF1bHQtZm9udC1mYW1pbHk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRPRE86IHRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzLlxyXG5AZnVuY3Rpb24gY29udHJhc3QtY2hlY2tlcigkY29sb3VyLWEsICRjb2xvdXItYikge1xyXG4gICAgQGlmICgkY29sb3VyLWEgPT0gbnVsbCkge1xyXG4gICAgICAgIEBkZWJ1ZyBcIkNvbnRyYXN0IENoZWNrZXI6ICRjb2xvdXItYSBpcyBudWxsIHNvIG5vdGhpbmcgdG8gY29tcGFyZSBkZWZhdWx0aW5nIHRvICN7JGNvbG91cjB9IGZvciAjeyRzaXRlfVwiO1xyXG4gICAgICAgIEByZXR1cm4gJGNvbG91cjA7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRjb2xvdXItYiA9PSBudWxsKSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGVycm9yIFwiQ29udHJhc3QgQ2hlY2tlcjogJGNvbG91ci1iIGlzIG51bGwgZGVmYXVsdGluZyB0byAkY29sb3VyLWEgZm9yICN7JHNpdGV9IC0gXCIgJGNvbG91ci1iO1xyXG4gICAgICAgIEByZXR1cm4gJGNvbG91ci1hO1xyXG4gICAgfVxyXG4gICAgJHJhdGlvOiBjb2xvci1jb250cmFzdCgkY29sb3VyLWEsICRjb2xvdXItYik7XHJcbiAgICAkbWF0Y2hlZC1jb2xvdXI6IFwiXCI7XHJcbiAgICAvLyBJZiBiYWNrZ3JvdW5kIHRyYW5zcGFyZW50IHRoZW4gZXhpdC5cclxuICAgIEBpZiAkY29sb3VyLWIgPT0gdHJhbnNwYXJlbnQge1xyXG4gICAgICAgIEByZXR1cm4gJGNvbG91ci1hO1xyXG4gICAgfVxyXG4gICAgLy8gSWYgcmF0aW8gaXMgYmVsb3cgdGhyZXNob2xkIHRoZW4gZmluZCBhIGRpZmZlcmVudCBjb2xvdXIuXHJcbiAgICBAaWYgJHJhdGlvIDwgJGNvbnRyYXN0LWNoZWNrZXItcmF0aW8tdGhyZXNob2xkIHtcclxuICAgICAgICBAaWYgJGRlYnVnIGFuZCAkZGVidWctbGV2ZWwgPT0gMiB7XHJcbiAgICAgICAgICAgIEBkZWJ1ZyAkc2l0ZSBcImNvbG91clwiICRjb2xvdXItYSBcImNvbnRyYXN0IGNvbmZsaWN0cyB3aXRoXCIgJGNvbG91ci1iIFwiYXR0ZW1wdGluZyB0byBmaW5kIGFsdGVybmF0aXZlLlwiICRyYXRpbzsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEZpbmQgdGhlIGZpcnN0IGNvbG91ciB0aGF0IGlzIGFib3ZlIHRoZSByYXRpbyB0aHJlc2hvbGQuXHJcbiAgICAgICAgQGVhY2ggJGNvbG91ciBpbiAkY29udHJhY3QtY2hlY2tlci1jb2xvdXItZmFsbGJhY2tzIHtcclxuICAgICAgICAgICAgQGlmIGNvbG9yLWNvbnRyYXN0KCRjb2xvdXIsICRjb2xvdXItYikgPj0gJGNvbnRyYXN0LWNoZWNrZXItcmF0aW8tdGhyZXNob2xkIHtcclxuICAgICAgICAgICAgICAgICRtYXRjaGVkLWNvbG91cjogJGNvbG91cjtcclxuICAgICAgICAgICAgICAgIEBpZiAkZGVidWcgYW5kICRkZWJ1Zy1sZXZlbCA9PSAyIHtcclxuICAgICAgICAgICAgICAgICAgICBAZGVidWcgJHNpdGUgXCJhbHRlcm5hdGl2ZSBmb3VuZCEgXCIgJG1hdGNoZWQtY29sb3VyOyBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEByZXR1cm4gJGNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAvLyBJZiB0aGUgcmF0aW8gaXMgYmVsb3cgdGhlIHRocmVzaG9sZCB0aGVuIHJldHVybiAkY29sb3VyLWEuXHJcbiAgICAgICAgJG1hdGNoZWQtY29sb3VyOiAkY29sb3VyLWE7XHJcbiAgICB9XHJcbiAgICBAcmV0dXJuICRtYXRjaGVkLWNvbG91cjtcclxufVxyXG5cclxuLy8gVG8gY3JlYXRlIGFuIGlnbm9yZSBsaXN0IGFzIDpub3QoKSBkb2Vzbid0IGN1cnJlbnRseSBzdXBwb3J0IG11bHRpcGxlIHNlbGVjdG9ycy4gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTY4NDE2MC9jYW4tdGhlLW5vdC1wc2V1ZG8tY2xhc3MtaGF2ZS1tdWx0aXBsZS1hcmd1bWVudHNcclxuQG1peGluIG5vdCgkaWdub3JMaXN0Li4uKSB7XHJcbiAgICAvL2lmIG9ubHkgYSBzaW5nbGUgdmFsdWUgZ2l2ZW5cclxuICAgIEBpZiAobGVuZ3RoKCRpZ25vckxpc3QpID09IDEpe1xyXG4gICAgICAgIC8vaXQgaXMgcHJvYmFibHkgYSBsaXN0IHZhcmlhYmxlIHNvIHNldCBpZ25vcmUgbGlzdCB0byB0aGUgdmFyaWFibGVcclxuICAgICAgICAkaWdub3JMaXN0OiBudGgoJGlnbm9yTGlzdCwxKTtcclxuICAgIH1cclxuICAgIC8vc2V0IHVwIGFuIGVtcHR5ICRub3RPdXRwdXQgdmFyaWFibGVcclxuICAgICRub3RPdXRwdXQ6ICcnO1xyXG4gICAgLy9mb3IgZWFjaCBpdGVtIGluIHRoZSBsaXN0XHJcbiAgICBAZWFjaCAkbm90IGluICRpZ25vckxpc3Qge1xyXG4gICAgICAgIC8vZ2VuZXJhdGUgYSA6bm90KFtpZ25vcmVkX2l0ZW1dKSBzZWdtZW50IGZvciBlYWNoIGl0ZW0gaW4gdGhlIGlnbm9yZSBsaXN0IGFuZCBwdXQgdGhlbSBiYWNrIHRvIGJhY2tcclxuICAgICAgICAkbm90T3V0cHV0OiAkbm90T3V0cHV0ICsgJzpub3QoI3skbm90fSknO1xyXG4gICAgfVxyXG4gICAgLy9vdXRwdXQgdGhlIGZ1bGwgOm5vdCgpIHJ1bGUgaW5jbHVkaW5nIGFsbCBpZ25vcmVkIGl0ZW1zXHJcbiAgICAmI3skbm90T3V0cHV0fSB7XHJcbiAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENoZWNrIHdoZXRoZXIgYSBtYXAgaGFzIGEga2V5LlxyXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YXJpYWJsZSkge1xyXG4gICAgQHJldHVybiBtYXAtaGFzLWtleSgkbGlzdCwgJHZhcmlhYmxlKTtcclxufVxyXG5cclxuLy8gR2V0IHR5cG9ncmFwaHkgZm9udCBmYW1pbHkuXHJcbkBmdW5jdGlvbiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgkZmFtaWx5OiBwcmltYXJ5LWZvbnQpIHtcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzLCAkZmFtaWx5KSB7XHJcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXMsICRmYW1pbHkpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgLy8gTWFrZSBhbiBhc3N1bXB0aW9uIHRoYXQgdGhlcmUgd2lsbCBhbHdheXMgYmUgYSBwcmltYXJ5LWZvbnQgZGVmaW5lZC5cclxuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJHR5cG9ncmFnaHktZm9udC1mYW1pbGllcywgcHJpbWFyeS1mb250KSB7XHJcbiAgICAgICAgICAgIEByZXR1cm4gbWFwLWdldCgkdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzLCBwcmltYXJ5LWZvbnQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBAZXJyb3IgXCJnZXQtZm9udC1mYW1pbHk6IEZhaWxlZCB0byBmYWxsYmFjayB0byBwcmltYXJ5LWZvbnQgZm9yICN7JHNpdGV9LCBpcyBpdCBkZWZpbmVkP1wiO1xyXG4gICAgICAgICAgICBAcmV0dXJuIFwiQXJpYWxcIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEdlbmVyYXRlcyBjb2xvdXIgcGFsbGV0ZSBiYXNlZCBvbiBhIGJhc2UgY29sb3VyIHRoZW4gbGlnaHRlbidzIGJ5IDEwJSBlYWNoIGxldmVsLlxyXG5AZnVuY3Rpb24gY3JlYXRlLWNvbG91ci12YXJpYW50cygkY29sb3VyLCAkbGV2ZWxzOiA5KSB7XHJcbiAgICAvLyBXb3Jrb3V0IGJhc2UgY29sb3VyLlxyXG4gICAgJGJhc2UtY29sb3VyOiBtYXAtZ2V0KCRjb2xvdXIsIDApO1xyXG4gICAgQGlmICgkYmFzZS1jb2xvdXIgPT0gbnVsbCkge1xyXG4gICAgICAgIEByZXR1cm4gKCk7XHJcbiAgICB9XHJcbiAgICAvLyBDcmVhdGUgbWFwIHRoYXQgbmV3IGNvbG91cnMgZ2V0IGhlbGQgaW4uXHJcbiAgICAkY29sb3VyczogKCk7XHJcbiAgICAvLyBDcmVhdGUgbmV3IGNvbG91cnMuXHJcbiAgICBAZm9yICRsZXZlbCBmcm9tIDEgdGhyb3VnaCAkbGV2ZWxzIHtcclxuICAgICAgICAvLyBCdWlsZCBzdHJlbmd0aCBiYXNlZCBvbiBjb3VudC5cclxuICAgICAgICAkc3RyZW5ndGg6IHBlcmNlbnRhZ2UoKCRsZXZlbCAvIDEwKSk7XHJcbiAgICAgICAgLy8gT3V0cHV0IENTUyB2YXJpYWJsZSB3aXRoIG5ldyBsaWdodG5lc3MuXHJcbiAgICAgICAgJG5ldy1jb2xvdXI6IHNjYWxlLWNvbG9yKCRiYXNlLWNvbG91ciwgJGxpZ2h0bmVzczogJHN0cmVuZ3RoKTtcclxuICAgICAgICAvLyBBZGQgbmV3IGNvbG91ciB0byBtYXAuXHJcbiAgICAgICAgJGNvbG91cnM6IG1hcC1tZXJnZSgkY29sb3VycywgKCRsZXZlbDogJG5ldy1jb2xvdXIpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBZGQgOTUlIGxpZ2h0bmVzcywgdGhpcyBpcyByZXF1aXJlZCBhcyBtb3N0IHNpdGVzIHJlcXVpcmUgYSB0b25lIGJldHdlZWVuIDkwIH4gOTglIGZvciBidXR0b25zLCBoZWFkaW5nIGJhY2tncm91bmRzIG9yIHBhbmVsIHNoYWRpbmcgKCBpLmUgYmFza2V0IHN1bW1hcnkgKS5cclxuICAgICRjb2xvdXJzOiBtYXAtbWVyZ2UoJGNvbG91cnMsICgoJGxldmVscyArIDEpOiBzY2FsZS1jb2xvcigkYmFzZS1jb2xvdXIsICRsaWdodG5lc3M6IDk1KSkpO1xyXG5cclxuICAgIC8vIFJldHVybiBuZXcgY29sb3Vycy5cclxuICAgIEByZXR1cm4gJGNvbG91cnM7XHJcbn0iLCIvKipcclxuXHJcblNpdGUgc3BlY2lmaWMgYnJhbmRpbmcgKCBjb2xvdXJzICYgZm9udHMgKSBhbnkgc2FzcyBvdmVycmlkZXMgZ2V0IGRlZmluZWQgaGVyZSBhcyB3ZWxsLlxyXG5cclxuWyBJTVBPUlRBTlQgXSAtIFlvdSBtYXliZSBjb21wZWxsZWQgdG8gd3JpdGUgYmVzcG9rZSBjc3MgcnVsZXMgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZmlsZSBqdXN0IHRvIG1ha2UgYSBcIiBxdWljayBcIiBzaXRlIHNwZWNpZmljIGNoYW5nZSBidXQgdGhpcyBXSUxMIGNvbmZsaWN0IHdpdGggdGhlIGNzcyBiZWluZyBkZWZpbmVkIGluIC9nbG9iYWwgYW5kIC9jb21wb25lbnQgZWl0aGVyIGZyb20gYSBjb25maWd1cmF0aW9uIHN0YW5jZSBvciByZXNwb25zaXZlIHBvaW50IG9mIHZpZXcsIHNvIHBsZWFzZSBjb25zdWx0L21vZGlmeSB0aG9zZSAyIGRpcmVjdG9yaWVzIGFzIG5lZWRlZCwgdGhpcyBmaWxlIHdhcyBvbmx5IHRvIGRlc2lnbmVkIGZvciBTQVNTIHZhcmlhYmxlcy5cclxuXHJcbioqL1xyXG4vLyBTaXRlIG5hbWUuXHJcbiRzaXRlOiAnZnVudGltZWdpZnQnO1xyXG5cclxuLy8gLS0tLS0gU2V0IEJyYW5kaW5nIC0tLS0tXHJcbi8vIC0tLSBGb250cyAtLS1cclxuLy8gdHlwb2dyYXBoeSBcclxuJHR5cG9ncmFwZ2h5LWZvbnQtZmFtaWxpZXMtY2RuLWltcG9ydDogKFxyXG4gICAgcHJpbWFyeS1mb250OiBcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9S2h1bGE6d2dodEAzMDA7NDAwOzYwMDs3MDA7ODAwJmRpc3BsYXk9c3dhcFwiXHJcbik7XHJcblxyXG4kdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzOiAoXHJcbiAgICBwcmltYXJ5LWZvbnQ6IChcIktodWxhXCIsIFwiS2h1bGEgRmFsbGJhY2tcIiwgXCJBcmlhbFwiKVxyXG4pO1xyXG5cclxuJGZvbnQtZmFsbGJhY2stbWV0cmljczogKFxyXG4gICAgcHJpbWFyeTogKFxyXG4gICAgICAgIGZhbGxiYWNrOiAnQXJpYWwnLFxyXG4gICAgICAgIHNpemUtYWRqdXN0OiAxMDAlLFxyXG4gICAgICAgIGFzY2VudC1vdmVycmlkZTogMTAwLjAwJSxcclxuICAgICAgICBkZXNjZW50LW92ZXJyaWRlOiA2MC41NyUsXHJcbiAgICAgICAgbGluZS1nYXAtb3ZlcnJpZGU6IDAuMDAlXHJcbiAgICApXHJcbik7XHJcblxyXG4vLyAtLS0gU2V0IENvbG91ciBQYWxsZXR0ZSAtLS0gXHJcbiRjb2xvdXI0OiAjMDE0MTZmO1xyXG4kY29sb3VyNC0xOiAjMTI4MWJmO1xyXG4kY29sb3VyNC0yOiAjMDBhZGVmO1xyXG4kY29sb3VyNC0zOiAjMmY2NTg5O1xyXG4kY29sb3VyNC00OiByZ2JhKCRjb2xvdXI0LTEsIDAuOCk7XHJcbiRjb2xvdXI0LTU6ICMzYjdjYWM7XHJcbiRjb2xvdXI0LTY6ICM2NGE2ZDQ7XHJcbiRjb2xvdXI0LTc6IHJnYmEoJGNvbG91cjQtMSwgMC44KTtcclxuXHJcbiRjb2xvdXI2OiAjNjcxNTZhO1xyXG4kY29sb3VyNi0xOiByZ2JhKCRjb2xvdXI2LCAwLjgpO1xyXG4kY29sb3VyNi0yOiBsaWdodGVuKCRjb2xvdXI2LCA0MCUpO1xyXG4kY29sb3VyNi0zOiByZ2JhKCRjb2xvdXI2LCAwLjQpO1xyXG4kY29sb3VyNi0zOiByZ2JhKCRjb2xvdXI2LCAwLjIpO1xyXG5cclxuLy8gSW1wb3J0IGRlZmF1bHQgYnJhbmRpbmcgZ3VpZGVsaW5lcy5cclxuQGltcG9ydCAnLi4vLi4vZ2xvYmFsL2JyYW5kaW5nJztcclxuXHJcblxyXG4vLyAtLS0tLSBTQVNTIG92ZXJyaWRlcyAtLS0tLVxyXG4vLyAtLS0tLSBUeXBvZ3JhcGh5IC0tLS0tIFxyXG4vLyAtLS0gSGVhZGluZ3MgLS0tIFxyXG4kaGVhZGluZy0yLWNvbG91cjogKFxyXG4gICAgcHJlc2V0LTE6ICRjb2xvdXIxLFxyXG4gICAgcHJlc2V0LTI6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTM6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTQ6ICRjb2xvdXIxXHJcbik7XHJcbiRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHByZXNldC0xOiAkY29sb3VyNC0xLFxyXG4gICAgcHJlc2V0LTM6IG51bGwsXHJcbiAgICBwcmVzZXQtNDogJGNvbG91cjQtMVxyXG4pO1xyXG5cclxuLy8gLS0tLS0gSGVhZGVyIC0tLS0tXHJcbi8vIC0tLSBIZWFkZXIgUmVzcG9uc2l2ZSAtLS0gXHJcbiRoZWFkZXItcmVzcG9uc2l2ZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICNlNTAwN2RcclxuKTtcclxuLy8gLS0tIFVwcGVyIC0tLS1cclxuJGhlYWRlci11cHBlci1pY29ucy1ib3JkZXItcmFkaXVzOiAwO1xyXG4kaGVhZGVyLXVwcGVyLWZvbnQtd2VpZ2h0OiA3MDA7XHJcbiRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKTtcclxuJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtMztcclxuJGhlYWRlci11cHBlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pO1xyXG4vLyAtLS0gTWlkZGxlIC0tLVxyXG4kaGVhZGVyLWxvZ28td2lkdGg6IChcclxuICAgIHNtYWxsOiAyODBweCxcclxuICAgIGxhcmdlOiAyODBweCxcclxuICAgIG1pbmlmaWVkOiAxMjBweFxyXG4pO1xyXG4kaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNDtcclxuJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0zLFxyXG4gICAgd2FybmluZzogJGNvbG91cjYtMyxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpXHJcbik7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgd2FybmluZzogJGNvbG91cjYsXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pO1xyXG4kbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodDogKFxyXG4gICAgc21hbGw6IDYwMCxcclxuICAgIGxhcmdlOiA2MDBcclxuKTtcclxuJGhlYWRlci10YWdsaW5lLWhlaWdodDogNTRweDtcclxuJGhlYWRlci10YWdsaW5lLWNvbG91cjogJGNvbG91cjE7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LWNvbG91cjogJGNvbG91cjE7XHJcbiRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbik7XHJcbi8vIC0tLSBMb3dlciAtLS1cclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9yczogZmFsc2U7XHJcbiRoZWFkZXItbG93ZXItaXRlbS1ncm93OiB0cnVlO1xyXG4kaGVhZGVyLWxvd2VyLXRleHQtYWxpZ246IGNlbnRlcjtcclxuJG1lbnVzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBzbWFsbDogJGNvbG91cjEsXHJcbiAgICBsYXJnZTogI2U1MDA3ZFxyXG4pO1xyXG4kbWVudS1sZXZlbDEtYW5jaG9yLWZvbnQtc2l6ZTogMTg7XHJcbiRob21lLWJ1dHRvbi13aWR0aDogNjBweDtcclxuJGhvbWUtYnV0dG9uLWljb24tc2l6ZTogMTdweDtcclxuJGhvbWUtYnV0dG9uLXBhZGRpbmc6IDA7XHJcblxyXG4vLyAtLS0tLSBVU1AncyAtLS0tLVxyXG4kdXNwLWJhci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwXHJcbik7XHJcbiR1c3AtYmFja2dyb3VuZC1mdWxsLXdpZHRoOiB0cnVlO1xyXG4kdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTEsXHJcbiAgICBob3ZlcjogZGFya2VuKCRjb2xvdXI0LTEsIDEwJSksXHJcbiAgICBhY3RpdmU6IGRhcmtlbigkY29sb3VyNC0xLCAyMCUpXHJcbik7XHJcbiR1c3Atc2VwZXJhdG9yOiBmYWxzZTtcclxuJHVzcC1wYWRkaW5nOiAxMHB4IDVweDtcclxuJHVzcC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKTtcclxuJHVzcC1hbGlnbm1lbnQ6IGxlZnQ7XHJcbiR1c3AtZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kdXNwLWZvbnQtc2l6ZTogMTg7XHJcbiR1c3AtZm9udC13ZWlnaHQ6IDMwMDtcclxuXHJcblxyXG4vLyAtLS0tLSBCdXR0b25zIC0tLS0tXHJcbiRzZWFyY2gtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKTtcclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTIsIFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kbm90LWxvZ2dlZC1pbi1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMixcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWZvbnQtc2l6ZTogMTc7XHJcblxyXG4vLyAtLS0tLSBTdG9jayAtLS0tLSBcclxuLy8gLS0tIFByaWNlIC0tLSBcclxuJHByaWNlLW1hcmdpbjogMDtcclxuXHJcbi8vIC0tLS0tIEZvcm1zIC0tLS0tIFxyXG4vLyAtLS0gQ29sdW1uIGNvbnRlbnQgY29udGFpbmVycyAtLS0gXHJcbiRjb2x1bW4tY29udGVudC1jb250YWluZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLFxyXG4gICAgbGFyZ2U6IDAgMCAyMHB4XHJcbik7XHJcbi8vIC0tLSBBZGRpdGlvbmFsIGluZm8gLS0tIFxyXG4kYWRkaXRpb25hbC1pbmZvLWltYWdlLW1hcmdpbjogMTBweCAxNXB4O1xyXG5cclxuLy8gLS0tLS0gTW9kdWxlcyAtLS0tLVxyXG4kbW9kdWxlcy1tb2R1bGUtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAxMHB4XHJcbik7XHJcbi8vIC0tLSBDb2xsZWN0aW9ucyAtLS1cclxuJGNvbGxlY3Rpb24taXRlbS1tYXJnaW46IDEwcHggMDtcclxuJGNvbGxlY3Rpb24tY2VsbC1wYWRkaW5nOiAwIDAgMTBweDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZzogKFxyXG4gICAgY29tcGFjdDogMTBweCAwIDEwcHggMCxcclxuICAgIG5vbi1jb21wYWN0OiA1cHggNXB4XHJcbik7XHJcbiRjb2xsZWN0aW9uLWltYWdlLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgYXV0byxcclxuICAgIGxhcmdlOiAwXHJcbik7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OiAxLjI7XHJcblxyXG4vLyAtLS0tLSBGb290ZXIgLS0tLS1cclxuJGZvb3Rlci1tYXJnaW4tdG9wOiAxMHB4O1xyXG4kZm9vdGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDEwcHgsXHJcbiAgICBtZWRpdW06IDI1cHggMTBweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDI1cHggMCAxMHB4XHJcbik7XHJcbiRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNjtcclxuJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAxMC41cHgsXHJcbiAgICBsYXJnZTogMFxyXG4pO1xyXG4vLyBUT0RPOiBDYW4gZ28gYWZ0ZXIgZm9vdGVyIDIuMFxyXG4kZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nLWJvdHRvbTogMDtcclxuJGZvb3Rlci1saXN0LW1hcmdpbi10b3A6IDA7XHJcbiRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbik7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk6IGZsZXgtZW5kO1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kOiB0cnVlO1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1oZWFkaW5nLWNvbG91cjogJGNvbG91cjE7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LXRleHQtY29sb3VyOiAkY29sb3VyMTtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1jb2xvdXI6ICRjb2xvdXIxO1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtY29sb3VyOiAkY29sb3VyMTtcclxuJGZvb3Rlci1jb3B5cmlnaHQtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbik7XHJcbiRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvcjogdHJ1ZTtcclxuXHJcbi8vIC0tLS0tIFNvY2lhbCBJY29ucyAtLS0tLSBcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNC0yLCBcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtM1xyXG4pO1xyXG4kc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pOyIsIi8vIC0tLS0tIEJyYW5kaW5nIC0tLS0tXHJcblxyXG4vLyBJZiB0aGVzZSBnbG9iYWwgdmFyaWFibGVzIGFyZSBub3QgYXZhaWxhYmxlIHRoZW4gZGVmYXVsdCB0byB0aGUgZm9sbG93aW5nLCB0aGlzIHdhcyBwdXQgaW4gZHVlIHRvIGEgY29tcGF0aWJpbGl0eSBpc3N1ZSBiZXR3ZWVuIHNhc3MtZXh0cmFjdCBhbmQgc2Fzcy12YXJpYWJsZXMgd2hlbiBjcmVhdGluZyB0aGUgbWFuaWZlc3QgZmlsZXMuXHJcbiRlbWFpbFRlbXBsYXRlOiBmYWxzZSAhZGVmYXVsdDtcclxuJGVudmlyb25tZW50OiBcImRldmVsb3BtZW50XCIgIWRlZmF1bHQ7XHJcblxyXG4kZGVidWc6IGZhbHNlICFkZWZhdWx0O1xyXG4kZGVidWctbGV2ZWw6IDEgIWRlZmF1bHQ7XHJcblxyXG4kc2hhcmVkLWNvbnRlbnQtZGlyZWN0b3J5OiAnL3RlbXBsYXRlL2NvbnRlbnQvJyArICRlbnZpcm9ubWVudCAhZGVmYXVsdDtcclxuJHNoYXJlZC1pY29ucy1kaXJlY3Rvcnk6ICRzaGFyZWQtY29udGVudC1kaXJlY3RvcnkgKyAnL2ltYWdlcy9pY29ucy8nICFkZWZhdWx0O1xyXG4kc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3Rvcnk6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJy9jYWxscy8nICFkZWZhdWx0O1xyXG4kc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeTogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAnaGF6YXJkLXN0YXRlbWVudC1pY29ucy8nICFkZWZhdWx0O1xyXG4kc2hhcmVkLWJ1dHRvbnMtZGlyZWN0b3J5OiAkc2hhcmVkLWNvbnRlbnQtZGlyZWN0b3J5ICsgJy9pbWFnZXMvYnV0dG9ucy8nICFkZWZhdWx0O1xyXG4kc2hhcmVkLXdlYmZvbnRzLWRpcmVjdG9yeTogJHNoYXJlZC1jb250ZW50LWRpcmVjdG9yeSArICcvY3NzL3dlYmZvbnRzLycgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gU2l0ZSBjb2xvdXIgcGFsZXR0ZVxyXG4vL1RyYW5zcGFyZW50XHJcbiRjb2xvdXIwOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcclxuXHJcbi8vV2hpdGVcclxuJGNvbG91cjE6ICNmZmZmZmYgIWRlZmF1bHQ7XHJcblxyXG4vL0JsYWNrXHJcbiRjb2xvdXIyOiAjMDAwMDAwICFkZWZhdWx0O1xyXG5cclxuLy9HcmV5XHJcbiRjb2xvdXIzOiAjZWVlZWVlICFkZWZhdWx0O1xyXG4vL1NMSUdIVExZIERBUktFUiBHUkVZXHJcbi8vJGNvbG91cjMtMTogI2RhZGFkYSAhZGVmYXVsdDtcclxuJGNvbG91cjMtMTogZGFya2VuKCRjb2xvdXIzLCA4JSkgIWRlZmF1bHQ7XHJcbi8vU2xpZ2h0bHkgU2xpZ2h0bHkgRGFya2VyIEdyZXlcclxuLy8kY29sb3VyMy0yOiAjYjJiMmIyICFkZWZhdWx0O1xyXG4kY29sb3VyMy0yOiBkYXJrZW4oJGNvbG91cjMsIDI1JSkgIWRlZmF1bHQ7XHJcbi8vRGFya2VyIEdyZXkgXHJcbi8vJGNvbG91cjMtMzogIzg4ODg4OCAhZGVmYXVsdDtcclxuJGNvbG91cjMtMzogZGFya2VuKCRjb2xvdXIzLCAzNSUpICFkZWZhdWx0O1xyXG4vL1ZlcnkgTGlnaHQgR3JleVxyXG4vLyRjb2xvdXIzLTQ6ICNjZmNmY2YgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTQ6IGRhcmtlbigkY29sb3VyMywgMTUlKSAhZGVmYXVsdDtcclxuLy8gR3JleVxyXG4vLyRjb2xvdXIzLTU6ICNmM2YzZjMgIWRlZmF1bHQ7XHJcbiRjb2xvdXIzLTU6IGxpZ2h0ZW4oJGNvbG91cjMsIDIlKSAhZGVmYXVsdDtcclxuLy8gRGFyayBHcmV5XHJcbi8vJGNvbG91cjMtNjogIzQ0NDQ0NCAhZGVmYXVsdDtcclxuJGNvbG91cjMtNjogZGFya2VuKCRjb2xvdXIzLCA2NSUpICFkZWZhdWx0O1xyXG4vLyBTbGlnaHRseSBzbGlnaHRseSBkYXJrZXIgZ3JleS5cclxuLy8kY29sb3VyMy03OiAjN2E3YTdhICFkZWZhdWx0O1xyXG4kY29sb3VyMy03OiBkYXJrZW4oJGNvbG91cjMsIDQ1JSkgIWRlZmF1bHQ7XHJcblxyXG4kbmV1dHJhbC1jb2xvdXI6IChcclxuICAgIDA6ICRjb2xvdXIzLTZcclxuKSAhZGVmYXVsdDtcclxuJG5ldXRyYWwtY29sb3VyOiBtYXAtbWVyZ2UoJG5ldXRyYWwtY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRuZXV0cmFsLWNvbG91cikpO1xyXG5cclxuLy9HcmVlbiBcclxuJGNvbG91cjQ6ICMxMjgxMWYgIWRlZmF1bHQ7XHJcbiRwcmltYXJ5LWNvbG91cjogKFxyXG4gICAgMDogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHByaW1hcnktY29sb3VyOiBtYXAtbWVyZ2UoJHByaW1hcnktY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRwcmltYXJ5LWNvbG91cikpO1xyXG4vLyBMSUdIVEVSIEdSRUVOXHJcbi8vJGNvbG91cjQtMTogIzI0Y2ExYyAhZGVmYXVsdDtcclxuJGNvbG91cjQtMTogZGVzYXR1cmF0ZShsaWdodGVuKCRjb2xvdXI0LCAxOSUpLCAxMCUpICFkZWZhdWx0O1xyXG4vLyBEQVJLRVIgR1JFRU4gXHJcbi8vJGNvbG91cjQtMjogIzQxOWE0YyAhZGVmYXVsdDtcclxuJGNvbG91cjQtMjogZGVzYXR1cmF0ZShsaWdodGVuKCRjb2xvdXI0LCAxMiUpLCAyNSUpICFkZWZhdWx0O1xyXG4vLyBQYWxlXHJcbi8vJGNvbG91cjQtMzogIzZhYWQ3MiAhZGVmYXVsdDtcclxuJGNvbG91cjQtMzogZGVzYXR1cmF0ZShsaWdodGVuKCRjb2xvdXI0LCAyMyUpLCA1MCUpICFkZWZhdWx0O1xyXG4vLyBMaWdodGlzaCBQYWxlIEdyZWVuLlxyXG4vLyRjb2xvdXI0LTQ6ICNhOGQzYTYgIWRlZmF1bHQ7XHJcbiRjb2xvdXI0LTQ6IGRlc2F0dXJhdGUoYWRqdXN0LWh1ZShsaWdodGVuKCRjb2xvdXI0LCA0NSUpLCAtMTAlKSwgNDYlKSAhZGVmYXVsdDtcclxuLy9EQVJLSVNIIFBBTEUgR1JFRU5cclxuLy8kY29sb3VyNC01OiAjNTRhMTVkICFkZWZhdWx0O1xyXG4kY29sb3VyNC01OiBkZXNhdHVyYXRlKGxpZ2h0ZW4oJGNvbG91cjQsIDE4JSksIDM3JSkgIWRlZmF1bHQ7XHJcbi8vIExpZ2h0ICggdmVyeSB3YXNoZWQgb3V0IClcclxuLy8kY29sb3VyNC02OiAjZGNmN2RiICFkZWZhdWx0O1xyXG4kY29sb3VyNC02OiBkZXNhdHVyYXRlKGFkanVzdC1odWUobGlnaHRlbigkY29sb3VyNCwgNjMlKSwgLTEwJSksIDIyJSkgIWRlZmF1bHQ7XHJcbi8vIFF1aXRlIGRhcmsuXHJcbi8vJGNvbG91cjQtNzogIzAxODAyYiAhZGVmYXVsdDtcclxuJGNvbG91cjQtNzogc2F0dXJhdGUoYWRqdXN0LWh1ZShkYXJrZW4oJGNvbG91cjQsIDMlKSwgMTMlKSwgMjAlKSAhZGVmYXVsdDtcclxuXHJcbi8vT3JhbmdlXHJcbiRjb2xvdXI2OiAjZmY2ZjIwICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5LWNvbG91cjogKFxyXG4gICAgMDogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJHNlY29uZGFyeS1jb2xvdXI6IG1hcC1tZXJnZSgkc2Vjb25kYXJ5LWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkc2Vjb25kYXJ5LWNvbG91cikpO1xyXG4vL0RhcmsgT3JhbmdlXHJcbi8vJGNvbG91cjYtMTogI2QxNDYyOCAhZGVmYXVsdDtcclxuJGNvbG91cjYtMTogZGVzYXR1cmF0ZShhZGp1c3QtaHVlKGRhcmtlbigkY29sb3VyNiwgMTIlKSwgLTglKSwgMTAlKSAhZGVmYXVsdDtcclxuLy8gU2xpZ2h0bHkgbGlnaHRlciBvcmFuZ2VcclxuLy8kY29sb3VyNi0yOiAjZmZjNDM5ICFkZWZhdWx0O1xyXG4kY29sb3VyNi0yOiBhZGp1c3QtaHVlKGxpZ2h0ZW4oJGNvbG91cjYsIDYlKSwgMjAlKSAhZGVmYXVsdDtcclxuLy8gVmVyeSBsaWdodCBvcmFuZ2UgYnV0IHNsaWdodGx5IGRhcmtcclxuLy8kY29sb3VyNi0zOiAjZmViNDAxICFkZWZhdWx0O1xyXG4kY29sb3VyNi0zOiBhZGp1c3QtaHVlKGRhcmtlbigkY29sb3VyNiwgNiUpLCAyMCUpICFkZWZhdWx0O1xyXG4vLyBOb3QgcmVhbGx5IG9yYW5nZSBidXQgZ29pbmcgdG8gcHV0IGl0IGhlcmUgYW55d2F5XHJcbi8vJGNvbG91cjYtMzogI2ZmZjBlYSAhZGVmYXVsdDtcclxuLy8kY29sb3VyNi0yOiBsaWdodGVuKCRjb2xvdXI2LCAzOCUpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEFjY2VudCBDb2xvdXIgMSAtLS1cclxuJGFjY2VudC1jb2xvdXItMTogKFxyXG4gICAgMDogI2MwMDAwMFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjZW50LWNvbG91ci0xOiBtYXAtbWVyZ2UoJGFjY2VudC1jb2xvdXItMSwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkYWNjZW50LWNvbG91ci0xKSk7XHJcblxyXG4vLyAtLS0gQWNjZW50IENvbG91ciAyIC0tLVxyXG4kYWNjZW50LWNvbG91ci0yOiAoXHJcbiAgICAwOiAjMmI1NzlhXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NlbnQtY29sb3VyLTI6IG1hcC1tZXJnZSgkYWNjZW50LWNvbG91ci0yLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCRhY2NlbnQtY29sb3VyLTIpKTtcclxuXHJcbi8vIC0tLSBBY2NlbnQgQ29sb3VyIDMgLS0tXHJcbiRhY2NlbnQtY29sb3VyLTM6IChcclxuICAgIDA6ICNlNWI3MDFcclxuKSAhZGVmYXVsdDtcclxuJGFjY2VudC1jb2xvdXItMzogbWFwLW1lcmdlKCRhY2NlbnQtY29sb3VyLTMsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJGFjY2VudC1jb2xvdXItMykpO1xyXG5cclxuLy8gLS0tIEFjY2VudCBDb2xvdXIgNCAtLS1cclxuJGFjY2VudC1jb2xvdXItNDogKFxyXG4gICAgMDogI2EyMzRlM1xyXG4pICFkZWZhdWx0O1xyXG4kYWNjZW50LWNvbG91ci00OiBtYXAtbWVyZ2UoJGFjY2VudC1jb2xvdXItNCwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkYWNjZW50LWNvbG91ci00KSk7XHJcblxyXG4vLyBTdWNjZXNzXHJcbiRzdWNjZXNzLWNvbG91cjogKFxyXG4gICAgMDogIzEyODExZlxyXG4pICFkZWZhdWx0O1xyXG4kc3VjY2Vzcy1jb2xvdXI6IG1hcC1tZXJnZSgkc3VjY2Vzcy1jb2xvdXIsIGNyZWF0ZS1jb2xvdXItdmFyaWFudHMoJHN1Y2Nlc3MtY29sb3VyKSk7XHJcblxyXG4vLyBXYXJuaW5nIFxyXG4kd2FybmluZy1jb2xvdXI6IChcclxuICAgIDA6ICNmZjVlMDVcclxuKSAhZGVmYXVsdDtcclxuJHdhcm5pbmctY29sb3VyOiBtYXAtbWVyZ2UoJHdhcm5pbmctY29sb3VyLCBjcmVhdGUtY29sb3VyLXZhcmlhbnRzKCR3YXJuaW5nLWNvbG91cikpO1xyXG5cclxuLy8gQWxlcnRcclxuJGFsZXJ0LWNvbG91cjogKFxyXG4gICAgMDogI2IyMGMwY1xyXG4pICFkZWZhdWx0O1xyXG4kYWxlcnQtY29sb3VyOiBtYXAtbWVyZ2UoJGFsZXJ0LWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkYWxlcnQtY29sb3VyKSk7XHJcblxyXG4vLyRhbGVydC1jb2xvdXI6ICNiMjBjMGMgIWRlZmF1bHQ7XHJcbi8vJGFsZXJ0LWNvbG91ci0xOiAjZmVlN2U3ICFkZWZhdWx0O1xyXG5cclxuLy8gVGhpcyBpcyBhIGhhY2sgYW5kIHNob3VsZCB1c2UgZGVwYXJ0bWVudCBjb2xvdXJzLi4uLlxyXG4kZGVwYXJ0bWVudC1zb2Z0d2FyZS1iYXNlLWNvbG91cjogIzY2MzM5OSAhZGVmYXVsdDtcclxuJGRlcGFydG1lbnQtd2ViLWJhc2UtY29sb3VyOiAjNWY3YjI3ICFkZWZhdWx0O1xyXG4kZGVwYXJ0bWVudC10ZWNoLWJhc2UtY29sb3VyOiAjMzM2Njk5IWRlZmF1bHQ7XHJcblxyXG4vLyBTaXRlIHN0eWxlIGNvbG91ciBvdmVycmlkZXMuXHJcbiRzaXRlLXN0eWxlcy1jb2xvdXJzOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEZvbnRzIC0tLS0tIFxyXG4vLyAtLS0gVHlwZ3JhcGhneSAtLS1cclxuLy8gRm9udCBJbXBvcnRzXHJcbiR0eXBvZ3JhcGdoeS1mb250LWZhbWlsaWVzLWNkbi1pbXBvcnQ6IChcclxuICAgIHByaW1hcnktZm9udDogXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCw0MDAsNjAwLDcwMCw4MDAmZGlzcGxheT1zd2FwXCIgLy9PcGVuIFNhbnNcclxuKSAhZGVmYXVsdDtcclxuLy8gTG9vcCB0aHJvdWdoIGVhY2ggZmFtaWx5IGltcG9ydGluZyB0aGVtLlxyXG5AZWFjaCAkZm9udC1mYW1pbHksICRsb2NhdGlvbiBpbiAkdHlwb2dyYXBnaHktZm9udC1mYW1pbGllcy1jZG4taW1wb3J0IHtcclxuICAgIEBpbXBvcnQgdXJsKCRsb2NhdGlvbik7XHJcbn1cclxuXHJcbi8vIEZvbnQgQ29uZmlndXJhdGlvbi5cclxuLy8gV2hlbiBwcm92aWRpbmcgYSBmb250IHN0YWNrIGdpdmUgdGhlIGRlc2lyZWQgZm9udCwgdGhlbiB1c2luZyB0aGUgc2Vjb25kIHBhcmFtdGVyIGFzIHRoZSBmYWxsYmFjayBmb3IgdGhhdCBmb250IHdoaWxzdCBpdHMgbG9hZGluZyBpbiAoIGUuZy4gQXJpYWwgb3IgR2VvbG9naWNhICkgYW5kIHRoZW4gXCJBcmlhbFwiIGFzIHRoZSB0aGlyZCBmb3IgYmVsdCBhbmQgYnJhY2VzLlxyXG4kdHlwb2dyYWdoeS1mb250LWZhbWlsaWVzOiAoXHJcbiAgICBwcmltYXJ5LWZvbnQ6IChcIk9wZW4gU2Fuc1wiLCBcIk9wZW4gU2FucyBGYWxsYmFja1wiLCBcIkFyaWFsXCIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kZm9udC1mYWxsYmFjay1tZXRyaWNzOiAoXHJcbiAgICBwcmltYXJ5OiAoXHJcbiAgICAgICAgZmFsbGJhY2s6ICdBcmlhbCcsXHJcbiAgICAgICAgc2l6ZS1hZGp1c3Q6IDEwOS4wNCUsXHJcbiAgICAgICAgYXNjZW50LW92ZXJyaWRlOiAxMDYuODglLFxyXG4gICAgICAgIGRlc2NlbnQtb3ZlcnJpZGU6IDI5LjMwJSxcclxuICAgICAgICBsaW5lLWdhcC1vdmVycmlkZTogMCVcclxuICAgIClcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBJY29ucyAtLS1cclxuLy8gRm9udCBBd2Vzb21lLlxyXG4kZm9udEF3ZXNvbWVCcmFuZHM6IFwiRm9udCBBd2Vzb21lIEJyYW5kc1wiICFkZWZhdWx0O1xyXG4kZm9udEF3ZXNvbWVTb2xpZDogXCJGb250IEF3ZXNvbWUgU29saWRcIiAhZGVmYXVsdDtcclxuJGZvbnRBd2Vzb21lUmVndWxhcjogXCJGb250IEF3ZXNvbWUgUmVndWxhclwiICFkZWZhdWx0O1xyXG4vLyBAaW1wb3J0IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvZm9udGF3ZXNvbWVcIjtcclxuQGltcG9ydCBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL2JyYW5kc1wiO1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvcmVndWxhclwiO1xyXG5AaW1wb3J0IFwiLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3Mvc29saWRcIjtcclxuLy8gQGltcG9ydCBcIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9AZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtZnJlZS9zY3NzL3Y0LXNoaW1zXCI7XHJcblxyXG5AaWYgbm90ICRlbWFpbFRlbXBsYXRlIHtcclxuICAgIC8vIENvbmZpZ3VyZSB0aGUgcGFnZSBvZiB0aGUgc3RhdGljIGZvbnQgZmlsZXMuXHJcbiAgICAkZmEtZm9udC1wYXRoOiAkc2hhcmVkLXdlYmZvbnRzLWRpcmVjdG9yeSArICdmb250YXdlc29tZS8nO1xyXG4gICAgLy8gQnJhbmRzIEljb25zXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBCcmFuZHMnO1xyXG4gICAgICAgIHNyYzogdXJsKCRmYS1mb250LXBhdGggKyAnZmEtYnJhbmRzLTQwMC53b2ZmMicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1icmFuZHMtNDAwLndvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRmYS1mb250LXBhdGggKyAnZmEtYnJhbmRzLTQwMC50dGYnKTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogbm9ybWFsO1xyXG4gICAgICAgIGZvbnQtZGlzcGxheTogc3dhcDtcclxuICAgIH0gXHJcbiAgICBcclxuICAgIC8vIFNvbGlkIEljb25zXHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSBTb2xpZCc7XHJcbiAgICAgICAgc3JjOiB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1zb2xpZC05MDAud29mZjInKSxcclxuICAgICAgICAgICAgdXJsKCRmYS1mb250LXBhdGggKyAnZmEtc29saWQtOTAwLndvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRmYS1mb250LXBhdGggKyAnZmEtc29saWQtOTAwLnR0ZicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwOyAvLyBUbyBwcmV2ZW50IHNob3dpbmcgaW52aXNpYmxlIGZvbnRzIHdoaWxlIGxvYWRpbmcgY3VzdG9tIGZvbnRzIGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vZG9jcy9saWdodGhvdXNlL3BlcmZvcm1hbmNlL2ZvbnQtZGlzcGxheS8/dXRtX3NvdXJjZT1saWdodGhvdXNlJnV0bV9tZWRpdW09ZGV2dG9vbHNcclxuICAgIH0gXHJcbiAgICAvLyBSZWd1bGFyIEljb25zIFxyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgUmVndWxhcic7XHJcbiAgICAgICAgc3JjOiB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1yZWd1bGFyLTQwMC53b2ZmMicpLFxyXG4gICAgICAgICAgICB1cmwoJGZhLWZvbnQtcGF0aCArICdmYS1yZWd1bGFyLTQwMC53b2ZmJyksXHJcbiAgICAgICAgICAgIHVybCgkZmEtZm9udC1wYXRoICsgJ2ZhLXJlZ3VsYXItNDAwLnR0ZicpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG4gICAgfSBcclxufVxyXG5cclxuLy8gQ3VzdG9tIGljb25zLlxyXG4vLyBEZWZhdWx0IGV4cHJlc3MgaWNvbiBmb250IGZhbWlseS5cclxuJGV4cHJlc3MtZGVmYXVsdC1pY29uczogJ2ZvbnRlbGxvJyAhZGVmYXVsdDtcclxuJGRlZmF1bHQtaWNvbnMtZm9udC1wYXRoOiAkc2hhcmVkLXdlYmZvbnRzLWRpcmVjdG9yeSArICdmb250ZWxsby1leHByZXNzLyc7XHJcbi8vIERlZmF1bHQgZXhwcmVzcyBpY29ucy5cclxuQGlmIG5vdCAkZW1haWxUZW1wbGF0ZSB7XHJcbiAgICBAZm9udC1mYWNlIHtcclxuICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICBzcmM6IHVybCgkZGVmYXVsdC1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8uZW90JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4gICAgICAgICAgICB1cmwoJGRlZmF1bHQtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLnN2ZycpIGZvcm1hdCgnc3ZnJyksXHJcbiAgICAgICAgICAgIHVybCgkZGVmYXVsdC1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8udHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgICAgICB1cmwoJGRlZmF1bHQtaWNvbnMtZm9udC1wYXRoICsgJ2ZvbnRlbGxvLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgICAgICAgdXJsKCRkZWZhdWx0LWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICB9XHJcbn1cclxuLy8gU2l0ZSBzcGVjaWZpYyBpY29ucyBmb250LlxyXG4kc2l0ZS1zcGVjaWZpYy1pY29ucy1lbmFibGVkOiBmYWxzZSAhZGVmYXVsdDtcclxuJHNpdGUtc3BlY2lmaWMtaWNvbnMtZm9udC1mYW1pbHk6ICdmb250ZWxsby0nICsgJHNpdGUgIWRlZmF1bHQ7XHJcbiRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aDogJHNoYXJlZC13ZWJmb250cy1kaXJlY3RvcnkgKyAnZm9udGVsbG8tJyArICRzaXRlICsgXCIvXCIgIWRlZmF1bHQ7XHJcbi8vIEdldCBzaXRlIHNwZWNpZmMgaWNvbiBmb250IGZhbWlseS5cclxuQGlmICRzaXRlLXNwZWNpZmljLWljb25zLWVuYWJsZWQge1xyXG4gICAgQGZvbnQtZmFjZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIHNyYzogdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLmVvdCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgICAgICAgdXJsKCRzaXRlLXNwZWNpZmljLWljb25zLWZvbnQtcGF0aCArICdmb250ZWxsby0nICsgJHNpdGUgKyAnLnN2ZycpIGZvcm1hdCgnc3ZnJyksXHJcbiAgICAgICAgICAgIHVybCgkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8tJyArICRzaXRlICsgJy50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgICAgICAgIHVybCgkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8tJyArICRzaXRlICsgJy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICAgICAgICAgIHVybCgkc2l0ZS1zcGVjaWZpYy1pY29ucy1mb250LXBhdGggKyAnZm9udGVsbG8tJyArICRzaXRlICsgJy53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcclxuICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbiAgICB9XHJcbn1cclxuLy8gSWYgZW1haWwgdGVtcGxhdGUgdGhlbiBmb3JjZSBmb250IGZhbWlseSB0byBiZSBPcGVuIFNhbnMgZHVlIG5vdCBiZWluZyBhYmxlIHRvIGluamVjdCBjdXN0b20gZm9udCBmYW1pbGllcyBpbnRvIGVtYWlsIHRlbXBsYXRlcy5cclxuQGlmICRlbWFpbFRlbXBsYXRlIHtcclxuICAgICR0eXBvZ3JhZ2h5LWZvbnQtZmFtaWxpZXM6IChcclxuICAgICAgICBwcmltYXJ5LWZvbnQ6IChcIk9wZW4gU2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiQXJpYWxcIilcclxuICAgICk7XHJcbn1cclxuXHJcbi8vLS0tIEJvcmRlciBSYWRpdXMgUHJlc2V0cyAtLS1cclxuJGJvcmRlclJhZGl1czE6IDVweCAhZGVmYXVsdDtcclxuJGJvcmRlclJhZGl1czI6ICgkYm9yZGVyUmFkaXVzMSAqIDUpICFkZWZhdWx0O1xyXG5cclxuLy8tLS0gVHJhbnNpdGlvbiBUaW1pbmdzIC0tLVxyXG4kdHJhbnNpdGlvbkludHJvOiAwLjZzICFkZWZhdWx0O1xyXG4kdHJhbnNpdGlvbk91dHJvOiAwLjhzICFkZWZhdWx0O1xyXG5cclxuLy8tLS0gS25vY2tiYWNrIFByZXNldHMgLS0tXHJcbiRrbm9ja0JhY2sxOiAwLjYgIWRlZmF1bHQ7XHJcbiRrbm9ja0JhY2syOiAwLjkgIWRlZmF1bHQ7XHJcblxyXG4vLy0tLSBCb3ggU2hhZG93cyAtLS1cclxuJGJveFNoYWRvdzE6IDBweCAycHggNHB4IDFweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSkgIWRlZmF1bHQ7XHJcbiRib3hTaGFkb3cyOiAwcHggMnB4IDRweCAxcHggcmdiYSgxMiwgMTIsIDEzLCAwLjMpICFkZWZhdWx0O1xyXG4kYm94U2hhZG93MzogMnB4IC0zcHggMjBweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjIyKSAhZGVmYXVsdDtcclxuJGJveFNoYWRvdzQ6IDJweCAtM3B4IDIwcHggMXB4IHJnYmEoMTIsIDEyLCAxMywgOSUpICFkZWZhdWx0OyIsIi8qIVxuICogRm9udCBBd2Vzb21lIEZyZWUgNi41LjEgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb21cbiAqIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgKEljb25zOiBDQyBCWSA0LjAsIEZvbnRzOiBTSUwgT0ZMIDEuMSwgQ29kZTogTUlUIExpY2Vuc2UpXG4gKiBDb3B5cmlnaHQgMjAyMyBGb250aWNvbnMsIEluYy5cbiAqL1xuQGltcG9ydCAnZnVuY3Rpb25zJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cbjpyb290LCA6aG9zdCB7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tc3R5bGUtZmFtaWx5LWJyYW5kczogJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tZm9udC1icmFuZHM6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA2IEJyYW5kcyc7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1kaXNwbGF5OiAkZmEtZm9udC1kaXNwbGF5O1xuICBzcmM6IHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1icmFuZHMtNDAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuLmZhYixcbi4jeyRmYS1jc3MtcHJlZml4fS1icmFuZHMge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AZWFjaCAkbmFtZSwgJGljb24gaW4gJGZhLWJyYW5kLWljb25zIHtcbiAgLiN7JGZhLWNzcy1wcmVmaXh9LSN7JG5hbWV9OmJlZm9yZSB7IGNvbnRlbnQ6IHVucXVvdGUoXCJcXFwiI3sgJGljb24gfVxcXCJcIik7IH1cbn1cbiIsIi8vIHZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZhLWNzcy1wcmVmaXggICAgICAgICAgOiBmYSAhZGVmYXVsdDtcbiRmYS1zdHlsZSAgICAgICAgICAgICAgIDogOTAwICFkZWZhdWx0O1xuJGZhLXN0eWxlLWZhbWlseSAgICAgICAgOiBcIkZvbnQgQXdlc29tZSA2IEZyZWVcIiAhZGVmYXVsdDtcblxuJGZhLWRpc3BsYXkgICAgICAgICAgICAgOiBpbmxpbmUtYmxvY2sgIWRlZmF1bHQ7XG5cbiRmYS1mdy13aWR0aCAgICAgICAgICAgIDogZmEtZGl2aWRlKDIwZW0sIDE2KSAhZGVmYXVsdDtcbiRmYS1pbnZlcnNlICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcblxuJGZhLWJvcmRlci1jb2xvciAgICAgICAgOiAjZWVlICFkZWZhdWx0O1xuJGZhLWJvcmRlci1wYWRkaW5nICAgICAgOiAuMmVtIC4yNWVtIC4xNWVtICFkZWZhdWx0O1xuJGZhLWJvcmRlci1yYWRpdXMgICAgICAgOiAuMWVtICFkZWZhdWx0O1xuJGZhLWJvcmRlci1zdHlsZSAgICAgICAgOiBzb2xpZCAhZGVmYXVsdDtcbiRmYS1ib3JkZXItd2lkdGggICAgICAgIDogLjA4ZW0gIWRlZmF1bHQ7XG5cbiRmYS1zaXplLXNjYWxlLTJ4cyAgICAgIDogMTAgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS14cyAgICAgICA6IDEyICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUtc20gICAgICAgOiAxNCAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLWJhc2UgICAgIDogMTYgIWRlZmF1bHQ7XG4kZmEtc2l6ZS1zY2FsZS1sZyAgICAgICA6IDIwICFkZWZhdWx0O1xuJGZhLXNpemUtc2NhbGUteGwgICAgICAgOiAyNCAhZGVmYXVsdDtcbiRmYS1zaXplLXNjYWxlLTJ4bCAgICAgIDogMzIgIWRlZmF1bHQ7XG5cbiRmYS1zaXplczogKFxuICBcIjJ4c1wiICAgICAgICAgICAgICAgICA6ICRmYS1zaXplLXNjYWxlLTJ4cyxcbiAgXCJ4c1wiICAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS14cyxcbiAgXCJzbVwiICAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS1zbSxcbiAgXCJsZ1wiICAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS1sZyxcbiAgXCJ4bFwiICAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS14bCxcbiAgXCIyeGxcIiAgICAgICAgICAgICAgICAgOiAkZmEtc2l6ZS1zY2FsZS0yeGxcbikgIWRlZmF1bHQ7XG5cbiRmYS1saS13aWR0aCAgICAgICAgICAgIDogMmVtICFkZWZhdWx0O1xuJGZhLWxpLW1hcmdpbiAgICAgICAgICAgOiAkZmEtbGktd2lkdGggKiBmYS1kaXZpZGUoNSwgNCkgIWRlZmF1bHQ7XG5cbiRmYS1wdWxsLW1hcmdpbiAgICAgICAgIDogLjNlbSAhZGVmYXVsdDtcblxuJGZhLXByaW1hcnktb3BhY2l0eSAgICAgOiAxICFkZWZhdWx0O1xuJGZhLXNlY29uZGFyeS1vcGFjaXR5ICAgOiAuNCAhZGVmYXVsdDtcblxuJGZhLXN0YWNrLXZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWRlZmF1bHQ7XG4kZmEtc3RhY2std2lkdGggICAgICAgICA6ICgkZmEtZnctd2lkdGggKiAyKSAhZGVmYXVsdDtcbiRmYS1zdGFjay16LWluZGV4ICAgICAgIDogYXV0byAhZGVmYXVsdDtcblxuJGZhLWZvbnQtZGlzcGxheSAgICAgICAgOiBibG9jayAhZGVmYXVsdDtcbiRmYS1mb250LXBhdGggICAgICAgICAgIDogXCIuLi93ZWJmb250c1wiICFkZWZhdWx0O1xuXG4kZmEtdmFyLTA6IFxcMzA7XG4kZmEtdmFyLTE6IFxcMzE7XG4kZmEtdmFyLTI6IFxcMzI7XG4kZmEtdmFyLTM6IFxcMzM7XG4kZmEtdmFyLTQ6IFxcMzQ7XG4kZmEtdmFyLTU6IFxcMzU7XG4kZmEtdmFyLTY6IFxcMzY7XG4kZmEtdmFyLTc6IFxcMzc7XG4kZmEtdmFyLTg6IFxcMzg7XG4kZmEtdmFyLTk6IFxcMzk7XG4kZmEtdmFyLWZpbGwtZHJpcDogXFxmNTc2O1xuJGZhLXZhci1hcnJvd3MtdG8tY2lyY2xlOiBcXGU0YmQ7XG4kZmEtdmFyLWNpcmNsZS1jaGV2cm9uLXJpZ2h0OiBcXGYxMzg7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXJpZ2h0OiBcXGYxMzg7XG4kZmEtdmFyLWF0OiBcXDQwO1xuJGZhLXZhci10cmFzaC1jYW46IFxcZjJlZDtcbiRmYS12YXItdHJhc2gtYWx0OiBcXGYyZWQ7XG4kZmEtdmFyLXRleHQtaGVpZ2h0OiBcXGYwMzQ7XG4kZmEtdmFyLXVzZXIteG1hcms6IFxcZjIzNTtcbiRmYS12YXItdXNlci10aW1lczogXFxmMjM1O1xuJGZhLXZhci1zdGV0aG9zY29wZTogXFxmMGYxO1xuJGZhLXZhci1tZXNzYWdlOiBcXGYyN2E7XG4kZmEtdmFyLWNvbW1lbnQtYWx0OiBcXGYyN2E7XG4kZmEtdmFyLWluZm86IFxcZjEyOTtcbiRmYS12YXItZG93bi1sZWZ0LWFuZC11cC1yaWdodC10by1jZW50ZXI6IFxcZjQyMjtcbiRmYS12YXItY29tcHJlc3MtYWx0OiBcXGY0MjI7XG4kZmEtdmFyLWV4cGxvc2lvbjogXFxlNGU5O1xuJGZhLXZhci1maWxlLWxpbmVzOiBcXGYxNWM7XG4kZmEtdmFyLWZpbGUtYWx0OiBcXGYxNWM7XG4kZmEtdmFyLWZpbGUtdGV4dDogXFxmMTVjO1xuJGZhLXZhci13YXZlLXNxdWFyZTogXFxmODNlO1xuJGZhLXZhci1yaW5nOiBcXGY3MGI7XG4kZmEtdmFyLWJ1aWxkaW5nLXVuOiBcXGU0ZDk7XG4kZmEtdmFyLWRpY2UtdGhyZWU6IFxcZjUyNztcbiRmYS12YXItY2FsZW5kYXItZGF5czogXFxmMDczO1xuJGZhLXZhci1jYWxlbmRhci1hbHQ6IFxcZjA3MztcbiRmYS12YXItYW5jaG9yLWNpcmNsZS1jaGVjazogXFxlNGFhO1xuJGZhLXZhci1idWlsZGluZy1jaXJjbGUtYXJyb3ctcmlnaHQ6IFxcZTRkMTtcbiRmYS12YXItdm9sbGV5YmFsbDogXFxmNDVmO1xuJGZhLXZhci12b2xsZXliYWxsLWJhbGw6IFxcZjQ1ZjtcbiRmYS12YXItYXJyb3dzLXVwLXRvLWxpbmU6IFxcZTRjMjtcbiRmYS12YXItc29ydC1kb3duOiBcXGYwZGQ7XG4kZmEtdmFyLXNvcnQtZGVzYzogXFxmMGRkO1xuJGZhLXZhci1jaXJjbGUtbWludXM6IFxcZjA1NjtcbiRmYS12YXItbWludXMtY2lyY2xlOiBcXGYwNTY7XG4kZmEtdmFyLWRvb3Itb3BlbjogXFxmNTJiO1xuJGZhLXZhci1yaWdodC1mcm9tLWJyYWNrZXQ6IFxcZjJmNTtcbiRmYS12YXItc2lnbi1vdXQtYWx0OiBcXGYyZjU7XG4kZmEtdmFyLWF0b206IFxcZjVkMjtcbiRmYS12YXItc29hcDogXFxlMDZlO1xuJGZhLXZhci1pY29uczogXFxmODZkO1xuJGZhLXZhci1oZWFydC1tdXNpYy1jYW1lcmEtYm9sdDogXFxmODZkO1xuJGZhLXZhci1taWNyb3Bob25lLWxpbmVzLXNsYXNoOiBcXGY1Mzk7XG4kZmEtdmFyLW1pY3JvcGhvbmUtYWx0LXNsYXNoOiBcXGY1Mzk7XG4kZmEtdmFyLWJyaWRnZS1jaXJjbGUtY2hlY2s6IFxcZTRjOTtcbiRmYS12YXItcHVtcC1tZWRpY2FsOiBcXGUwNmE7XG4kZmEtdmFyLWZpbmdlcnByaW50OiBcXGY1Nzc7XG4kZmEtdmFyLWhhbmQtcG9pbnQtcmlnaHQ6IFxcZjBhNDtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1sb2NhdGlvbjogXFxmNjg5O1xuJGZhLXZhci1zZWFyY2gtbG9jYXRpb246IFxcZjY4OTtcbiRmYS12YXItZm9yd2FyZC1zdGVwOiBcXGYwNTE7XG4kZmEtdmFyLXN0ZXAtZm9yd2FyZDogXFxmMDUxO1xuJGZhLXZhci1mYWNlLXNtaWxlLWJlYW06IFxcZjViODtcbiRmYS12YXItc21pbGUtYmVhbTogXFxmNWI4O1xuJGZhLXZhci1mbGFnLWNoZWNrZXJlZDogXFxmMTFlO1xuJGZhLXZhci1mb290YmFsbDogXFxmNDRlO1xuJGZhLXZhci1mb290YmFsbC1iYWxsOiBcXGY0NGU7XG4kZmEtdmFyLXNjaG9vbC1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTU2YztcbiRmYS12YXItY3JvcDogXFxmMTI1O1xuJGZhLXZhci1hbmdsZXMtZG93bjogXFxmMTAzO1xuJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bjogXFxmMTAzO1xuJGZhLXZhci11c2Vycy1yZWN0YW5nbGU6IFxcZTU5NDtcbiRmYS12YXItcGVvcGxlLXJvb2Y6IFxcZTUzNztcbiRmYS12YXItcGVvcGxlLWxpbmU6IFxcZTUzNDtcbiRmYS12YXItYmVlci1tdWctZW1wdHk6IFxcZjBmYztcbiRmYS12YXItYmVlcjogXFxmMGZjO1xuJGZhLXZhci1kaWFncmFtLXByZWRlY2Vzc29yOiBcXGU0Nzc7XG4kZmEtdmFyLWFycm93LXVwLWxvbmc6IFxcZjE3NjtcbiRmYS12YXItbG9uZy1hcnJvdy11cDogXFxmMTc2O1xuJGZhLXZhci1maXJlLWZsYW1lLXNpbXBsZTogXFxmNDZhO1xuJGZhLXZhci1idXJuOiBcXGY0NmE7XG4kZmEtdmFyLXBlcnNvbjogXFxmMTgzO1xuJGZhLXZhci1tYWxlOiBcXGYxODM7XG4kZmEtdmFyLWxhcHRvcDogXFxmMTA5O1xuJGZhLXZhci1maWxlLWNzdjogXFxmNmRkO1xuJGZhLXZhci1tZW5vcmFoOiBcXGY2NzY7XG4kZmEtdmFyLXRydWNrLXBsYW5lOiBcXGU1OGY7XG4kZmEtdmFyLXJlY29yZC12aW55bDogXFxmOGQ5O1xuJGZhLXZhci1mYWNlLWdyaW4tc3RhcnM6IFxcZjU4NztcbiRmYS12YXItZ3Jpbi1zdGFyczogXFxmNTg3O1xuJGZhLXZhci1ib25nOiBcXGY1NWM7XG4kZmEtdmFyLXNwYWdoZXR0aS1tb25zdGVyLWZseWluZzogXFxmNjdiO1xuJGZhLXZhci1wYXN0YWZhcmlhbmlzbTogXFxmNjdiO1xuJGZhLXZhci1hcnJvdy1kb3duLXVwLWFjcm9zcy1saW5lOiBcXGU0YWY7XG4kZmEtdmFyLXNwb29uOiBcXGYyZTU7XG4kZmEtdmFyLXV0ZW5zaWwtc3Bvb246IFxcZjJlNTtcbiRmYS12YXItamFyLXdoZWF0OiBcXGU1MTc7XG4kZmEtdmFyLWVudmVsb3Blcy1idWxrOiBcXGY2NzQ7XG4kZmEtdmFyLW1haWwtYnVsazogXFxmNjc0O1xuJGZhLXZhci1maWxlLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNGViO1xuJGZhLXZhci1jaXJjbGUtaDogXFxmNDdlO1xuJGZhLXZhci1ob3NwaXRhbC1zeW1ib2w6IFxcZjQ3ZTtcbiRmYS12YXItcGFnZXI6IFxcZjgxNTtcbiRmYS12YXItYWRkcmVzcy1ib29rOiBcXGYyYjk7XG4kZmEtdmFyLWNvbnRhY3QtYm9vazogXFxmMmI5O1xuJGZhLXZhci1zdHJpa2V0aHJvdWdoOiBcXGYwY2M7XG4kZmEtdmFyLWs6IFxcNGI7XG4kZmEtdmFyLWxhbmRtYXJrLWZsYWc6IFxcZTUxYztcbiRmYS12YXItcGVuY2lsOiBcXGYzMDM7XG4kZmEtdmFyLXBlbmNpbC1hbHQ6IFxcZjMwMztcbiRmYS12YXItYmFja3dhcmQ6IFxcZjA0YTtcbiRmYS12YXItY2FyZXQtcmlnaHQ6IFxcZjBkYTtcbiRmYS12YXItY29tbWVudHM6IFxcZjA4NjtcbiRmYS12YXItcGFzdGU6IFxcZjBlYTtcbiRmYS12YXItZmlsZS1jbGlwYm9hcmQ6IFxcZjBlYTtcbiRmYS12YXItY29kZS1wdWxsLXJlcXVlc3Q6IFxcZTEzYztcbiRmYS12YXItY2xpcGJvYXJkLWxpc3Q6IFxcZjQ2ZDtcbiRmYS12YXItdHJ1Y2stcmFtcC1ib3g6IFxcZjRkZTtcbiRmYS12YXItdHJ1Y2stbG9hZGluZzogXFxmNGRlO1xuJGZhLXZhci11c2VyLWNoZWNrOiBcXGY0ZmM7XG4kZmEtdmFyLXZpYWwtdmlydXM6IFxcZTU5NztcbiRmYS12YXItc2hlZXQtcGxhc3RpYzogXFxlNTcxO1xuJGZhLXZhci1ibG9nOiBcXGY3ODE7XG4kZmEtdmFyLXVzZXItbmluamE6IFxcZjUwNDtcbiRmYS12YXItcGVyc29uLWFycm93LXVwLWZyb20tbGluZTogXFxlNTM5O1xuJGZhLXZhci1zY3JvbGwtdG9yYWg6IFxcZjZhMDtcbiRmYS12YXItdG9yYWg6IFxcZjZhMDtcbiRmYS12YXItYnJvb20tYmFsbDogXFxmNDU4O1xuJGZhLXZhci1xdWlkZGl0Y2g6IFxcZjQ1ODtcbiRmYS12YXItcXVpZGRpdGNoLWJyb29tLWJhbGw6IFxcZjQ1ODtcbiRmYS12YXItdG9nZ2xlLW9mZjogXFxmMjA0O1xuJGZhLXZhci1ib3gtYXJjaGl2ZTogXFxmMTg3O1xuJGZhLXZhci1hcmNoaXZlOiBcXGYxODc7XG4kZmEtdmFyLXBlcnNvbi1kcm93bmluZzogXFxlNTQ1O1xuJGZhLXZhci1hcnJvdy1kb3duLTktMTogXFxmODg2O1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZGVzYzogXFxmODg2O1xuJGZhLXZhci1zb3J0LW51bWVyaWMtZG93bi1hbHQ6IFxcZjg4NjtcbiRmYS12YXItZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnQ6IFxcZjU4YTtcbiRmYS12YXItZ3Jpbi10b25ndWUtc3F1aW50OiBcXGY1OGE7XG4kZmEtdmFyLXNwcmF5LWNhbjogXFxmNWJkO1xuJGZhLXZhci10cnVjay1tb25zdGVyOiBcXGY2M2I7XG4kZmEtdmFyLXc6IFxcNTc7XG4kZmEtdmFyLWVhcnRoLWFmcmljYTogXFxmNTdjO1xuJGZhLXZhci1nbG9iZS1hZnJpY2E6IFxcZjU3YztcbiRmYS12YXItcmFpbmJvdzogXFxmNzViO1xuJGZhLXZhci1jaXJjbGUtbm90Y2g6IFxcZjFjZTtcbiRmYS12YXItdGFibGV0LXNjcmVlbi1idXR0b246IFxcZjNmYTtcbiRmYS12YXItdGFibGV0LWFsdDogXFxmM2ZhO1xuJGZhLXZhci1wYXc6IFxcZjFiMDtcbiRmYS12YXItY2xvdWQ6IFxcZjBjMjtcbiRmYS12YXItdHJvd2VsLWJyaWNrczogXFxlNThhO1xuJGZhLXZhci1mYWNlLWZsdXNoZWQ6IFxcZjU3OTtcbiRmYS12YXItZmx1c2hlZDogXFxmNTc5O1xuJGZhLXZhci1ob3NwaXRhbC11c2VyOiBcXGY4MGQ7XG4kZmEtdmFyLXRlbnQtYXJyb3ctbGVmdC1yaWdodDogXFxlNTdmO1xuJGZhLXZhci1nYXZlbDogXFxmMGUzO1xuJGZhLXZhci1sZWdhbDogXFxmMGUzO1xuJGZhLXZhci1iaW5vY3VsYXJzOiBcXGYxZTU7XG4kZmEtdmFyLW1pY3JvcGhvbmUtc2xhc2g6IFxcZjEzMTtcbiRmYS12YXItYm94LXRpc3N1ZTogXFxlMDViO1xuJGZhLXZhci1tb3RvcmN5Y2xlOiBcXGYyMWM7XG4kZmEtdmFyLWJlbGwtY29uY2llcmdlOiBcXGY1NjI7XG4kZmEtdmFyLWNvbmNpZXJnZS1iZWxsOiBcXGY1NjI7XG4kZmEtdmFyLXBlbi1ydWxlcjogXFxmNWFlO1xuJGZhLXZhci1wZW5jaWwtcnVsZXI6IFxcZjVhZTtcbiRmYS12YXItcGVvcGxlLWFycm93czogXFxlMDY4O1xuJGZhLXZhci1wZW9wbGUtYXJyb3dzLWxlZnQtcmlnaHQ6IFxcZTA2ODtcbiRmYS12YXItbWFycy1hbmQtdmVudXMtYnVyc3Q6IFxcZTUyMztcbiRmYS12YXItc3F1YXJlLWNhcmV0LXJpZ2h0OiBcXGYxNTI7XG4kZmEtdmFyLWNhcmV0LXNxdWFyZS1yaWdodDogXFxmMTUyO1xuJGZhLXZhci1zY2lzc29yczogXFxmMGM0O1xuJGZhLXZhci1jdXQ6IFxcZjBjNDtcbiRmYS12YXItc3VuLXBsYW50LXdpbHQ6IFxcZTU3YTtcbiRmYS12YXItdG9pbGV0cy1wb3J0YWJsZTogXFxlNTg0O1xuJGZhLXZhci1ob2NrZXktcHVjazogXFxmNDUzO1xuJGZhLXZhci10YWJsZTogXFxmMGNlO1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWFycm93LXJpZ2h0OiBcXGU1MjE7XG4kZmEtdmFyLXRhY2hvZ3JhcGgtZGlnaXRhbDogXFxmNTY2O1xuJGZhLXZhci1kaWdpdGFsLXRhY2hvZ3JhcGg6IFxcZjU2NjtcbiRmYS12YXItdXNlcnMtc2xhc2g6IFxcZTA3MztcbiRmYS12YXItY2xvdmVyOiBcXGUxMzk7XG4kZmEtdmFyLXJlcGx5OiBcXGYzZTU7XG4kZmEtdmFyLW1haWwtcmVwbHk6IFxcZjNlNTtcbiRmYS12YXItc3Rhci1hbmQtY3Jlc2NlbnQ6IFxcZjY5OTtcbiRmYS12YXItaG91c2UtZmlyZTogXFxlNTBjO1xuJGZhLXZhci1zcXVhcmUtbWludXM6IFxcZjE0NjtcbiRmYS12YXItbWludXMtc3F1YXJlOiBcXGYxNDY7XG4kZmEtdmFyLWhlbGljb3B0ZXI6IFxcZjUzMztcbiRmYS12YXItY29tcGFzczogXFxmMTRlO1xuJGZhLXZhci1zcXVhcmUtY2FyZXQtZG93bjogXFxmMTUwO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtZG93bjogXFxmMTUwO1xuJGZhLXZhci1maWxlLWNpcmNsZS1xdWVzdGlvbjogXFxlNGVmO1xuJGZhLXZhci1sYXB0b3AtY29kZTogXFxmNWZjO1xuJGZhLXZhci1zd2F0Y2hib29rOiBcXGY1YzM7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGU6IFxcZjQ4NTtcbiRmYS12YXItYmFyczogXFxmMGM5O1xuJGZhLXZhci1uYXZpY29uOiBcXGYwYzk7XG4kZmEtdmFyLXBlb3BsZS1ncm91cDogXFxlNTMzO1xuJGZhLXZhci1ob3VyZ2xhc3MtZW5kOiBcXGYyNTM7XG4kZmEtdmFyLWhvdXJnbGFzcy0zOiBcXGYyNTM7XG4kZmEtdmFyLWhlYXJ0LWNyYWNrOiBcXGY3YTk7XG4kZmEtdmFyLWhlYXJ0LWJyb2tlbjogXFxmN2E5O1xuJGZhLXZhci1zcXVhcmUtdXAtcmlnaHQ6IFxcZjM2MDtcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0OiBcXGYzNjA7XG4kZmEtdmFyLWZhY2Uta2lzcy1iZWFtOiBcXGY1OTc7XG4kZmEtdmFyLWtpc3MtYmVhbTogXFxmNTk3O1xuJGZhLXZhci1maWxtOiBcXGYwMDg7XG4kZmEtdmFyLXJ1bGVyLWhvcml6b250YWw6IFxcZjU0NztcbiRmYS12YXItcGVvcGxlLXJvYmJlcnk6IFxcZTUzNjtcbiRmYS12YXItbGlnaHRidWxiOiBcXGYwZWI7XG4kZmEtdmFyLWNhcmV0LWxlZnQ6IFxcZjBkOTtcbiRmYS12YXItY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGYwNmE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLWNpcmNsZTogXFxmMDZhO1xuJGZhLXZhci1zY2hvb2wtY2lyY2xlLXhtYXJrOiBcXGU1NmQ7XG4kZmEtdmFyLWFycm93LXJpZ2h0LWZyb20tYnJhY2tldDogXFxmMDhiO1xuJGZhLXZhci1zaWduLW91dDogXFxmMDhiO1xuJGZhLXZhci1jaXJjbGUtY2hldnJvbi1kb3duOiBcXGYxM2E7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd246IFxcZjEzYTtcbiRmYS12YXItdW5sb2NrLWtleWhvbGU6IFxcZjEzZTtcbiRmYS12YXItdW5sb2NrLWFsdDogXFxmMTNlO1xuJGZhLXZhci1jbG91ZC1zaG93ZXJzLWhlYXZ5OiBcXGY3NDA7XG4kZmEtdmFyLWhlYWRwaG9uZXMtc2ltcGxlOiBcXGY1OGY7XG4kZmEtdmFyLWhlYWRwaG9uZXMtYWx0OiBcXGY1OGY7XG4kZmEtdmFyLXNpdGVtYXA6IFxcZjBlODtcbiRmYS12YXItY2lyY2xlLWRvbGxhci10by1zbG90OiBcXGY0Yjk7XG4kZmEtdmFyLWRvbmF0ZTogXFxmNGI5O1xuJGZhLXZhci1tZW1vcnk6IFxcZjUzODtcbiRmYS12YXItcm9hZC1zcGlrZXM6IFxcZTU2ODtcbiRmYS12YXItZmlyZS1idXJuZXI6IFxcZTRmMTtcbiRmYS12YXItZmxhZzogXFxmMDI0O1xuJGZhLXZhci1oYW51a2lhaDogXFxmNmU2O1xuJGZhLXZhci1mZWF0aGVyOiBcXGY1MmQ7XG4kZmEtdmFyLXZvbHVtZS1sb3c6IFxcZjAyNztcbiRmYS12YXItdm9sdW1lLWRvd246IFxcZjAyNztcbiRmYS12YXItY29tbWVudC1zbGFzaDogXFxmNGIzO1xuJGZhLXZhci1jbG91ZC1zdW4tcmFpbjogXFxmNzQzO1xuJGZhLXZhci1jb21wcmVzczogXFxmMDY2O1xuJGZhLXZhci13aGVhdC1hd246IFxcZTJjZDtcbiRmYS12YXItd2hlYXQtYWx0OiBcXGUyY2Q7XG4kZmEtdmFyLWFua2g6IFxcZjY0NDtcbiRmYS12YXItaGFuZHMtaG9sZGluZy1jaGlsZDogXFxlNGZhO1xuJGZhLXZhci1hc3RlcmlzazogXFwyYTtcbiRmYS12YXItc3F1YXJlLWNoZWNrOiBcXGYxNGE7XG4kZmEtdmFyLWNoZWNrLXNxdWFyZTogXFxmMTRhO1xuJGZhLXZhci1wZXNldGEtc2lnbjogXFxlMjIxO1xuJGZhLXZhci1oZWFkaW5nOiBcXGYxZGM7XG4kZmEtdmFyLWhlYWRlcjogXFxmMWRjO1xuJGZhLXZhci1naG9zdDogXFxmNmUyO1xuJGZhLXZhci1saXN0OiBcXGYwM2E7XG4kZmEtdmFyLWxpc3Qtc3F1YXJlczogXFxmMDNhO1xuJGZhLXZhci1zcXVhcmUtcGhvbmUtZmxpcDogXFxmODdiO1xuJGZhLXZhci1waG9uZS1zcXVhcmUtYWx0OiBcXGY4N2I7XG4kZmEtdmFyLWNhcnQtcGx1czogXFxmMjE3O1xuJGZhLXZhci1nYW1lcGFkOiBcXGYxMWI7XG4kZmEtdmFyLWNpcmNsZS1kb3Q6IFxcZjE5MjtcbiRmYS12YXItZG90LWNpcmNsZTogXFxmMTkyO1xuJGZhLXZhci1mYWNlLWRpenp5OiBcXGY1Njc7XG4kZmEtdmFyLWRpenp5OiBcXGY1Njc7XG4kZmEtdmFyLWVnZzogXFxmN2ZiO1xuJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS14bWFyazogXFxlNTEzO1xuJGZhLXZhci1jYW1wZ3JvdW5kOiBcXGY2YmI7XG4kZmEtdmFyLWZvbGRlci1wbHVzOiBcXGY2NWU7XG4kZmEtdmFyLWZ1dGJvbDogXFxmMWUzO1xuJGZhLXZhci1mdXRib2wtYmFsbDogXFxmMWUzO1xuJGZhLXZhci1zb2NjZXItYmFsbDogXFxmMWUzO1xuJGZhLXZhci1wYWludGJydXNoOiBcXGYxZmM7XG4kZmEtdmFyLXBhaW50LWJydXNoOiBcXGYxZmM7XG4kZmEtdmFyLWxvY2s6IFxcZjAyMztcbiRmYS12YXItZ2FzLXB1bXA6IFxcZjUyZjtcbiRmYS12YXItaG90LXR1Yi1wZXJzb246IFxcZjU5MztcbiRmYS12YXItaG90LXR1YjogXFxmNTkzO1xuJGZhLXZhci1tYXAtbG9jYXRpb246IFxcZjU5ZjtcbiRmYS12YXItbWFwLW1hcmtlZDogXFxmNTlmO1xuJGZhLXZhci1ob3VzZS1mbG9vZC13YXRlcjogXFxlNTBlO1xuJGZhLXZhci10cmVlOiBcXGYxYmI7XG4kZmEtdmFyLWJyaWRnZS1sb2NrOiBcXGU0Y2M7XG4kZmEtdmFyLXNhY2stZG9sbGFyOiBcXGY4MWQ7XG4kZmEtdmFyLXBlbi10by1zcXVhcmU6IFxcZjA0NDtcbiRmYS12YXItZWRpdDogXFxmMDQ0O1xuJGZhLXZhci1jYXItc2lkZTogXFxmNWU0O1xuJGZhLXZhci1zaGFyZS1ub2RlczogXFxmMWUwO1xuJGZhLXZhci1zaGFyZS1hbHQ6IFxcZjFlMDtcbiRmYS12YXItaGVhcnQtY2lyY2xlLW1pbnVzOiBcXGU0ZmY7XG4kZmEtdmFyLWhvdXJnbGFzcy1oYWxmOiBcXGYyNTI7XG4kZmEtdmFyLWhvdXJnbGFzcy0yOiBcXGYyNTI7XG4kZmEtdmFyLW1pY3Jvc2NvcGU6IFxcZjYxMDtcbiRmYS12YXItc2luazogXFxlMDZkO1xuJGZhLXZhci1iYWctc2hvcHBpbmc6IFxcZjI5MDtcbiRmYS12YXItc2hvcHBpbmctYmFnOiBcXGYyOTA7XG4kZmEtdmFyLWFycm93LWRvd24tei1hOiBcXGY4ODE7XG4kZmEtdmFyLXNvcnQtYWxwaGEtZGVzYzogXFxmODgxO1xuJGZhLXZhci1zb3J0LWFscGhhLWRvd24tYWx0OiBcXGY4ODE7XG4kZmEtdmFyLW1pdHRlbjogXFxmN2I1O1xuJGZhLXZhci1wZXJzb24tcmF5czogXFxlNTRkO1xuJGZhLXZhci11c2VyczogXFxmMGMwO1xuJGZhLXZhci1leWUtc2xhc2g6IFxcZjA3MDtcbiRmYS12YXItZmxhc2stdmlhbDogXFxlNGYzO1xuJGZhLXZhci1oYW5kOiBcXGYyNTY7XG4kZmEtdmFyLWhhbmQtcGFwZXI6IFxcZjI1NjtcbiRmYS12YXItb206IFxcZjY3OTtcbiRmYS12YXItd29ybTogXFxlNTk5O1xuJGZhLXZhci1ob3VzZS1jaXJjbGUteG1hcms6IFxcZTUwYjtcbiRmYS12YXItcGx1ZzogXFxmMWU2O1xuJGZhLXZhci1jaGV2cm9uLXVwOiBcXGYwNzc7XG4kZmEtdmFyLWhhbmQtc3BvY2s6IFxcZjI1OTtcbiRmYS12YXItc3RvcHdhdGNoOiBcXGYyZjI7XG4kZmEtdmFyLWZhY2Uta2lzczogXFxmNTk2O1xuJGZhLXZhci1raXNzOiBcXGY1OTY7XG4kZmEtdmFyLWJyaWRnZS1jaXJjbGUteG1hcms6IFxcZTRjYjtcbiRmYS12YXItZmFjZS1ncmluLXRvbmd1ZTogXFxmNTg5O1xuJGZhLXZhci1ncmluLXRvbmd1ZTogXFxmNTg5O1xuJGZhLXZhci1jaGVzcy1iaXNob3A6IFxcZjQzYTtcbiRmYS12YXItZmFjZS1ncmluLXdpbms6IFxcZjU4YztcbiRmYS12YXItZ3Jpbi13aW5rOiBcXGY1OGM7XG4kZmEtdmFyLWVhci1kZWFmOiBcXGYyYTQ7XG4kZmEtdmFyLWRlYWY6IFxcZjJhNDtcbiRmYS12YXItZGVhZm5lc3M6IFxcZjJhNDtcbiRmYS12YXItaGFyZC1vZi1oZWFyaW5nOiBcXGYyYTQ7XG4kZmEtdmFyLXJvYWQtY2lyY2xlLWNoZWNrOiBcXGU1NjQ7XG4kZmEtdmFyLWRpY2UtZml2ZTogXFxmNTIzO1xuJGZhLXZhci1zcXVhcmUtcnNzOiBcXGYxNDM7XG4kZmEtdmFyLXJzcy1zcXVhcmU6IFxcZjE0MztcbiRmYS12YXItbGFuZC1taW5lLW9uOiBcXGU1MWI7XG4kZmEtdmFyLWktY3Vyc29yOiBcXGYyNDY7XG4kZmEtdmFyLXN0YW1wOiBcXGY1YmY7XG4kZmEtdmFyLXN0YWlyczogXFxlMjg5O1xuJGZhLXZhci1pOiBcXDQ5O1xuJGZhLXZhci1ocnl2bmlhLXNpZ246IFxcZjZmMjtcbiRmYS12YXItaHJ5dm5pYTogXFxmNmYyO1xuJGZhLXZhci1waWxsczogXFxmNDg0O1xuJGZhLXZhci1mYWNlLWdyaW4td2lkZTogXFxmNTgxO1xuJGZhLXZhci1ncmluLWFsdDogXFxmNTgxO1xuJGZhLXZhci10b290aDogXFxmNWM5O1xuJGZhLXZhci12OiBcXDU2O1xuJGZhLXZhci1iYW5nbGFkZXNoaS10YWthLXNpZ246IFxcZTJlNjtcbiRmYS12YXItYmljeWNsZTogXFxmMjA2O1xuJGZhLXZhci1zdGFmZi1zbmFrZTogXFxlNTc5O1xuJGZhLXZhci1yb2QtYXNjbGVwaXVzOiBcXGU1Nzk7XG4kZmEtdmFyLXJvZC1zbmFrZTogXFxlNTc5O1xuJGZhLXZhci1zdGFmZi1hZXNjdWxhcGl1czogXFxlNTc5O1xuJGZhLXZhci1oZWFkLXNpZGUtY291Z2gtc2xhc2g6IFxcZTA2MjtcbiRmYS12YXItdHJ1Y2stbWVkaWNhbDogXFxmMGY5O1xuJGZhLXZhci1hbWJ1bGFuY2U6IFxcZjBmOTtcbiRmYS12YXItd2hlYXQtYXduLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTk4O1xuJGZhLXZhci1zbm93bWFuOiBcXGY3ZDA7XG4kZmEtdmFyLW1vcnRhci1wZXN0bGU6IFxcZjVhNztcbiRmYS12YXItcm9hZC1iYXJyaWVyOiBcXGU1NjI7XG4kZmEtdmFyLXNjaG9vbDogXFxmNTQ5O1xuJGZhLXZhci1pZ2xvbzogXFxmN2FlO1xuJGZhLXZhci1qb2ludDogXFxmNTk1O1xuJGZhLXZhci1hbmdsZS1yaWdodDogXFxmMTA1O1xuJGZhLXZhci1ob3JzZTogXFxmNmYwO1xuJGZhLXZhci1xOiBcXDUxO1xuJGZhLXZhci1nOiBcXDQ3O1xuJGZhLXZhci1ub3Rlcy1tZWRpY2FsOiBcXGY0ODE7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWhhbGY6IFxcZjJjOTtcbiRmYS12YXItdGVtcGVyYXR1cmUtMjogXFxmMmM5O1xuJGZhLXZhci10aGVybW9tZXRlci0yOiBcXGYyYzk7XG4kZmEtdmFyLXRoZXJtb21ldGVyLWhhbGY6IFxcZjJjOTtcbiRmYS12YXItZG9uZy1zaWduOiBcXGUxNjk7XG4kZmEtdmFyLWNhcHN1bGVzOiBcXGY0NmI7XG4kZmEtdmFyLXBvby1zdG9ybTogXFxmNzVhO1xuJGZhLXZhci1wb28tYm9sdDogXFxmNzVhO1xuJGZhLXZhci1mYWNlLWZyb3duLW9wZW46IFxcZjU3YTtcbiRmYS12YXItZnJvd24tb3BlbjogXFxmNTdhO1xuJGZhLXZhci1oYW5kLXBvaW50LXVwOiBcXGYwYTY7XG4kZmEtdmFyLW1vbmV5LWJpbGw6IFxcZjBkNjtcbiRmYS12YXItYm9va21hcms6IFxcZjAyZTtcbiRmYS12YXItYWxpZ24tanVzdGlmeTogXFxmMDM5O1xuJGZhLXZhci11bWJyZWxsYS1iZWFjaDogXFxmNWNhO1xuJGZhLXZhci1oZWxtZXQtdW46IFxcZTUwMztcbiRmYS12YXItYnVsbHNleWU6IFxcZjE0MDtcbiRmYS12YXItYmFjb246IFxcZjdlNTtcbiRmYS12YXItaGFuZC1wb2ludC1kb3duOiBcXGYwYTc7XG4kZmEtdmFyLWFycm93LXVwLWZyb20tYnJhY2tldDogXFxlMDlhO1xuJGZhLXZhci1mb2xkZXI6IFxcZjA3YjtcbiRmYS12YXItZm9sZGVyLWJsYW5rOiBcXGYwN2I7XG4kZmEtdmFyLWZpbGUtd2F2ZWZvcm06IFxcZjQ3ODtcbiRmYS12YXItZmlsZS1tZWRpY2FsLWFsdDogXFxmNDc4O1xuJGZhLXZhci1yYWRpYXRpb246IFxcZjdiOTtcbiRmYS12YXItY2hhcnQtc2ltcGxlOiBcXGU0NzM7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlOiBcXGYyMjk7XG4kZmEtdmFyLXZpYWw6IFxcZjQ5MjtcbiRmYS12YXItZ2F1Z2U6IFxcZjYyNDtcbiRmYS12YXItZGFzaGJvYXJkOiBcXGY2MjQ7XG4kZmEtdmFyLWdhdWdlLW1lZDogXFxmNjI0O1xuJGZhLXZhci10YWNob21ldGVyLWFsdC1hdmVyYWdlOiBcXGY2MjQ7XG4kZmEtdmFyLXdhbmQtbWFnaWMtc3BhcmtsZXM6IFxcZTJjYTtcbiRmYS12YXItbWFnaWMtd2FuZC1zcGFya2xlczogXFxlMmNhO1xuJGZhLXZhci1lOiBcXDQ1O1xuJGZhLXZhci1wZW4tY2xpcDogXFxmMzA1O1xuJGZhLXZhci1wZW4tYWx0OiBcXGYzMDU7XG4kZmEtdmFyLWJyaWRnZS1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTRjYTtcbiRmYS12YXItdXNlcjogXFxmMDA3O1xuJGZhLXZhci1zY2hvb2wtY2lyY2xlLWNoZWNrOiBcXGU1NmI7XG4kZmEtdmFyLWR1bXBzdGVyOiBcXGY3OTM7XG4kZmEtdmFyLXZhbi1zaHV0dGxlOiBcXGY1YjY7XG4kZmEtdmFyLXNodXR0bGUtdmFuOiBcXGY1YjY7XG4kZmEtdmFyLWJ1aWxkaW5nLXVzZXI6IFxcZTRkYTtcbiRmYS12YXItc3F1YXJlLWNhcmV0LWxlZnQ6IFxcZjE5MTtcbiRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQ6IFxcZjE5MTtcbiRmYS12YXItaGlnaGxpZ2h0ZXI6IFxcZjU5MTtcbiRmYS12YXIta2V5OiBcXGYwODQ7XG4kZmEtdmFyLWJ1bGxob3JuOiBcXGYwYTE7XG4kZmEtdmFyLWdsb2JlOiBcXGYwYWM7XG4kZmEtdmFyLXN5bmFnb2d1ZTogXFxmNjliO1xuJGZhLXZhci1wZXJzb24taGFsZi1kcmVzczogXFxlNTQ4O1xuJGZhLXZhci1yb2FkLWJyaWRnZTogXFxlNTYzO1xuJGZhLXZhci1sb2NhdGlvbi1hcnJvdzogXFxmMTI0O1xuJGZhLXZhci1jOiBcXDQzO1xuJGZhLXZhci10YWJsZXQtYnV0dG9uOiBcXGYxMGE7XG4kZmEtdmFyLWJ1aWxkaW5nLWxvY2s6IFxcZTRkNjtcbiRmYS12YXItcGl6emEtc2xpY2U6IFxcZjgxODtcbiRmYS12YXItbW9uZXktYmlsbC13YXZlOiBcXGY1M2E7XG4kZmEtdmFyLWNoYXJ0LWFyZWE6IFxcZjFmZTtcbiRmYS12YXItYXJlYS1jaGFydDogXFxmMWZlO1xuJGZhLXZhci1ob3VzZS1mbGFnOiBcXGU1MGQ7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUtbWludXM6IFxcZTU0MDtcbiRmYS12YXItYmFuOiBcXGYwNWU7XG4kZmEtdmFyLWNhbmNlbDogXFxmMDVlO1xuJGZhLXZhci1jYW1lcmEtcm90YXRlOiBcXGUwZDg7XG4kZmEtdmFyLXNwcmF5LWNhbi1zcGFya2xlczogXFxmNWQwO1xuJGZhLXZhci1haXItZnJlc2hlbmVyOiBcXGY1ZDA7XG4kZmEtdmFyLXN0YXI6IFxcZjAwNTtcbiRmYS12YXItcmVwZWF0OiBcXGYzNjM7XG4kZmEtdmFyLWNyb3NzOiBcXGY2NTQ7XG4kZmEtdmFyLWJveDogXFxmNDY2O1xuJGZhLXZhci12ZW51cy1tYXJzOiBcXGYyMjg7XG4kZmEtdmFyLWFycm93LXBvaW50ZXI6IFxcZjI0NTtcbiRmYS12YXItbW91c2UtcG9pbnRlcjogXFxmMjQ1O1xuJGZhLXZhci1tYXhpbWl6ZTogXFxmMzFlO1xuJGZhLXZhci1leHBhbmQtYXJyb3dzLWFsdDogXFxmMzFlO1xuJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uOiBcXGY1ZTc7XG4kZmEtdmFyLXNoYXBlczogXFxmNjFmO1xuJGZhLXZhci10cmlhbmdsZS1jaXJjbGUtc3F1YXJlOiBcXGY2MWY7XG4kZmEtdmFyLXNodWZmbGU6IFxcZjA3NDtcbiRmYS12YXItcmFuZG9tOiBcXGYwNzQ7XG4kZmEtdmFyLXBlcnNvbi1ydW5uaW5nOiBcXGY3MGM7XG4kZmEtdmFyLXJ1bm5pbmc6IFxcZjcwYztcbiRmYS12YXItbW9iaWxlLXJldHJvOiBcXGU1Mjc7XG4kZmEtdmFyLWdyaXAtbGluZXMtdmVydGljYWw6IFxcZjdhNTtcbiRmYS12YXItc3BpZGVyOiBcXGY3MTc7XG4kZmEtdmFyLWhhbmRzLWJvdW5kOiBcXGU0Zjk7XG4kZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXI6IFxcZjU3MTtcbiRmYS12YXItcGxhbmUtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1NTY7XG4kZmEtdmFyLXgtcmF5OiBcXGY0OTc7XG4kZmEtdmFyLXNwZWxsLWNoZWNrOiBcXGY4OTE7XG4kZmEtdmFyLXNsYXNoOiBcXGY3MTU7XG4kZmEtdmFyLWNvbXB1dGVyLW1vdXNlOiBcXGY4Y2M7XG4kZmEtdmFyLW1vdXNlOiBcXGY4Y2M7XG4kZmEtdmFyLWFycm93LXJpZ2h0LXRvLWJyYWNrZXQ6IFxcZjA5MDtcbiRmYS12YXItc2lnbi1pbjogXFxmMDkwO1xuJGZhLXZhci1zaG9wLXNsYXNoOiBcXGUwNzA7XG4kZmEtdmFyLXN0b3JlLWFsdC1zbGFzaDogXFxlMDcwO1xuJGZhLXZhci1zZXJ2ZXI6IFxcZjIzMztcbiRmYS12YXItdmlydXMtY292aWQtc2xhc2g6IFxcZTRhOTtcbiRmYS12YXItc2hvcC1sb2NrOiBcXGU0YTU7XG4kZmEtdmFyLWhvdXJnbGFzcy1zdGFydDogXFxmMjUxO1xuJGZhLXZhci1ob3VyZ2xhc3MtMTogXFxmMjUxO1xuJGZhLXZhci1ibGVuZGVyLXBob25lOiBcXGY2YjY7XG4kZmEtdmFyLWJ1aWxkaW5nLXdoZWF0OiBcXGU0ZGI7XG4kZmEtdmFyLXBlcnNvbi1icmVhc3RmZWVkaW5nOiBcXGU1M2E7XG4kZmEtdmFyLXJpZ2h0LXRvLWJyYWNrZXQ6IFxcZjJmNjtcbiRmYS12YXItc2lnbi1pbi1hbHQ6IFxcZjJmNjtcbiRmYS12YXItdmVudXM6IFxcZjIyMTtcbiRmYS12YXItcGFzc3BvcnQ6IFxcZjVhYjtcbiRmYS12YXItaGVhcnQtcHVsc2U6IFxcZjIxZTtcbiRmYS12YXItaGVhcnRiZWF0OiBcXGYyMWU7XG4kZmEtdmFyLXBlb3BsZS1jYXJyeS1ib3g6IFxcZjRjZTtcbiRmYS12YXItcGVvcGxlLWNhcnJ5OiBcXGY0Y2U7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWhpZ2g6IFxcZjc2OTtcbiRmYS12YXItbWljcm9jaGlwOiBcXGYyZGI7XG4kZmEtdmFyLWNyb3duOiBcXGY1MjE7XG4kZmEtdmFyLXdlaWdodC1oYW5naW5nOiBcXGY1Y2Q7XG4kZmEtdmFyLXhtYXJrcy1saW5lczogXFxlNTlhO1xuJGZhLXZhci1maWxlLXByZXNjcmlwdGlvbjogXFxmNTcyO1xuJGZhLXZhci13ZWlnaHQtc2NhbGU6IFxcZjQ5NjtcbiRmYS12YXItd2VpZ2h0OiBcXGY0OTY7XG4kZmEtdmFyLXVzZXItZ3JvdXA6IFxcZjUwMDtcbiRmYS12YXItdXNlci1mcmllbmRzOiBcXGY1MDA7XG4kZmEtdmFyLWFycm93LXVwLWEtejogXFxmMTVlO1xuJGZhLXZhci1zb3J0LWFscGhhLXVwOiBcXGYxNWU7XG4kZmEtdmFyLWNoZXNzLWtuaWdodDogXFxmNDQxO1xuJGZhLXZhci1mYWNlLWxhdWdoLXNxdWludDogXFxmNTliO1xuJGZhLXZhci1sYXVnaC1zcXVpbnQ6IFxcZjU5YjtcbiRmYS12YXItd2hlZWxjaGFpcjogXFxmMTkzO1xuJGZhLXZhci1jaXJjbGUtYXJyb3ctdXA6IFxcZjBhYTtcbiRmYS12YXItYXJyb3ctY2lyY2xlLXVwOiBcXGYwYWE7XG4kZmEtdmFyLXRvZ2dsZS1vbjogXFxmMjA1O1xuJGZhLXZhci1wZXJzb24td2Fsa2luZzogXFxmNTU0O1xuJGZhLXZhci13YWxraW5nOiBcXGY1NTQ7XG4kZmEtdmFyLWw6IFxcNGM7XG4kZmEtdmFyLWZpcmU6IFxcZjA2ZDtcbiRmYS12YXItYmVkLXB1bHNlOiBcXGY0ODc7XG4kZmEtdmFyLXByb2NlZHVyZXM6IFxcZjQ4NztcbiRmYS12YXItc2h1dHRsZS1zcGFjZTogXFxmMTk3O1xuJGZhLXZhci1zcGFjZS1zaHV0dGxlOiBcXGYxOTc7XG4kZmEtdmFyLWZhY2UtbGF1Z2g6IFxcZjU5OTtcbiRmYS12YXItbGF1Z2g6IFxcZjU5OTtcbiRmYS12YXItZm9sZGVyLW9wZW46IFxcZjA3YztcbiRmYS12YXItaGVhcnQtY2lyY2xlLXBsdXM6IFxcZTUwMDtcbiRmYS12YXItY29kZS1mb3JrOiBcXGUxM2I7XG4kZmEtdmFyLWNpdHk6IFxcZjY0ZjtcbiRmYS12YXItbWljcm9waG9uZS1saW5lczogXFxmM2M5O1xuJGZhLXZhci1taWNyb3Bob25lLWFsdDogXFxmM2M5O1xuJGZhLXZhci1wZXBwZXItaG90OiBcXGY4MTY7XG4kZmEtdmFyLXVubG9jazogXFxmMDljO1xuJGZhLXZhci1jb2xvbi1zaWduOiBcXGUxNDA7XG4kZmEtdmFyLWhlYWRzZXQ6IFxcZjU5MDtcbiRmYS12YXItc3RvcmUtc2xhc2g6IFxcZTA3MTtcbiRmYS12YXItcm9hZC1jaXJjbGUteG1hcms6IFxcZTU2NjtcbiRmYS12YXItdXNlci1taW51czogXFxmNTAzO1xuJGZhLXZhci1tYXJzLXN0cm9rZS11cDogXFxmMjJhO1xuJGZhLXZhci1tYXJzLXN0cm9rZS12OiBcXGYyMmE7XG4kZmEtdmFyLWNoYW1wYWduZS1nbGFzc2VzOiBcXGY3OWY7XG4kZmEtdmFyLWdsYXNzLWNoZWVyczogXFxmNzlmO1xuJGZhLXZhci1jbGlwYm9hcmQ6IFxcZjMyODtcbiRmYS12YXItaG91c2UtY2lyY2xlLWV4Y2xhbWF0aW9uOiBcXGU1MGE7XG4kZmEtdmFyLWZpbGUtYXJyb3ctdXA6IFxcZjU3NDtcbiRmYS12YXItZmlsZS11cGxvYWQ6IFxcZjU3NDtcbiRmYS12YXItd2lmaTogXFxmMWViO1xuJGZhLXZhci13aWZpLTM6IFxcZjFlYjtcbiRmYS12YXItd2lmaS1zdHJvbmc6IFxcZjFlYjtcbiRmYS12YXItYmF0aDogXFxmMmNkO1xuJGZhLXZhci1iYXRodHViOiBcXGYyY2Q7XG4kZmEtdmFyLXVuZGVybGluZTogXFxmMGNkO1xuJGZhLXZhci11c2VyLXBlbjogXFxmNGZmO1xuJGZhLXZhci11c2VyLWVkaXQ6IFxcZjRmZjtcbiRmYS12YXItc2lnbmF0dXJlOiBcXGY1Yjc7XG4kZmEtdmFyLXN0cm9vcHdhZmVsOiBcXGY1NTE7XG4kZmEtdmFyLWJvbGQ6IFxcZjAzMjtcbiRmYS12YXItYW5jaG9yLWxvY2s6IFxcZTRhZDtcbiRmYS12YXItYnVpbGRpbmctbmdvOiBcXGU0ZDc7XG4kZmEtdmFyLW1hbmF0LXNpZ246IFxcZTFkNTtcbiRmYS12YXItbm90LWVxdWFsOiBcXGY1M2U7XG4kZmEtdmFyLWJvcmRlci10b3AtbGVmdDogXFxmODUzO1xuJGZhLXZhci1ib3JkZXItc3R5bGU6IFxcZjg1MztcbiRmYS12YXItbWFwLWxvY2F0aW9uLWRvdDogXFxmNWEwO1xuJGZhLXZhci1tYXAtbWFya2VkLWFsdDogXFxmNWEwO1xuJGZhLXZhci1qZWRpOiBcXGY2Njk7XG4kZmEtdmFyLXNxdWFyZS1wb2xsLXZlcnRpY2FsOiBcXGY2ODE7XG4kZmEtdmFyLXBvbGw6IFxcZjY4MTtcbiRmYS12YXItbXVnLWhvdDogXFxmN2I2O1xuJGZhLXZhci1jYXItYmF0dGVyeTogXFxmNWRmO1xuJGZhLXZhci1iYXR0ZXJ5LWNhcjogXFxmNWRmO1xuJGZhLXZhci1naWZ0OiBcXGYwNmI7XG4kZmEtdmFyLWRpY2UtdHdvOiBcXGY1Mjg7XG4kZmEtdmFyLWNoZXNzLXF1ZWVuOiBcXGY0NDU7XG4kZmEtdmFyLWdsYXNzZXM6IFxcZjUzMDtcbiRmYS12YXItY2hlc3MtYm9hcmQ6IFxcZjQzYztcbiRmYS12YXItYnVpbGRpbmctY2lyY2xlLWNoZWNrOiBcXGU0ZDI7XG4kZmEtdmFyLXBlcnNvbi1jaGFsa2JvYXJkOiBcXGU1M2Q7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLXJpZ2h0OiBcXGYyMmI7XG4kZmEtdmFyLW1hcnMtc3Ryb2tlLWg6IFxcZjIyYjtcbiRmYS12YXItaGFuZC1iYWNrLWZpc3Q6IFxcZjI1NTtcbiRmYS12YXItaGFuZC1yb2NrOiBcXGYyNTU7XG4kZmEtdmFyLXNxdWFyZS1jYXJldC11cDogXFxmMTUxO1xuJGZhLXZhci1jYXJldC1zcXVhcmUtdXA6IFxcZjE1MTtcbiRmYS12YXItY2xvdWQtc2hvd2Vycy13YXRlcjogXFxlNGU0O1xuJGZhLXZhci1jaGFydC1iYXI6IFxcZjA4MDtcbiRmYS12YXItYmFyLWNoYXJ0OiBcXGYwODA7XG4kZmEtdmFyLWhhbmRzLWJ1YmJsZXM6IFxcZTA1ZTtcbiRmYS12YXItaGFuZHMtd2FzaDogXFxlMDVlO1xuJGZhLXZhci1sZXNzLXRoYW4tZXF1YWw6IFxcZjUzNztcbiRmYS12YXItdHJhaW46IFxcZjIzODtcbiRmYS12YXItZXllLWxvdy12aXNpb246IFxcZjJhODtcbiRmYS12YXItbG93LXZpc2lvbjogXFxmMmE4O1xuJGZhLXZhci1jcm93OiBcXGY1MjA7XG4kZmEtdmFyLXNhaWxib2F0OiBcXGU0NDU7XG4kZmEtdmFyLXdpbmRvdy1yZXN0b3JlOiBcXGYyZDI7XG4kZmEtdmFyLXNxdWFyZS1wbHVzOiBcXGYwZmU7XG4kZmEtdmFyLXBsdXMtc3F1YXJlOiBcXGYwZmU7XG4kZmEtdmFyLXRvcmlpLWdhdGU6IFxcZjZhMTtcbiRmYS12YXItZnJvZzogXFxmNTJlO1xuJGZhLXZhci1idWNrZXQ6IFxcZTRjZjtcbiRmYS12YXItaW1hZ2U6IFxcZjAzZTtcbiRmYS12YXItbWljcm9waG9uZTogXFxmMTMwO1xuJGZhLXZhci1jb3c6IFxcZjZjODtcbiRmYS12YXItY2FyZXQtdXA6IFxcZjBkODtcbiRmYS12YXItc2NyZXdkcml2ZXI6IFxcZjU0YTtcbiRmYS12YXItZm9sZGVyLWNsb3NlZDogXFxlMTg1O1xuJGZhLXZhci1ob3VzZS10c3VuYW1pOiBcXGU1MTU7XG4kZmEtdmFyLXNxdWFyZS1uZmk6IFxcZTU3NjtcbiRmYS12YXItYXJyb3ctdXAtZnJvbS1ncm91bmQtd2F0ZXI6IFxcZTRiNTtcbiRmYS12YXItbWFydGluaS1nbGFzczogXFxmNTdiO1xuJGZhLXZhci1nbGFzcy1tYXJ0aW5pLWFsdDogXFxmNTdiO1xuJGZhLXZhci1yb3RhdGUtbGVmdDogXFxmMmVhO1xuJGZhLXZhci1yb3RhdGUtYmFjazogXFxmMmVhO1xuJGZhLXZhci1yb3RhdGUtYmFja3dhcmQ6IFxcZjJlYTtcbiRmYS12YXItdW5kby1hbHQ6IFxcZjJlYTtcbiRmYS12YXItdGFibGUtY29sdW1uczogXFxmMGRiO1xuJGZhLXZhci1jb2x1bW5zOiBcXGYwZGI7XG4kZmEtdmFyLWxlbW9uOiBcXGYwOTQ7XG4kZmEtdmFyLWhlYWQtc2lkZS1tYXNrOiBcXGUwNjM7XG4kZmEtdmFyLWhhbmRzaGFrZTogXFxmMmI1O1xuJGZhLXZhci1nZW06IFxcZjNhNTtcbiRmYS12YXItZG9sbHk6IFxcZjQ3MjtcbiRmYS12YXItZG9sbHktYm94OiBcXGY0NzI7XG4kZmEtdmFyLXNtb2tpbmc6IFxcZjQ4ZDtcbiRmYS12YXItbWluaW1pemU6IFxcZjc4YztcbiRmYS12YXItY29tcHJlc3MtYXJyb3dzLWFsdDogXFxmNzhjO1xuJGZhLXZhci1tb251bWVudDogXFxmNWE2O1xuJGZhLXZhci1zbm93cGxvdzogXFxmN2QyO1xuJGZhLXZhci1hbmdsZXMtcmlnaHQ6IFxcZjEwMTtcbiRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0OiBcXGYxMDE7XG4kZmEtdmFyLWNhbm5hYmlzOiBcXGY1NWY7XG4kZmEtdmFyLWNpcmNsZS1wbGF5OiBcXGYxNDQ7XG4kZmEtdmFyLXBsYXktY2lyY2xlOiBcXGYxNDQ7XG4kZmEtdmFyLXRhYmxldHM6IFxcZjQ5MDtcbiRmYS12YXItZXRoZXJuZXQ6IFxcZjc5NjtcbiRmYS12YXItZXVyby1zaWduOiBcXGYxNTM7XG4kZmEtdmFyLWV1cjogXFxmMTUzO1xuJGZhLXZhci1ldXJvOiBcXGYxNTM7XG4kZmEtdmFyLWNoYWlyOiBcXGY2YzA7XG4kZmEtdmFyLWNpcmNsZS1jaGVjazogXFxmMDU4O1xuJGZhLXZhci1jaGVjay1jaXJjbGU6IFxcZjA1ODtcbiRmYS12YXItY2lyY2xlLXN0b3A6IFxcZjI4ZDtcbiRmYS12YXItc3RvcC1jaXJjbGU6IFxcZjI4ZDtcbiRmYS12YXItY29tcGFzcy1kcmFmdGluZzogXFxmNTY4O1xuJGZhLXZhci1kcmFmdGluZy1jb21wYXNzOiBcXGY1Njg7XG4kZmEtdmFyLXBsYXRlLXdoZWF0OiBcXGU1NWE7XG4kZmEtdmFyLWljaWNsZXM6IFxcZjdhZDtcbiRmYS12YXItcGVyc29uLXNoZWx0ZXI6IFxcZTU0ZjtcbiRmYS12YXItbmV1dGVyOiBcXGYyMmM7XG4kZmEtdmFyLWlkLWJhZGdlOiBcXGYyYzE7XG4kZmEtdmFyLW1hcmtlcjogXFxmNWExO1xuJGZhLXZhci1mYWNlLWxhdWdoLWJlYW06IFxcZjU5YTtcbiRmYS12YXItbGF1Z2gtYmVhbTogXFxmNTlhO1xuJGZhLXZhci1oZWxpY29wdGVyLXN5bWJvbDogXFxlNTAyO1xuJGZhLXZhci11bml2ZXJzYWwtYWNjZXNzOiBcXGYyOWE7XG4kZmEtdmFyLWNpcmNsZS1jaGV2cm9uLXVwOiBcXGYxMzk7XG4kZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwOiBcXGYxMzk7XG4kZmEtdmFyLWxhcmktc2lnbjogXFxlMWM4O1xuJGZhLXZhci12b2xjYW5vOiBcXGY3NzA7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nLWRhc2hlZC1saW5lLWFycm93LXJpZ2h0OiBcXGU1NTM7XG4kZmEtdmFyLXN0ZXJsaW5nLXNpZ246IFxcZjE1NDtcbiRmYS12YXItZ2JwOiBcXGYxNTQ7XG4kZmEtdmFyLXBvdW5kLXNpZ246IFxcZjE1NDtcbiRmYS12YXItdmlydXNlczogXFxlMDc2O1xuJGZhLXZhci1zcXVhcmUtcGVyc29uLWNvbmZpbmVkOiBcXGU1Nzc7XG4kZmEtdmFyLXVzZXItdGllOiBcXGY1MDg7XG4kZmEtdmFyLWFycm93LWRvd24tbG9uZzogXFxmMTc1O1xuJGZhLXZhci1sb25nLWFycm93LWRvd246IFxcZjE3NTtcbiRmYS12YXItdGVudC1hcnJvdy1kb3duLXRvLWxpbmU6IFxcZTU3ZTtcbiRmYS12YXItY2VydGlmaWNhdGU6IFxcZjBhMztcbiRmYS12YXItcmVwbHktYWxsOiBcXGYxMjI7XG4kZmEtdmFyLW1haWwtcmVwbHktYWxsOiBcXGYxMjI7XG4kZmEtdmFyLXN1aXRjYXNlOiBcXGYwZjI7XG4kZmEtdmFyLXBlcnNvbi1za2F0aW5nOiBcXGY3YzU7XG4kZmEtdmFyLXNrYXRpbmc6IFxcZjdjNTtcbiRmYS12YXItZmlsdGVyLWNpcmNsZS1kb2xsYXI6IFxcZjY2MjtcbiRmYS12YXItZnVubmVsLWRvbGxhcjogXFxmNjYyO1xuJGZhLXZhci1jYW1lcmEtcmV0cm86IFxcZjA4MztcbiRmYS12YXItY2lyY2xlLWFycm93LWRvd246IFxcZjBhYjtcbiRmYS12YXItYXJyb3ctY2lyY2xlLWRvd246IFxcZjBhYjtcbiRmYS12YXItZmlsZS1pbXBvcnQ6IFxcZjU2ZjtcbiRmYS12YXItYXJyb3ctcmlnaHQtdG8tZmlsZTogXFxmNTZmO1xuJGZhLXZhci1zcXVhcmUtYXJyb3ctdXAtcmlnaHQ6IFxcZjE0YztcbiRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmU6IFxcZjE0YztcbiRmYS12YXItYm94LW9wZW46IFxcZjQ5ZTtcbiRmYS12YXItc2Nyb2xsOiBcXGY3MGU7XG4kZmEtdmFyLXNwYTogXFxmNWJiO1xuJGZhLXZhci1sb2NhdGlvbi1waW4tbG9jazogXFxlNTFmO1xuJGZhLXZhci1wYXVzZTogXFxmMDRjO1xuJGZhLXZhci1oaWxsLWF2YWxhbmNoZTogXFxlNTA3O1xuJGZhLXZhci10ZW1wZXJhdHVyZS1lbXB0eTogXFxmMmNiO1xuJGZhLXZhci10ZW1wZXJhdHVyZS0wOiBcXGYyY2I7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTA6IFxcZjJjYjtcbiRmYS12YXItdGhlcm1vbWV0ZXItZW1wdHk6IFxcZjJjYjtcbiRmYS12YXItYm9tYjogXFxmMWUyO1xuJGZhLXZhci1yZWdpc3RlcmVkOiBcXGYyNWQ7XG4kZmEtdmFyLWFkZHJlc3MtY2FyZDogXFxmMmJiO1xuJGZhLXZhci1jb250YWN0LWNhcmQ6IFxcZjJiYjtcbiRmYS12YXItdmNhcmQ6IFxcZjJiYjtcbiRmYS12YXItc2NhbGUtdW5iYWxhbmNlZC1mbGlwOiBcXGY1MTY7XG4kZmEtdmFyLWJhbGFuY2Utc2NhbGUtcmlnaHQ6IFxcZjUxNjtcbiRmYS12YXItc3Vic2NyaXB0OiBcXGYxMmM7XG4kZmEtdmFyLWRpYW1vbmQtdHVybi1yaWdodDogXFxmNWViO1xuJGZhLXZhci1kaXJlY3Rpb25zOiBcXGY1ZWI7XG4kZmEtdmFyLWJ1cnN0OiBcXGU0ZGM7XG4kZmEtdmFyLWhvdXNlLWxhcHRvcDogXFxlMDY2O1xuJGZhLXZhci1sYXB0b3AtaG91c2U6IFxcZTA2NjtcbiRmYS12YXItZmFjZS10aXJlZDogXFxmNWM4O1xuJGZhLXZhci10aXJlZDogXFxmNWM4O1xuJGZhLXZhci1tb25leS1iaWxsczogXFxlMWYzO1xuJGZhLXZhci1zbW9nOiBcXGY3NWY7XG4kZmEtdmFyLWNydXRjaDogXFxmN2Y3O1xuJGZhLXZhci1jbG91ZC1hcnJvdy11cDogXFxmMGVlO1xuJGZhLXZhci1jbG91ZC11cGxvYWQ6IFxcZjBlZTtcbiRmYS12YXItY2xvdWQtdXBsb2FkLWFsdDogXFxmMGVlO1xuJGZhLXZhci1wYWxldHRlOiBcXGY1M2Y7XG4kZmEtdmFyLWFycm93cy10dXJuLXJpZ2h0OiBcXGU0YzA7XG4kZmEtdmFyLXZlc3Q6IFxcZTA4NTtcbiRmYS12YXItZmVycnk6IFxcZTRlYTtcbiRmYS12YXItYXJyb3dzLWRvd24tdG8tcGVvcGxlOiBcXGU0Yjk7XG4kZmEtdmFyLXNlZWRsaW5nOiBcXGY0ZDg7XG4kZmEtdmFyLXNwcm91dDogXFxmNGQ4O1xuJGZhLXZhci1sZWZ0LXJpZ2h0OiBcXGYzMzc7XG4kZmEtdmFyLWFycm93cy1hbHQtaDogXFxmMzM3O1xuJGZhLXZhci1ib3hlcy1wYWNraW5nOiBcXGU0Yzc7XG4kZmEtdmFyLWNpcmNsZS1hcnJvdy1sZWZ0OiBcXGYwYTg7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1sZWZ0OiBcXGYwYTg7XG4kZmEtdmFyLWdyb3VwLWFycm93cy1yb3RhdGU6IFxcZTRmNjtcbiRmYS12YXItYm93bC1mb29kOiBcXGU0YzY7XG4kZmEtdmFyLWNhbmR5LWNhbmU6IFxcZjc4NjtcbiRmYS12YXItYXJyb3ctZG93bi13aWRlLXNob3J0OiBcXGYxNjA7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWFzYzogXFxmMTYwO1xuJGZhLXZhci1zb3J0LWFtb3VudC1kb3duOiBcXGYxNjA7XG4kZmEtdmFyLWNsb3VkLWJvbHQ6IFxcZjc2YztcbiRmYS12YXItdGh1bmRlcnN0b3JtOiBcXGY3NmM7XG4kZmEtdmFyLXRleHQtc2xhc2g6IFxcZjg3ZDtcbiRmYS12YXItcmVtb3ZlLWZvcm1hdDogXFxmODdkO1xuJGZhLXZhci1mYWNlLXNtaWxlLXdpbms6IFxcZjRkYTtcbiRmYS12YXItc21pbGUtd2luazogXFxmNGRhO1xuJGZhLXZhci1maWxlLXdvcmQ6IFxcZjFjMjtcbiRmYS12YXItZmlsZS1wb3dlcnBvaW50OiBcXGYxYzQ7XG4kZmEtdmFyLWFycm93cy1sZWZ0LXJpZ2h0OiBcXGYwN2U7XG4kZmEtdmFyLWFycm93cy1oOiBcXGYwN2U7XG4kZmEtdmFyLWhvdXNlLWxvY2s6IFxcZTUxMDtcbiRmYS12YXItY2xvdWQtYXJyb3ctZG93bjogXFxmMGVkO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZDogXFxmMGVkO1xuJGZhLXZhci1jbG91ZC1kb3dubG9hZC1hbHQ6IFxcZjBlZDtcbiRmYS12YXItY2hpbGRyZW46IFxcZTRlMTtcbiRmYS12YXItY2hhbGtib2FyZDogXFxmNTFiO1xuJGZhLXZhci1ibGFja2JvYXJkOiBcXGY1MWI7XG4kZmEtdmFyLXVzZXItbGFyZ2Utc2xhc2g6IFxcZjRmYTtcbiRmYS12YXItdXNlci1hbHQtc2xhc2g6IFxcZjRmYTtcbiRmYS12YXItZW52ZWxvcGUtb3BlbjogXFxmMmI2O1xuJGZhLXZhci1oYW5kc2hha2Utc2ltcGxlLXNsYXNoOiBcXGUwNWY7XG4kZmEtdmFyLWhhbmRzaGFrZS1hbHQtc2xhc2g6IFxcZTA1ZjtcbiRmYS12YXItbWF0dHJlc3MtcGlsbG93OiBcXGU1MjU7XG4kZmEtdmFyLWd1YXJhbmktc2lnbjogXFxlMTlhO1xuJGZhLXZhci1hcnJvd3Mtcm90YXRlOiBcXGYwMjE7XG4kZmEtdmFyLXJlZnJlc2g6IFxcZjAyMTtcbiRmYS12YXItc3luYzogXFxmMDIxO1xuJGZhLXZhci1maXJlLWV4dGluZ3Vpc2hlcjogXFxmMTM0O1xuJGZhLXZhci1jcnV6ZWlyby1zaWduOiBcXGUxNTI7XG4kZmEtdmFyLWdyZWF0ZXItdGhhbi1lcXVhbDogXFxmNTMyO1xuJGZhLXZhci1zaGllbGQtaGFsdmVkOiBcXGYzZWQ7XG4kZmEtdmFyLXNoaWVsZC1hbHQ6IFxcZjNlZDtcbiRmYS12YXItYm9vay1hdGxhczogXFxmNTU4O1xuJGZhLXZhci1hdGxhczogXFxmNTU4O1xuJGZhLXZhci12aXJ1czogXFxlMDc0O1xuJGZhLXZhci1lbnZlbG9wZS1jaXJjbGUtY2hlY2s6IFxcZTRlODtcbiRmYS12YXItbGF5ZXItZ3JvdXA6IFxcZjVmZDtcbiRmYS12YXItYXJyb3dzLXRvLWRvdDogXFxlNGJlO1xuJGZhLXZhci1hcmNod2F5OiBcXGY1NTc7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS1jaGVjazogXFxlNGZkO1xuJGZhLXZhci1ob3VzZS1jaGltbmV5LWNyYWNrOiBcXGY2ZjE7XG4kZmEtdmFyLWhvdXNlLWRhbWFnZTogXFxmNmYxO1xuJGZhLXZhci1maWxlLXppcHBlcjogXFxmMWM2O1xuJGZhLXZhci1maWxlLWFyY2hpdmU6IFxcZjFjNjtcbiRmYS12YXItc3F1YXJlOiBcXGYwYzg7XG4kZmEtdmFyLW1hcnRpbmktZ2xhc3MtZW1wdHk6IFxcZjAwMDtcbiRmYS12YXItZ2xhc3MtbWFydGluaTogXFxmMDAwO1xuJGZhLXZhci1jb3VjaDogXFxmNGI4O1xuJGZhLXZhci1jZWRpLXNpZ246IFxcZTBkZjtcbiRmYS12YXItaXRhbGljOiBcXGYwMzM7XG4kZmEtdmFyLWNodXJjaDogXFxmNTFkO1xuJGZhLXZhci1jb21tZW50cy1kb2xsYXI6IFxcZjY1MztcbiRmYS12YXItZGVtb2NyYXQ6IFxcZjc0NztcbiRmYS12YXItejogXFw1YTtcbiRmYS12YXItcGVyc29uLXNraWluZzogXFxmN2M5O1xuJGZhLXZhci1za2lpbmc6IFxcZjdjOTtcbiRmYS12YXItcm9hZC1sb2NrOiBcXGU1Njc7XG4kZmEtdmFyLWE6IFxcNDE7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWFycm93LWRvd246IFxcZTAzZjtcbiRmYS12YXItdGVtcGVyYXR1cmUtZG93bjogXFxlMDNmO1xuJGZhLXZhci1mZWF0aGVyLXBvaW50ZWQ6IFxcZjU2YjtcbiRmYS12YXItZmVhdGhlci1hbHQ6IFxcZjU2YjtcbiRmYS12YXItcDogXFw1MDtcbiRmYS12YXItc25vd2ZsYWtlOiBcXGYyZGM7XG4kZmEtdmFyLW5ld3NwYXBlcjogXFxmMWVhO1xuJGZhLXZhci1yZWN0YW5nbGUtYWQ6IFxcZjY0MTtcbiRmYS12YXItYWQ6IFxcZjY0MTtcbiRmYS12YXItY2lyY2xlLWFycm93LXJpZ2h0OiBcXGYwYTk7XG4kZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodDogXFxmMGE5O1xuJGZhLXZhci1maWx0ZXItY2lyY2xlLXhtYXJrOiBcXGUxN2I7XG4kZmEtdmFyLWxvY3VzdDogXFxlNTIwO1xuJGZhLXZhci1zb3J0OiBcXGYwZGM7XG4kZmEtdmFyLXVuc29ydGVkOiBcXGYwZGM7XG4kZmEtdmFyLWxpc3Qtb2w6IFxcZjBjYjtcbiRmYS12YXItbGlzdC0xLTI6IFxcZjBjYjtcbiRmYS12YXItbGlzdC1udW1lcmljOiBcXGYwY2I7XG4kZmEtdmFyLXBlcnNvbi1kcmVzcy1idXJzdDogXFxlNTQ0O1xuJGZhLXZhci1tb25leS1jaGVjay1kb2xsYXI6IFxcZjUzZDtcbiRmYS12YXItbW9uZXktY2hlY2stYWx0OiBcXGY1M2Q7XG4kZmEtdmFyLXZlY3Rvci1zcXVhcmU6IFxcZjVjYjtcbiRmYS12YXItYnJlYWQtc2xpY2U6IFxcZjdlYztcbiRmYS12YXItbGFuZ3VhZ2U6IFxcZjFhYjtcbiRmYS12YXItZmFjZS1raXNzLXdpbmstaGVhcnQ6IFxcZjU5ODtcbiRmYS12YXIta2lzcy13aW5rLWhlYXJ0OiBcXGY1OTg7XG4kZmEtdmFyLWZpbHRlcjogXFxmMGIwO1xuJGZhLXZhci1xdWVzdGlvbjogXFwzZjtcbiRmYS12YXItZmlsZS1zaWduYXR1cmU6IFxcZjU3MztcbiRmYS12YXItdXAtZG93bi1sZWZ0LXJpZ2h0OiBcXGYwYjI7XG4kZmEtdmFyLWFycm93cy1hbHQ6IFxcZjBiMjtcbiRmYS12YXItaG91c2UtY2hpbW5leS11c2VyOiBcXGUwNjU7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1oZWFydDogXFxmNGJlO1xuJGZhLXZhci1wdXp6bGUtcGllY2U6IFxcZjEyZTtcbiRmYS12YXItbW9uZXktY2hlY2s6IFxcZjUzYztcbiRmYS12YXItc3Rhci1oYWxmLXN0cm9rZTogXFxmNWMwO1xuJGZhLXZhci1zdGFyLWhhbGYtYWx0OiBcXGY1YzA7XG4kZmEtdmFyLWNvZGU6IFxcZjEyMTtcbiRmYS12YXItd2hpc2tleS1nbGFzczogXFxmN2EwO1xuJGZhLXZhci1nbGFzcy13aGlza2V5OiBcXGY3YTA7XG4kZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNGQzO1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWNoYXJ0OiBcXGU1MjI7XG4kZmEtdmFyLWFycm93LXVwLXJpZ2h0LWZyb20tc3F1YXJlOiBcXGYwOGU7XG4kZmEtdmFyLWV4dGVybmFsLWxpbms6IFxcZjA4ZTtcbiRmYS12YXItY3ViZXMtc3RhY2tlZDogXFxlNGU2O1xuJGZhLXZhci13b24tc2lnbjogXFxmMTU5O1xuJGZhLXZhci1rcnc6IFxcZjE1OTtcbiRmYS12YXItd29uOiBcXGYxNTk7XG4kZmEtdmFyLXZpcnVzLWNvdmlkOiBcXGU0YTg7XG4kZmEtdmFyLWF1c3RyYWwtc2lnbjogXFxlMGE5O1xuJGZhLXZhci1mOiBcXDQ2O1xuJGZhLXZhci1sZWFmOiBcXGYwNmM7XG4kZmEtdmFyLXJvYWQ6IFxcZjAxODtcbiRmYS12YXItdGF4aTogXFxmMWJhO1xuJGZhLXZhci1jYWI6IFxcZjFiYTtcbiRmYS12YXItcGVyc29uLWNpcmNsZS1wbHVzOiBcXGU1NDE7XG4kZmEtdmFyLWNoYXJ0LXBpZTogXFxmMjAwO1xuJGZhLXZhci1waWUtY2hhcnQ6IFxcZjIwMDtcbiRmYS12YXItYm9sdC1saWdodG5pbmc6IFxcZTBiNztcbiRmYS12YXItc2Fjay14bWFyazogXFxlNTZhO1xuJGZhLXZhci1maWxlLWV4Y2VsOiBcXGYxYzM7XG4kZmEtdmFyLWZpbGUtY29udHJhY3Q6IFxcZjU2YztcbiRmYS12YXItZmlzaC1maW5zOiBcXGU0ZjI7XG4kZmEtdmFyLWJ1aWxkaW5nLWZsYWc6IFxcZTRkNTtcbiRmYS12YXItZmFjZS1ncmluLWJlYW06IFxcZjU4MjtcbiRmYS12YXItZ3Jpbi1iZWFtOiBcXGY1ODI7XG4kZmEtdmFyLW9iamVjdC11bmdyb3VwOiBcXGYyNDg7XG4kZmEtdmFyLXBvb3A6IFxcZjYxOTtcbiRmYS12YXItbG9jYXRpb24tcGluOiBcXGYwNDE7XG4kZmEtdmFyLW1hcC1tYXJrZXI6IFxcZjA0MTtcbiRmYS12YXIta2FhYmE6IFxcZjY2YjtcbiRmYS12YXItdG9pbGV0LXBhcGVyOiBcXGY3MWU7XG4kZmEtdmFyLWhlbG1ldC1zYWZldHk6IFxcZjgwNztcbiRmYS12YXItaGFyZC1oYXQ6IFxcZjgwNztcbiRmYS12YXItaGF0LWhhcmQ6IFxcZjgwNztcbiRmYS12YXItZWplY3Q6IFxcZjA1MjtcbiRmYS12YXItY2lyY2xlLXJpZ2h0OiBcXGYzNWE7XG4kZmEtdmFyLWFycm93LWFsdC1jaXJjbGUtcmlnaHQ6IFxcZjM1YTtcbiRmYS12YXItcGxhbmUtY2lyY2xlLWNoZWNrOiBcXGU1NTU7XG4kZmEtdmFyLWZhY2Utcm9sbGluZy1leWVzOiBcXGY1YTU7XG4kZmEtdmFyLW1laC1yb2xsaW5nLWV5ZXM6IFxcZjVhNTtcbiRmYS12YXItb2JqZWN0LWdyb3VwOiBcXGYyNDc7XG4kZmEtdmFyLWNoYXJ0LWxpbmU6IFxcZjIwMTtcbiRmYS12YXItbGluZS1jaGFydDogXFxmMjAxO1xuJGZhLXZhci1tYXNrLXZlbnRpbGF0b3I6IFxcZTUyNDtcbiRmYS12YXItYXJyb3ctcmlnaHQ6IFxcZjA2MTtcbiRmYS12YXItc2lnbnMtcG9zdDogXFxmMjc3O1xuJGZhLXZhci1tYXAtc2lnbnM6IFxcZjI3NztcbiRmYS12YXItY2FzaC1yZWdpc3RlcjogXFxmNzg4O1xuJGZhLXZhci1wZXJzb24tY2lyY2xlLXF1ZXN0aW9uOiBcXGU1NDI7XG4kZmEtdmFyLWg6IFxcNDg7XG4kZmEtdmFyLXRhcnA6IFxcZTU3YjtcbiRmYS12YXItc2NyZXdkcml2ZXItd3JlbmNoOiBcXGY3ZDk7XG4kZmEtdmFyLXRvb2xzOiBcXGY3ZDk7XG4kZmEtdmFyLWFycm93cy10by1leWU6IFxcZTRiZjtcbiRmYS12YXItcGx1Zy1jaXJjbGUtYm9sdDogXFxlNTViO1xuJGZhLXZhci1oZWFydDogXFxmMDA0O1xuJGZhLXZhci1tYXJzLWFuZC12ZW51czogXFxmMjI0O1xuJGZhLXZhci1ob3VzZS11c2VyOiBcXGUxYjA7XG4kZmEtdmFyLWhvbWUtdXNlcjogXFxlMWIwO1xuJGZhLXZhci1kdW1wc3Rlci1maXJlOiBcXGY3OTQ7XG4kZmEtdmFyLWhvdXNlLWNyYWNrOiBcXGUzYjE7XG4kZmEtdmFyLW1hcnRpbmktZ2xhc3MtY2l0cnVzOiBcXGY1NjE7XG4kZmEtdmFyLWNvY2t0YWlsOiBcXGY1NjE7XG4kZmEtdmFyLWZhY2Utc3VycHJpc2U6IFxcZjVjMjtcbiRmYS12YXItc3VycHJpc2U6IFxcZjVjMjtcbiRmYS12YXItYm90dGxlLXdhdGVyOiBcXGU0YzU7XG4kZmEtdmFyLWNpcmNsZS1wYXVzZTogXFxmMjhiO1xuJGZhLXZhci1wYXVzZS1jaXJjbGU6IFxcZjI4YjtcbiRmYS12YXItdG9pbGV0LXBhcGVyLXNsYXNoOiBcXGUwNzI7XG4kZmEtdmFyLWFwcGxlLXdob2xlOiBcXGY1ZDE7XG4kZmEtdmFyLWFwcGxlLWFsdDogXFxmNWQxO1xuJGZhLXZhci1raXRjaGVuLXNldDogXFxlNTFhO1xuJGZhLXZhci1yOiBcXDUyO1xuJGZhLXZhci10ZW1wZXJhdHVyZS1xdWFydGVyOiBcXGYyY2E7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLTE6IFxcZjJjYTtcbiRmYS12YXItdGhlcm1vbWV0ZXItMTogXFxmMmNhO1xuJGZhLXZhci10aGVybW9tZXRlci1xdWFydGVyOiBcXGYyY2E7XG4kZmEtdmFyLWN1YmU6IFxcZjFiMjtcbiRmYS12YXItYml0Y29pbi1zaWduOiBcXGUwYjQ7XG4kZmEtdmFyLXNoaWVsZC1kb2c6IFxcZTU3MztcbiRmYS12YXItc29sYXItcGFuZWw6IFxcZjViYTtcbiRmYS12YXItbG9jay1vcGVuOiBcXGYzYzE7XG4kZmEtdmFyLWVsZXZhdG9yOiBcXGUxNmQ7XG4kZmEtdmFyLW1vbmV5LWJpbGwtdHJhbnNmZXI6IFxcZTUyODtcbiRmYS12YXItbW9uZXktYmlsbC10cmVuZC11cDogXFxlNTI5O1xuJGZhLXZhci1ob3VzZS1mbG9vZC13YXRlci1jaXJjbGUtYXJyb3ctcmlnaHQ6IFxcZTUwZjtcbiRmYS12YXItc3F1YXJlLXBvbGwtaG9yaXpvbnRhbDogXFxmNjgyO1xuJGZhLXZhci1wb2xsLWg6IFxcZjY4MjtcbiRmYS12YXItY2lyY2xlOiBcXGYxMTE7XG4kZmEtdmFyLWJhY2t3YXJkLWZhc3Q6IFxcZjA0OTtcbiRmYS12YXItZmFzdC1iYWNrd2FyZDogXFxmMDQ5O1xuJGZhLXZhci1yZWN5Y2xlOiBcXGYxYjg7XG4kZmEtdmFyLXVzZXItYXN0cm9uYXV0OiBcXGY0ZmI7XG4kZmEtdmFyLXBsYW5lLXNsYXNoOiBcXGUwNjk7XG4kZmEtdmFyLXRyYWRlbWFyazogXFxmMjVjO1xuJGZhLXZhci1iYXNrZXRiYWxsOiBcXGY0MzQ7XG4kZmEtdmFyLWJhc2tldGJhbGwtYmFsbDogXFxmNDM0O1xuJGZhLXZhci1zYXRlbGxpdGUtZGlzaDogXFxmN2MwO1xuJGZhLXZhci1jaXJjbGUtdXA6IFxcZjM1YjtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cDogXFxmMzViO1xuJGZhLXZhci1tb2JpbGUtc2NyZWVuLWJ1dHRvbjogXFxmM2NkO1xuJGZhLXZhci1tb2JpbGUtYWx0OiBcXGYzY2Q7XG4kZmEtdmFyLXZvbHVtZS1oaWdoOiBcXGYwMjg7XG4kZmEtdmFyLXZvbHVtZS11cDogXFxmMDI4O1xuJGZhLXZhci11c2Vycy1yYXlzOiBcXGU1OTM7XG4kZmEtdmFyLXdhbGxldDogXFxmNTU1O1xuJGZhLXZhci1jbGlwYm9hcmQtY2hlY2s6IFxcZjQ2YztcbiRmYS12YXItZmlsZS1hdWRpbzogXFxmMWM3O1xuJGZhLXZhci1idXJnZXI6IFxcZjgwNTtcbiRmYS12YXItaGFtYnVyZ2VyOiBcXGY4MDU7XG4kZmEtdmFyLXdyZW5jaDogXFxmMGFkO1xuJGZhLXZhci1idWdzOiBcXGU0ZDA7XG4kZmEtdmFyLXJ1cGVlLXNpZ246IFxcZjE1NjtcbiRmYS12YXItcnVwZWU6IFxcZjE1NjtcbiRmYS12YXItZmlsZS1pbWFnZTogXFxmMWM1O1xuJGZhLXZhci1jaXJjbGUtcXVlc3Rpb246IFxcZjA1OTtcbiRmYS12YXItcXVlc3Rpb24tY2lyY2xlOiBcXGYwNTk7XG4kZmEtdmFyLXBsYW5lLWRlcGFydHVyZTogXFxmNWIwO1xuJGZhLXZhci1oYW5kc2hha2Utc2xhc2g6IFxcZTA2MDtcbiRmYS12YXItYm9vay1ib29rbWFyazogXFxlMGJiO1xuJGZhLXZhci1jb2RlLWJyYW5jaDogXFxmMTI2O1xuJGZhLXZhci1oYXQtY293Ym95OiBcXGY4YzA7XG4kZmEtdmFyLWJyaWRnZTogXFxlNGM4O1xuJGZhLXZhci1waG9uZS1mbGlwOiBcXGY4Nzk7XG4kZmEtdmFyLXBob25lLWFsdDogXFxmODc5O1xuJGZhLXZhci10cnVjay1mcm9udDogXFxlMmI3O1xuJGZhLXZhci1jYXQ6IFxcZjZiZTtcbiRmYS12YXItYW5jaG9yLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNGFiO1xuJGZhLXZhci10cnVjay1maWVsZDogXFxlNThkO1xuJGZhLXZhci1yb3V0ZTogXFxmNGQ3O1xuJGZhLXZhci1jbGlwYm9hcmQtcXVlc3Rpb246IFxcZTRlMztcbiRmYS12YXItcGFub3JhbWE6IFxcZTIwOTtcbiRmYS12YXItY29tbWVudC1tZWRpY2FsOiBcXGY3ZjU7XG4kZmEtdmFyLXRlZXRoLW9wZW46IFxcZjYyZjtcbiRmYS12YXItZmlsZS1jaXJjbGUtbWludXM6IFxcZTRlZDtcbiRmYS12YXItdGFnczogXFxmMDJjO1xuJGZhLXZhci13aW5lLWdsYXNzOiBcXGY0ZTM7XG4kZmEtdmFyLWZvcndhcmQtZmFzdDogXFxmMDUwO1xuJGZhLXZhci1mYXN0LWZvcndhcmQ6IFxcZjA1MDtcbiRmYS12YXItZmFjZS1tZWgtYmxhbms6IFxcZjVhNDtcbiRmYS12YXItbWVoLWJsYW5rOiBcXGY1YTQ7XG4kZmEtdmFyLXNxdWFyZS1wYXJraW5nOiBcXGY1NDA7XG4kZmEtdmFyLXBhcmtpbmc6IFxcZjU0MDtcbiRmYS12YXItaG91c2Utc2lnbmFsOiBcXGUwMTI7XG4kZmEtdmFyLWJhcnMtcHJvZ3Jlc3M6IFxcZjgyODtcbiRmYS12YXItdGFza3MtYWx0OiBcXGY4Mjg7XG4kZmEtdmFyLWZhdWNldC1kcmlwOiBcXGUwMDY7XG4kZmEtdmFyLWNhcnQtZmxhdGJlZDogXFxmNDc0O1xuJGZhLXZhci1kb2xseS1mbGF0YmVkOiBcXGY0NzQ7XG4kZmEtdmFyLWJhbi1zbW9raW5nOiBcXGY1NGQ7XG4kZmEtdmFyLXNtb2tpbmctYmFuOiBcXGY1NGQ7XG4kZmEtdmFyLXRlcm1pbmFsOiBcXGYxMjA7XG4kZmEtdmFyLW1vYmlsZS1idXR0b246IFxcZjEwYjtcbiRmYS12YXItaG91c2UtbWVkaWNhbC1mbGFnOiBcXGU1MTQ7XG4kZmEtdmFyLWJhc2tldC1zaG9wcGluZzogXFxmMjkxO1xuJGZhLXZhci1zaG9wcGluZy1iYXNrZXQ6IFxcZjI5MTtcbiRmYS12YXItdGFwZTogXFxmNGRiO1xuJGZhLXZhci1idXMtc2ltcGxlOiBcXGY1NWU7XG4kZmEtdmFyLWJ1cy1hbHQ6IFxcZjU1ZTtcbiRmYS12YXItZXllOiBcXGYwNmU7XG4kZmEtdmFyLWZhY2Utc2FkLWNyeTogXFxmNWIzO1xuJGZhLXZhci1zYWQtY3J5OiBcXGY1YjM7XG4kZmEtdmFyLWF1ZGlvLWRlc2NyaXB0aW9uOiBcXGYyOWU7XG4kZmEtdmFyLXBlcnNvbi1taWxpdGFyeS10by1wZXJzb246IFxcZTU0YztcbiRmYS12YXItZmlsZS1zaGllbGQ6IFxcZTRmMDtcbiRmYS12YXItdXNlci1zbGFzaDogXFxmNTA2O1xuJGZhLXZhci1wZW46IFxcZjMwNDtcbiRmYS12YXItdG93ZXItb2JzZXJ2YXRpb246IFxcZTU4NjtcbiRmYS12YXItZmlsZS1jb2RlOiBcXGYxYzk7XG4kZmEtdmFyLXNpZ25hbDogXFxmMDEyO1xuJGZhLXZhci1zaWduYWwtNTogXFxmMDEyO1xuJGZhLXZhci1zaWduYWwtcGVyZmVjdDogXFxmMDEyO1xuJGZhLXZhci1idXM6IFxcZjIwNztcbiRmYS12YXItaGVhcnQtY2lyY2xlLXhtYXJrOiBcXGU1MDE7XG4kZmEtdmFyLWhvdXNlLWNoaW1uZXk6IFxcZTNhZjtcbiRmYS12YXItaG9tZS1sZzogXFxlM2FmO1xuJGZhLXZhci13aW5kb3ctbWF4aW1pemU6IFxcZjJkMDtcbiRmYS12YXItZmFjZS1mcm93bjogXFxmMTE5O1xuJGZhLXZhci1mcm93bjogXFxmMTE5O1xuJGZhLXZhci1wcmVzY3JpcHRpb246IFxcZjViMTtcbiRmYS12YXItc2hvcDogXFxmNTRmO1xuJGZhLXZhci1zdG9yZS1hbHQ6IFxcZjU0ZjtcbiRmYS12YXItZmxvcHB5LWRpc2s6IFxcZjBjNztcbiRmYS12YXItc2F2ZTogXFxmMGM3O1xuJGZhLXZhci12aWhhcmE6IFxcZjZhNztcbiRmYS12YXItc2NhbGUtdW5iYWxhbmNlZDogXFxmNTE1O1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlLWxlZnQ6IFxcZjUxNTtcbiRmYS12YXItc29ydC11cDogXFxmMGRlO1xuJGZhLXZhci1zb3J0LWFzYzogXFxmMGRlO1xuJGZhLXZhci1jb21tZW50LWRvdHM6IFxcZjRhZDtcbiRmYS12YXItY29tbWVudGluZzogXFxmNGFkO1xuJGZhLXZhci1wbGFudC13aWx0OiBcXGU1YWE7XG4kZmEtdmFyLWRpYW1vbmQ6IFxcZjIxOTtcbiRmYS12YXItZmFjZS1ncmluLXNxdWludDogXFxmNTg1O1xuJGZhLXZhci1ncmluLXNxdWludDogXFxmNTg1O1xuJGZhLXZhci1oYW5kLWhvbGRpbmctZG9sbGFyOiBcXGY0YzA7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy11c2Q6IFxcZjRjMDtcbiRmYS12YXItYmFjdGVyaXVtOiBcXGUwNWE7XG4kZmEtdmFyLWhhbmQtcG9pbnRlcjogXFxmMjVhO1xuJGZhLXZhci1kcnVtLXN0ZWVscGFuOiBcXGY1NmE7XG4kZmEtdmFyLWhhbmQtc2Npc3NvcnM6IFxcZjI1NztcbiRmYS12YXItaGFuZHMtcHJheWluZzogXFxmNjg0O1xuJGZhLXZhci1wcmF5aW5nLWhhbmRzOiBcXGY2ODQ7XG4kZmEtdmFyLWFycm93LXJvdGF0ZS1yaWdodDogXFxmMDFlO1xuJGZhLXZhci1hcnJvdy1yaWdodC1yb3RhdGU6IFxcZjAxZTtcbiRmYS12YXItYXJyb3ctcm90YXRlLWZvcndhcmQ6IFxcZjAxZTtcbiRmYS12YXItcmVkbzogXFxmMDFlO1xuJGZhLXZhci1iaW9oYXphcmQ6IFxcZjc4MDtcbiRmYS12YXItbG9jYXRpb24tY3Jvc3NoYWlyczogXFxmNjAxO1xuJGZhLXZhci1sb2NhdGlvbjogXFxmNjAxO1xuJGZhLXZhci1tYXJzLWRvdWJsZTogXFxmMjI3O1xuJGZhLXZhci1jaGlsZC1kcmVzczogXFxlNTljO1xuJGZhLXZhci11c2Vycy1iZXR3ZWVuLWxpbmVzOiBcXGU1OTE7XG4kZmEtdmFyLWx1bmdzLXZpcnVzOiBcXGUwNjc7XG4kZmEtdmFyLWZhY2UtZ3Jpbi10ZWFyczogXFxmNTg4O1xuJGZhLXZhci1ncmluLXRlYXJzOiBcXGY1ODg7XG4kZmEtdmFyLXBob25lOiBcXGYwOTU7XG4kZmEtdmFyLWNhbGVuZGFyLXhtYXJrOiBcXGYyNzM7XG4kZmEtdmFyLWNhbGVuZGFyLXRpbWVzOiBcXGYyNzM7XG4kZmEtdmFyLWNoaWxkLXJlYWNoaW5nOiBcXGU1OWQ7XG4kZmEtdmFyLWhlYWQtc2lkZS12aXJ1czogXFxlMDY0O1xuJGZhLXZhci11c2VyLWdlYXI6IFxcZjRmZTtcbiRmYS12YXItdXNlci1jb2c6IFxcZjRmZTtcbiRmYS12YXItYXJyb3ctdXAtMS05OiBcXGYxNjM7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy11cDogXFxmMTYzO1xuJGZhLXZhci1kb29yLWNsb3NlZDogXFxmNTJhO1xuJGZhLXZhci1zaGllbGQtdmlydXM6IFxcZTA2YztcbiRmYS12YXItZGljZS1zaXg6IFxcZjUyNjtcbiRmYS12YXItbW9zcXVpdG8tbmV0OiBcXGU1MmM7XG4kZmEtdmFyLWJyaWRnZS13YXRlcjogXFxlNGNlO1xuJGZhLXZhci1wZXJzb24tYm9vdGg6IFxcZjc1NjtcbiRmYS12YXItdGV4dC13aWR0aDogXFxmMDM1O1xuJGZhLXZhci1oYXQtd2l6YXJkOiBcXGY2ZTg7XG4kZmEtdmFyLXBlbi1mYW5jeTogXFxmNWFjO1xuJGZhLXZhci1wZXJzb24tZGlnZ2luZzogXFxmODVlO1xuJGZhLXZhci1kaWdnaW5nOiBcXGY4NWU7XG4kZmEtdmFyLXRyYXNoOiBcXGYxZjg7XG4kZmEtdmFyLWdhdWdlLXNpbXBsZTogXFxmNjI5O1xuJGZhLXZhci1nYXVnZS1zaW1wbGUtbWVkOiBcXGY2Mjk7XG4kZmEtdmFyLXRhY2hvbWV0ZXItYXZlcmFnZTogXFxmNjI5O1xuJGZhLXZhci1ib29rLW1lZGljYWw6IFxcZjdlNjtcbiRmYS12YXItcG9vOiBcXGYyZmU7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0OiBcXGYxMGU7XG4kZmEtdmFyLXF1b3RlLXJpZ2h0LWFsdDogXFxmMTBlO1xuJGZhLXZhci1zaGlydDogXFxmNTUzO1xuJGZhLXZhci10LXNoaXJ0OiBcXGY1NTM7XG4kZmEtdmFyLXRzaGlydDogXFxmNTUzO1xuJGZhLXZhci1jdWJlczogXFxmMWIzO1xuJGZhLXZhci1kaXZpZGU6IFxcZjUyOTtcbiRmYS12YXItdGVuZ2Utc2lnbjogXFxmN2Q3O1xuJGZhLXZhci10ZW5nZTogXFxmN2Q3O1xuJGZhLXZhci1oZWFkcGhvbmVzOiBcXGYwMjU7XG4kZmEtdmFyLWhhbmRzLWhvbGRpbmc6IFxcZjRjMjtcbiRmYS12YXItaGFuZHMtY2xhcHBpbmc6IFxcZTFhODtcbiRmYS12YXItcmVwdWJsaWNhbjogXFxmNzVlO1xuJGZhLXZhci1hcnJvdy1sZWZ0OiBcXGYwNjA7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUteG1hcms6IFxcZTU0MztcbiRmYS12YXItcnVsZXI6IFxcZjU0NTtcbiRmYS12YXItYWxpZ24tbGVmdDogXFxmMDM2O1xuJGZhLXZhci1kaWNlLWQ2OiBcXGY2ZDE7XG4kZmEtdmFyLXJlc3Ryb29tOiBcXGY3YmQ7XG4kZmEtdmFyLWo6IFxcNGE7XG4kZmEtdmFyLXVzZXJzLXZpZXdmaW5kZXI6IFxcZTU5NTtcbiRmYS12YXItZmlsZS12aWRlbzogXFxmMWM4O1xuJGZhLXZhci11cC1yaWdodC1mcm9tLXNxdWFyZTogXFxmMzVkO1xuJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdDogXFxmMzVkO1xuJGZhLXZhci10YWJsZS1jZWxsczogXFxmMDBhO1xuJGZhLXZhci10aDogXFxmMDBhO1xuJGZhLXZhci1maWxlLXBkZjogXFxmMWMxO1xuJGZhLXZhci1ib29rLWJpYmxlOiBcXGY2NDc7XG4kZmEtdmFyLWJpYmxlOiBcXGY2NDc7XG4kZmEtdmFyLW86IFxcNGY7XG4kZmEtdmFyLXN1aXRjYXNlLW1lZGljYWw6IFxcZjBmYTtcbiRmYS12YXItbWVka2l0OiBcXGYwZmE7XG4kZmEtdmFyLXVzZXItc2VjcmV0OiBcXGYyMWI7XG4kZmEtdmFyLW90dGVyOiBcXGY3MDA7XG4kZmEtdmFyLXBlcnNvbi1kcmVzczogXFxmMTgyO1xuJGZhLXZhci1mZW1hbGU6IFxcZjE4MjtcbiRmYS12YXItY29tbWVudC1kb2xsYXI6IFxcZjY1MTtcbiRmYS12YXItYnVzaW5lc3MtdGltZTogXFxmNjRhO1xuJGZhLXZhci1icmllZmNhc2UtY2xvY2s6IFxcZjY0YTtcbiRmYS12YXItdGFibGUtY2VsbHMtbGFyZ2U6IFxcZjAwOTtcbiRmYS12YXItdGgtbGFyZ2U6IFxcZjAwOTtcbiRmYS12YXItYm9vay10YW5ha2g6IFxcZjgyNztcbiRmYS12YXItdGFuYWtoOiBcXGY4Mjc7XG4kZmEtdmFyLXBob25lLXZvbHVtZTogXFxmMmEwO1xuJGZhLXZhci12b2x1bWUtY29udHJvbC1waG9uZTogXFxmMmEwO1xuJGZhLXZhci1oYXQtY293Ym95LXNpZGU6IFxcZjhjMTtcbiRmYS12YXItY2xpcGJvYXJkLXVzZXI6IFxcZjdmMztcbiRmYS12YXItY2hpbGQ6IFxcZjFhZTtcbiRmYS12YXItbGlyYS1zaWduOiBcXGYxOTU7XG4kZmEtdmFyLXNhdGVsbGl0ZTogXFxmN2JmO1xuJGZhLXZhci1wbGFuZS1sb2NrOiBcXGU1NTg7XG4kZmEtdmFyLXRhZzogXFxmMDJiO1xuJGZhLXZhci1jb21tZW50OiBcXGYwNzU7XG4kZmEtdmFyLWNha2UtY2FuZGxlczogXFxmMWZkO1xuJGZhLXZhci1iaXJ0aGRheS1jYWtlOiBcXGYxZmQ7XG4kZmEtdmFyLWNha2U6IFxcZjFmZDtcbiRmYS12YXItZW52ZWxvcGU6IFxcZjBlMDtcbiRmYS12YXItYW5nbGVzLXVwOiBcXGYxMDI7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS11cDogXFxmMTAyO1xuJGZhLXZhci1wYXBlcmNsaXA6IFxcZjBjNjtcbiRmYS12YXItYXJyb3ctcmlnaHQtdG8tY2l0eTogXFxlNGIzO1xuJGZhLXZhci1yaWJib246IFxcZjRkNjtcbiRmYS12YXItbHVuZ3M6IFxcZjYwNDtcbiRmYS12YXItYXJyb3ctdXAtOS0xOiBcXGY4ODc7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy11cC1hbHQ6IFxcZjg4NztcbiRmYS12YXItbGl0ZWNvaW4tc2lnbjogXFxlMWQzO1xuJGZhLXZhci1ib3JkZXItbm9uZTogXFxmODUwO1xuJGZhLXZhci1jaXJjbGUtbm9kZXM6IFxcZTRlMjtcbiRmYS12YXItcGFyYWNodXRlLWJveDogXFxmNGNkO1xuJGZhLXZhci1pbmRlbnQ6IFxcZjAzYztcbiRmYS12YXItdHJ1Y2stZmllbGQtdW46IFxcZTU4ZTtcbiRmYS12YXItaG91cmdsYXNzOiBcXGYyNTQ7XG4kZmEtdmFyLWhvdXJnbGFzcy1lbXB0eTogXFxmMjU0O1xuJGZhLXZhci1tb3VudGFpbjogXFxmNmZjO1xuJGZhLXZhci11c2VyLWRvY3RvcjogXFxmMGYwO1xuJGZhLXZhci11c2VyLW1kOiBcXGYwZjA7XG4kZmEtdmFyLWNpcmNsZS1pbmZvOiBcXGYwNWE7XG4kZmEtdmFyLWluZm8tY2lyY2xlOiBcXGYwNWE7XG4kZmEtdmFyLWNsb3VkLW1lYXRiYWxsOiBcXGY3M2I7XG4kZmEtdmFyLWNhbWVyYTogXFxmMDMwO1xuJGZhLXZhci1jYW1lcmEtYWx0OiBcXGYwMzA7XG4kZmEtdmFyLXNxdWFyZS12aXJ1czogXFxlNTc4O1xuJGZhLXZhci1tZXRlb3I6IFxcZjc1MztcbiRmYS12YXItY2FyLW9uOiBcXGU0ZGQ7XG4kZmEtdmFyLXNsZWlnaDogXFxmN2NjO1xuJGZhLXZhci1hcnJvdy1kb3duLTEtOTogXFxmMTYyO1xuJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjOiBcXGYxNjI7XG4kZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duOiBcXGYxNjI7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1kcm9wbGV0OiBcXGY0YzE7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy13YXRlcjogXFxmNGMxO1xuJGZhLXZhci13YXRlcjogXFxmNzczO1xuJGZhLXZhci1jYWxlbmRhci1jaGVjazogXFxmMjc0O1xuJGZhLXZhci1icmFpbGxlOiBcXGYyYTE7XG4kZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbDogXFxmNDg2O1xuJGZhLXZhci1wcmVzY3JpcHRpb24tYm90dGxlLWFsdDogXFxmNDg2O1xuJGZhLXZhci1sYW5kbWFyazogXFxmNjZmO1xuJGZhLXZhci10cnVjazogXFxmMGQxO1xuJGZhLXZhci1jcm9zc2hhaXJzOiBcXGYwNWI7XG4kZmEtdmFyLXBlcnNvbi1jYW5lOiBcXGU1M2M7XG4kZmEtdmFyLXRlbnQ6IFxcZTU3ZDtcbiRmYS12YXItdmVzdC1wYXRjaGVzOiBcXGUwODY7XG4kZmEtdmFyLWNoZWNrLWRvdWJsZTogXFxmNTYwO1xuJGZhLXZhci1hcnJvdy1kb3duLWEtejogXFxmMTVkO1xuJGZhLXZhci1zb3J0LWFscGhhLWFzYzogXFxmMTVkO1xuJGZhLXZhci1zb3J0LWFscGhhLWRvd246IFxcZjE1ZDtcbiRmYS12YXItbW9uZXktYmlsbC13aGVhdDogXFxlNTJhO1xuJGZhLXZhci1jb29raWU6IFxcZjU2MztcbiRmYS12YXItYXJyb3ctcm90YXRlLWxlZnQ6IFxcZjBlMjtcbiRmYS12YXItYXJyb3ctbGVmdC1yb3RhdGU6IFxcZjBlMjtcbiRmYS12YXItYXJyb3ctcm90YXRlLWJhY2s6IFxcZjBlMjtcbiRmYS12YXItYXJyb3ctcm90YXRlLWJhY2t3YXJkOiBcXGYwZTI7XG4kZmEtdmFyLXVuZG86IFxcZjBlMjtcbiRmYS12YXItaGFyZC1kcml2ZTogXFxmMGEwO1xuJGZhLXZhci1oZGQ6IFxcZjBhMDtcbiRmYS12YXItZmFjZS1ncmluLXNxdWludC10ZWFyczogXFxmNTg2O1xuJGZhLXZhci1ncmluLXNxdWludC10ZWFyczogXFxmNTg2O1xuJGZhLXZhci1kdW1iYmVsbDogXFxmNDRiO1xuJGZhLXZhci1yZWN0YW5nbGUtbGlzdDogXFxmMDIyO1xuJGZhLXZhci1saXN0LWFsdDogXFxmMDIyO1xuJGZhLXZhci10YXJwLWRyb3BsZXQ6IFxcZTU3YztcbiRmYS12YXItaG91c2UtbWVkaWNhbC1jaXJjbGUtY2hlY2s6IFxcZTUxMTtcbiRmYS12YXItcGVyc29uLXNraWluZy1ub3JkaWM6IFxcZjdjYTtcbiRmYS12YXItc2tpaW5nLW5vcmRpYzogXFxmN2NhO1xuJGZhLXZhci1jYWxlbmRhci1wbHVzOiBcXGYyNzE7XG4kZmEtdmFyLXBsYW5lLWFycml2YWw6IFxcZjVhZjtcbiRmYS12YXItY2lyY2xlLWxlZnQ6IFxcZjM1OTtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1sZWZ0OiBcXGYzNTk7XG4kZmEtdmFyLXRyYWluLXN1YndheTogXFxmMjM5O1xuJGZhLXZhci1zdWJ3YXk6IFxcZjIzOTtcbiRmYS12YXItY2hhcnQtZ2FudHQ6IFxcZTBlNDtcbiRmYS12YXItaW5kaWFuLXJ1cGVlLXNpZ246IFxcZTFiYztcbiRmYS12YXItaW5kaWFuLXJ1cGVlOiBcXGUxYmM7XG4kZmEtdmFyLWlucjogXFxlMWJjO1xuJGZhLXZhci1jcm9wLXNpbXBsZTogXFxmNTY1O1xuJGZhLXZhci1jcm9wLWFsdDogXFxmNTY1O1xuJGZhLXZhci1tb25leS1iaWxsLTE6IFxcZjNkMTtcbiRmYS12YXItbW9uZXktYmlsbC1hbHQ6IFxcZjNkMTtcbiRmYS12YXItbGVmdC1sb25nOiBcXGYzMGE7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LWxlZnQ6IFxcZjMwYTtcbiRmYS12YXItZG5hOiBcXGY0NzE7XG4kZmEtdmFyLXZpcnVzLXNsYXNoOiBcXGUwNzU7XG4kZmEtdmFyLW1pbnVzOiBcXGYwNjg7XG4kZmEtdmFyLXN1YnRyYWN0OiBcXGYwNjg7XG4kZmEtdmFyLWNoZXNzOiBcXGY0Mzk7XG4kZmEtdmFyLWFycm93LWxlZnQtbG9uZzogXFxmMTc3O1xuJGZhLXZhci1sb25nLWFycm93LWxlZnQ6IFxcZjE3NztcbiRmYS12YXItcGx1Zy1jaXJjbGUtY2hlY2s6IFxcZTU1YztcbiRmYS12YXItc3RyZWV0LXZpZXc6IFxcZjIxZDtcbiRmYS12YXItZnJhbmMtc2lnbjogXFxlMThmO1xuJGZhLXZhci12b2x1bWUtb2ZmOiBcXGYwMjY7XG4kZmEtdmFyLWhhbmRzLWFzbC1pbnRlcnByZXRpbmc6IFxcZjJhMztcbiRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmc6IFxcZjJhMztcbiRmYS12YXItYXNsLWludGVycHJldGluZzogXFxmMmEzO1xuJGZhLXZhci1oYW5kcy1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzogXFxmMmEzO1xuJGZhLXZhci1nZWFyOiBcXGYwMTM7XG4kZmEtdmFyLWNvZzogXFxmMDEzO1xuJGZhLXZhci1kcm9wbGV0LXNsYXNoOiBcXGY1Yzc7XG4kZmEtdmFyLXRpbnQtc2xhc2g6IFxcZjVjNztcbiRmYS12YXItbW9zcXVlOiBcXGY2Nzg7XG4kZmEtdmFyLW1vc3F1aXRvOiBcXGU1MmI7XG4kZmEtdmFyLXN0YXItb2YtZGF2aWQ6IFxcZjY5YTtcbiRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXJpZmxlOiBcXGU1NGI7XG4kZmEtdmFyLWNhcnQtc2hvcHBpbmc6IFxcZjA3YTtcbiRmYS12YXItc2hvcHBpbmctY2FydDogXFxmMDdhO1xuJGZhLXZhci12aWFsczogXFxmNDkzO1xuJGZhLXZhci1wbHVnLWNpcmNsZS1wbHVzOiBcXGU1NWY7XG4kZmEtdmFyLXBsYWNlLW9mLXdvcnNoaXA6IFxcZjY3ZjtcbiRmYS12YXItZ3JpcC12ZXJ0aWNhbDogXFxmNThlO1xuJGZhLXZhci1hcnJvdy10dXJuLXVwOiBcXGYxNDg7XG4kZmEtdmFyLWxldmVsLXVwOiBcXGYxNDg7XG4kZmEtdmFyLXU6IFxcNTU7XG4kZmEtdmFyLXNxdWFyZS1yb290LXZhcmlhYmxlOiBcXGY2OTg7XG4kZmEtdmFyLXNxdWFyZS1yb290LWFsdDogXFxmNjk4O1xuJGZhLXZhci1jbG9jazogXFxmMDE3O1xuJGZhLXZhci1jbG9jay1mb3VyOiBcXGYwMTc7XG4kZmEtdmFyLWJhY2t3YXJkLXN0ZXA6IFxcZjA0ODtcbiRmYS12YXItc3RlcC1iYWNrd2FyZDogXFxmMDQ4O1xuJGZhLXZhci1wYWxsZXQ6IFxcZjQ4MjtcbiRmYS12YXItZmF1Y2V0OiBcXGUwMDU7XG4kZmEtdmFyLWJhc2ViYWxsLWJhdC1iYWxsOiBcXGY0MzI7XG4kZmEtdmFyLXM6IFxcNTM7XG4kZmEtdmFyLXRpbWVsaW5lOiBcXGUyOWM7XG4kZmEtdmFyLWtleWJvYXJkOiBcXGYxMWM7XG4kZmEtdmFyLWNhcmV0LWRvd246IFxcZjBkNztcbiRmYS12YXItaG91c2UtY2hpbW5leS1tZWRpY2FsOiBcXGY3ZjI7XG4kZmEtdmFyLWNsaW5pYy1tZWRpY2FsOiBcXGY3ZjI7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLXRocmVlLXF1YXJ0ZXJzOiBcXGYyYzg7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLTM6IFxcZjJjODtcbiRmYS12YXItdGhlcm1vbWV0ZXItMzogXFxmMmM4O1xuJGZhLXZhci10aGVybW9tZXRlci10aHJlZS1xdWFydGVyczogXFxmMmM4O1xuJGZhLXZhci1tb2JpbGUtc2NyZWVuOiBcXGYzY2Y7XG4kZmEtdmFyLW1vYmlsZS1hbmRyb2lkLWFsdDogXFxmM2NmO1xuJGZhLXZhci1wbGFuZS11cDogXFxlMjJkO1xuJGZhLXZhci1waWdneS1iYW5rOiBcXGY0ZDM7XG4kZmEtdmFyLWJhdHRlcnktaGFsZjogXFxmMjQyO1xuJGZhLXZhci1iYXR0ZXJ5LTM6IFxcZjI0MjtcbiRmYS12YXItbW91bnRhaW4tY2l0eTogXFxlNTJlO1xuJGZhLXZhci1jb2luczogXFxmNTFlO1xuJGZhLXZhci1raGFuZGE6IFxcZjY2ZDtcbiRmYS12YXItc2xpZGVyczogXFxmMWRlO1xuJGZhLXZhci1zbGlkZXJzLWg6IFxcZjFkZTtcbiRmYS12YXItZm9sZGVyLXRyZWU6IFxcZjgwMjtcbiRmYS12YXItbmV0d29yay13aXJlZDogXFxmNmZmO1xuJGZhLXZhci1tYXAtcGluOiBcXGYyNzY7XG4kZmEtdmFyLWhhbXNhOiBcXGY2NjU7XG4kZmEtdmFyLWNlbnQtc2lnbjogXFxlM2Y1O1xuJGZhLXZhci1mbGFzazogXFxmMGMzO1xuJGZhLXZhci1wZXJzb24tcHJlZ25hbnQ6IFxcZTMxZTtcbiRmYS12YXItd2FuZC1zcGFya2xlczogXFxmNzJiO1xuJGZhLXZhci1lbGxpcHNpcy12ZXJ0aWNhbDogXFxmMTQyO1xuJGZhLXZhci1lbGxpcHNpcy12OiBcXGYxNDI7XG4kZmEtdmFyLXRpY2tldDogXFxmMTQ1O1xuJGZhLXZhci1wb3dlci1vZmY6IFxcZjAxMTtcbiRmYS12YXItcmlnaHQtbG9uZzogXFxmMzBiO1xuJGZhLXZhci1sb25nLWFycm93LWFsdC1yaWdodDogXFxmMzBiO1xuJGZhLXZhci1mbGFnLXVzYTogXFxmNzRkO1xuJGZhLXZhci1sYXB0b3AtZmlsZTogXFxlNTFkO1xuJGZhLXZhci10dHk6IFxcZjFlNDtcbiRmYS12YXItdGVsZXR5cGU6IFxcZjFlNDtcbiRmYS12YXItZGlhZ3JhbS1uZXh0OiBcXGU0NzY7XG4kZmEtdmFyLXBlcnNvbi1yaWZsZTogXFxlNTRlO1xuJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTEyO1xuJGZhLXZhci1jbG9zZWQtY2FwdGlvbmluZzogXFxmMjBhO1xuJGZhLXZhci1wZXJzb24taGlraW5nOiBcXGY2ZWM7XG4kZmEtdmFyLWhpa2luZzogXFxmNmVjO1xuJGZhLXZhci12ZW51cy1kb3VibGU6IFxcZjIyNjtcbiRmYS12YXItaW1hZ2VzOiBcXGYzMDI7XG4kZmEtdmFyLWNhbGN1bGF0b3I6IFxcZjFlYztcbiRmYS12YXItcGVvcGxlLXB1bGxpbmc6IFxcZTUzNTtcbiRmYS12YXItbjogXFw0ZTtcbiRmYS12YXItY2FibGUtY2FyOiBcXGY3ZGE7XG4kZmEtdmFyLXRyYW06IFxcZjdkYTtcbiRmYS12YXItY2xvdWQtcmFpbjogXFxmNzNkO1xuJGZhLXZhci1idWlsZGluZy1jaXJjbGUteG1hcms6IFxcZTRkNDtcbiRmYS12YXItc2hpcDogXFxmMjFhO1xuJGZhLXZhci1hcnJvd3MtZG93bi10by1saW5lOiBcXGU0Yjg7XG4kZmEtdmFyLWRvd25sb2FkOiBcXGYwMTk7XG4kZmEtdmFyLWZhY2UtZ3JpbjogXFxmNTgwO1xuJGZhLXZhci1ncmluOiBcXGY1ODA7XG4kZmEtdmFyLWRlbGV0ZS1sZWZ0OiBcXGY1NWE7XG4kZmEtdmFyLWJhY2tzcGFjZTogXFxmNTVhO1xuJGZhLXZhci1leWUtZHJvcHBlcjogXFxmMWZiO1xuJGZhLXZhci1leWUtZHJvcHBlci1lbXB0eTogXFxmMWZiO1xuJGZhLXZhci1leWVkcm9wcGVyOiBcXGYxZmI7XG4kZmEtdmFyLWZpbGUtY2lyY2xlLWNoZWNrOiBcXGU1YTA7XG4kZmEtdmFyLWZvcndhcmQ6IFxcZjA0ZTtcbiRmYS12YXItbW9iaWxlOiBcXGYzY2U7XG4kZmEtdmFyLW1vYmlsZS1hbmRyb2lkOiBcXGYzY2U7XG4kZmEtdmFyLW1vYmlsZS1waG9uZTogXFxmM2NlO1xuJGZhLXZhci1mYWNlLW1laDogXFxmMTFhO1xuJGZhLXZhci1tZWg6IFxcZjExYTtcbiRmYS12YXItYWxpZ24tY2VudGVyOiBcXGYwMzc7XG4kZmEtdmFyLWJvb2stc2t1bGw6IFxcZjZiNztcbiRmYS12YXItYm9vay1kZWFkOiBcXGY2Yjc7XG4kZmEtdmFyLWlkLWNhcmQ6IFxcZjJjMjtcbiRmYS12YXItZHJpdmVycy1saWNlbnNlOiBcXGYyYzI7XG4kZmEtdmFyLW91dGRlbnQ6IFxcZjAzYjtcbiRmYS12YXItZGVkZW50OiBcXGYwM2I7XG4kZmEtdmFyLWhlYXJ0LWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNGZlO1xuJGZhLXZhci1ob3VzZTogXFxmMDE1O1xuJGZhLXZhci1ob21lOiBcXGYwMTU7XG4kZmEtdmFyLWhvbWUtYWx0OiBcXGYwMTU7XG4kZmEtdmFyLWhvbWUtbGctYWx0OiBcXGYwMTU7XG4kZmEtdmFyLWNhbGVuZGFyLXdlZWs6IFxcZjc4NDtcbiRmYS12YXItbGFwdG9wLW1lZGljYWw6IFxcZjgxMjtcbiRmYS12YXItYjogXFw0MjtcbiRmYS12YXItZmlsZS1tZWRpY2FsOiBcXGY0Nzc7XG4kZmEtdmFyLWRpY2Utb25lOiBcXGY1MjU7XG4kZmEtdmFyLWtpd2ktYmlyZDogXFxmNTM1O1xuJGZhLXZhci1hcnJvdy1yaWdodC1hcnJvdy1sZWZ0OiBcXGYwZWM7XG4kZmEtdmFyLWV4Y2hhbmdlOiBcXGYwZWM7XG4kZmEtdmFyLXJvdGF0ZS1yaWdodDogXFxmMmY5O1xuJGZhLXZhci1yZWRvLWFsdDogXFxmMmY5O1xuJGZhLXZhci1yb3RhdGUtZm9yd2FyZDogXFxmMmY5O1xuJGZhLXZhci11dGVuc2lsczogXFxmMmU3O1xuJGZhLXZhci1jdXRsZXJ5OiBcXGYyZTc7XG4kZmEtdmFyLWFycm93LXVwLXdpZGUtc2hvcnQ6IFxcZjE2MTtcbiRmYS12YXItc29ydC1hbW91bnQtdXA6IFxcZjE2MTtcbiRmYS12YXItbWlsbC1zaWduOiBcXGUxZWQ7XG4kZmEtdmFyLWJvd2wtcmljZTogXFxlMmViO1xuJGZhLXZhci1za3VsbDogXFxmNTRjO1xuJGZhLXZhci10b3dlci1icm9hZGNhc3Q6IFxcZjUxOTtcbiRmYS12YXItYnJvYWRjYXN0LXRvd2VyOiBcXGY1MTk7XG4kZmEtdmFyLXRydWNrLXBpY2t1cDogXFxmNjNjO1xuJGZhLXZhci11cC1sb25nOiBcXGYzMGM7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwOiBcXGYzMGM7XG4kZmEtdmFyLXN0b3A6IFxcZjA0ZDtcbiRmYS12YXItY29kZS1tZXJnZTogXFxmMzg3O1xuJGZhLXZhci11cGxvYWQ6IFxcZjA5MztcbiRmYS12YXItaHVycmljYW5lOiBcXGY3NTE7XG4kZmEtdmFyLW1vdW5kOiBcXGU1MmQ7XG4kZmEtdmFyLXRvaWxldC1wb3J0YWJsZTogXFxlNTgzO1xuJGZhLXZhci1jb21wYWN0LWRpc2M6IFxcZjUxZjtcbiRmYS12YXItZmlsZS1hcnJvdy1kb3duOiBcXGY1NmQ7XG4kZmEtdmFyLWZpbGUtZG93bmxvYWQ6IFxcZjU2ZDtcbiRmYS12YXItY2FyYXZhbjogXFxmOGZmO1xuJGZhLXZhci1zaGllbGQtY2F0OiBcXGU1NzI7XG4kZmEtdmFyLWJvbHQ6IFxcZjBlNztcbiRmYS12YXItemFwOiBcXGYwZTc7XG4kZmEtdmFyLWdsYXNzLXdhdGVyOiBcXGU0ZjQ7XG4kZmEtdmFyLW9pbC13ZWxsOiBcXGU1MzI7XG4kZmEtdmFyLXZhdWx0OiBcXGUyYzU7XG4kZmEtdmFyLW1hcnM6IFxcZjIyMjtcbiRmYS12YXItdG9pbGV0OiBcXGY3ZDg7XG4kZmEtdmFyLXBsYW5lLWNpcmNsZS14bWFyazogXFxlNTU3O1xuJGZhLXZhci15ZW4tc2lnbjogXFxmMTU3O1xuJGZhLXZhci1jbnk6IFxcZjE1NztcbiRmYS12YXItanB5OiBcXGYxNTc7XG4kZmEtdmFyLXJtYjogXFxmMTU3O1xuJGZhLXZhci15ZW46IFxcZjE1NztcbiRmYS12YXItcnVibGUtc2lnbjogXFxmMTU4O1xuJGZhLXZhci1yb3VibGU6IFxcZjE1ODtcbiRmYS12YXItcnViOiBcXGYxNTg7XG4kZmEtdmFyLXJ1YmxlOiBcXGYxNTg7XG4kZmEtdmFyLXN1bjogXFxmMTg1O1xuJGZhLXZhci1ndWl0YXI6IFxcZjdhNjtcbiRmYS12YXItZmFjZS1sYXVnaC13aW5rOiBcXGY1OWM7XG4kZmEtdmFyLWxhdWdoLXdpbms6IFxcZjU5YztcbiRmYS12YXItaG9yc2UtaGVhZDogXFxmN2FiO1xuJGZhLXZhci1ib3JlLWhvbGU6IFxcZTRjMztcbiRmYS12YXItaW5kdXN0cnk6IFxcZjI3NTtcbiRmYS12YXItY2lyY2xlLWRvd246IFxcZjM1ODtcbiRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1kb3duOiBcXGYzNTg7XG4kZmEtdmFyLWFycm93cy10dXJuLXRvLWRvdHM6IFxcZTRjMTtcbiRmYS12YXItZmxvcmluLXNpZ246IFxcZTE4NDtcbiRmYS12YXItYXJyb3ctZG93bi1zaG9ydC13aWRlOiBcXGY4ODQ7XG4kZmEtdmFyLXNvcnQtYW1vdW50LWRlc2M6IFxcZjg4NDtcbiRmYS12YXItc29ydC1hbW91bnQtZG93bi1hbHQ6IFxcZjg4NDtcbiRmYS12YXItbGVzcy10aGFuOiBcXDNjO1xuJGZhLXZhci1hbmdsZS1kb3duOiBcXGYxMDc7XG4kZmEtdmFyLWNhci10dW5uZWw6IFxcZTRkZTtcbiRmYS12YXItaGVhZC1zaWRlLWNvdWdoOiBcXGUwNjE7XG4kZmEtdmFyLWdyaXAtbGluZXM6IFxcZjdhNDtcbiRmYS12YXItdGh1bWJzLWRvd246IFxcZjE2NTtcbiRmYS12YXItdXNlci1sb2NrOiBcXGY1MDI7XG4kZmEtdmFyLWFycm93LXJpZ2h0LWxvbmc6IFxcZjE3ODtcbiRmYS12YXItbG9uZy1hcnJvdy1yaWdodDogXFxmMTc4O1xuJGZhLXZhci1hbmNob3ItY2lyY2xlLXhtYXJrOiBcXGU0YWM7XG4kZmEtdmFyLWVsbGlwc2lzOiBcXGYxNDE7XG4kZmEtdmFyLWVsbGlwc2lzLWg6IFxcZjE0MTtcbiRmYS12YXItY2hlc3MtcGF3bjogXFxmNDQzO1xuJGZhLXZhci1raXQtbWVkaWNhbDogXFxmNDc5O1xuJGZhLXZhci1maXJzdC1haWQ6IFxcZjQ3OTtcbiRmYS12YXItcGVyc29uLXRocm91Z2gtd2luZG93OiBcXGU1YTk7XG4kZmEtdmFyLXRvb2xib3g6IFxcZjU1MjtcbiRmYS12YXItaGFuZHMtaG9sZGluZy1jaXJjbGU6IFxcZTRmYjtcbiRmYS12YXItYnVnOiBcXGYxODg7XG4kZmEtdmFyLWNyZWRpdC1jYXJkOiBcXGYwOWQ7XG4kZmEtdmFyLWNyZWRpdC1jYXJkLWFsdDogXFxmMDlkO1xuJGZhLXZhci1jYXI6IFxcZjFiOTtcbiRmYS12YXItYXV0b21vYmlsZTogXFxmMWI5O1xuJGZhLXZhci1oYW5kLWhvbGRpbmctaGFuZDogXFxlNGY3O1xuJGZhLXZhci1ib29rLW9wZW4tcmVhZGVyOiBcXGY1ZGE7XG4kZmEtdmFyLWJvb2stcmVhZGVyOiBcXGY1ZGE7XG4kZmEtdmFyLW1vdW50YWluLXN1bjogXFxlNTJmO1xuJGZhLXZhci1hcnJvd3MtbGVmdC1yaWdodC10by1saW5lOiBcXGU0YmE7XG4kZmEtdmFyLWRpY2UtZDIwOiBcXGY2Y2Y7XG4kZmEtdmFyLXRydWNrLWRyb3BsZXQ6IFxcZTU4YztcbiRmYS12YXItZmlsZS1jaXJjbGUteG1hcms6IFxcZTVhMTtcbiRmYS12YXItdGVtcGVyYXR1cmUtYXJyb3ctdXA6IFxcZTA0MDtcbiRmYS12YXItdGVtcGVyYXR1cmUtdXA6IFxcZTA0MDtcbiRmYS12YXItbWVkYWw6IFxcZjVhMjtcbiRmYS12YXItYmVkOiBcXGYyMzY7XG4kZmEtdmFyLXNxdWFyZS1oOiBcXGYwZmQ7XG4kZmEtdmFyLWgtc3F1YXJlOiBcXGYwZmQ7XG4kZmEtdmFyLXBvZGNhc3Q6IFxcZjJjZTtcbiRmYS12YXItdGVtcGVyYXR1cmUtZnVsbDogXFxmMmM3O1xuJGZhLXZhci10ZW1wZXJhdHVyZS00OiBcXGYyYzc7XG4kZmEtdmFyLXRoZXJtb21ldGVyLTQ6IFxcZjJjNztcbiRmYS12YXItdGhlcm1vbWV0ZXItZnVsbDogXFxmMmM3O1xuJGZhLXZhci1iZWxsOiBcXGYwZjM7XG4kZmEtdmFyLXN1cGVyc2NyaXB0OiBcXGYxMmI7XG4kZmEtdmFyLXBsdWctY2lyY2xlLXhtYXJrOiBcXGU1NjA7XG4kZmEtdmFyLXN0YXItb2YtbGlmZTogXFxmNjIxO1xuJGZhLXZhci1waG9uZS1zbGFzaDogXFxmM2RkO1xuJGZhLXZhci1wYWludC1yb2xsZXI6IFxcZjVhYTtcbiRmYS12YXItaGFuZHNoYWtlLWFuZ2xlOiBcXGY0YzQ7XG4kZmEtdmFyLWhhbmRzLWhlbHBpbmc6IFxcZjRjNDtcbiRmYS12YXItbG9jYXRpb24tZG90OiBcXGYzYzU7XG4kZmEtdmFyLW1hcC1tYXJrZXItYWx0OiBcXGYzYzU7XG4kZmEtdmFyLWZpbGU6IFxcZjE1YjtcbiRmYS12YXItZ3JlYXRlci10aGFuOiBcXDNlO1xuJGZhLXZhci1wZXJzb24tc3dpbW1pbmc6IFxcZjVjNDtcbiRmYS12YXItc3dpbW1lcjogXFxmNWM0O1xuJGZhLXZhci1hcnJvdy1kb3duOiBcXGYwNjM7XG4kZmEtdmFyLWRyb3BsZXQ6IFxcZjA0MztcbiRmYS12YXItdGludDogXFxmMDQzO1xuJGZhLXZhci1lcmFzZXI6IFxcZjEyZDtcbiRmYS12YXItZWFydGgtYW1lcmljYXM6IFxcZjU3ZDtcbiRmYS12YXItZWFydGg6IFxcZjU3ZDtcbiRmYS12YXItZWFydGgtYW1lcmljYTogXFxmNTdkO1xuJGZhLXZhci1nbG9iZS1hbWVyaWNhczogXFxmNTdkO1xuJGZhLXZhci1wZXJzb24tYnVyc3Q6IFxcZTUzYjtcbiRmYS12YXItZG92ZTogXFxmNGJhO1xuJGZhLXZhci1iYXR0ZXJ5LWVtcHR5OiBcXGYyNDQ7XG4kZmEtdmFyLWJhdHRlcnktMDogXFxmMjQ0O1xuJGZhLXZhci1zb2NrczogXFxmNjk2O1xuJGZhLXZhci1pbmJveDogXFxmMDFjO1xuJGZhLXZhci1zZWN0aW9uOiBcXGU0NDc7XG4kZmEtdmFyLWdhdWdlLWhpZ2g6IFxcZjYyNTtcbiRmYS12YXItdGFjaG9tZXRlci1hbHQ6IFxcZjYyNTtcbiRmYS12YXItdGFjaG9tZXRlci1hbHQtZmFzdDogXFxmNjI1O1xuJGZhLXZhci1lbnZlbG9wZS1vcGVuLXRleHQ6IFxcZjY1ODtcbiRmYS12YXItaG9zcGl0YWw6IFxcZjBmODtcbiRmYS12YXItaG9zcGl0YWwtYWx0OiBcXGYwZjg7XG4kZmEtdmFyLWhvc3BpdGFsLXdpZGU6IFxcZjBmODtcbiRmYS12YXItd2luZS1ib3R0bGU6IFxcZjcyZjtcbiRmYS12YXItY2hlc3Mtcm9vazogXFxmNDQ3O1xuJGZhLXZhci1iYXJzLXN0YWdnZXJlZDogXFxmNTUwO1xuJGZhLXZhci1yZW9yZGVyOiBcXGY1NTA7XG4kZmEtdmFyLXN0cmVhbTogXFxmNTUwO1xuJGZhLXZhci1kaGFybWFjaGFrcmE6IFxcZjY1NTtcbiRmYS12YXItaG90ZG9nOiBcXGY4MGY7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nLXdpdGgtY2FuZTogXFxmMjlkO1xuJGZhLXZhci1ibGluZDogXFxmMjlkO1xuJGZhLXZhci1kcnVtOiBcXGY1Njk7XG4kZmEtdmFyLWljZS1jcmVhbTogXFxmODEwO1xuJGZhLXZhci1oZWFydC1jaXJjbGUtYm9sdDogXFxlNGZjO1xuJGZhLXZhci1mYXg6IFxcZjFhYztcbiRmYS12YXItcGFyYWdyYXBoOiBcXGYxZGQ7XG4kZmEtdmFyLWNoZWNrLXRvLXNsb3Q6IFxcZjc3MjtcbiRmYS12YXItdm90ZS15ZWE6IFxcZjc3MjtcbiRmYS12YXItc3Rhci1oYWxmOiBcXGYwODk7XG4kZmEtdmFyLWJveGVzLXN0YWNrZWQ6IFxcZjQ2ODtcbiRmYS12YXItYm94ZXM6IFxcZjQ2ODtcbiRmYS12YXItYm94ZXMtYWx0OiBcXGY0Njg7XG4kZmEtdmFyLWxpbms6IFxcZjBjMTtcbiRmYS12YXItY2hhaW46IFxcZjBjMTtcbiRmYS12YXItZWFyLWxpc3RlbjogXFxmMmEyO1xuJGZhLXZhci1hc3Npc3RpdmUtbGlzdGVuaW5nLXN5c3RlbXM6IFxcZjJhMjtcbiRmYS12YXItdHJlZS1jaXR5OiBcXGU1ODc7XG4kZmEtdmFyLXBsYXk6IFxcZjA0YjtcbiRmYS12YXItZm9udDogXFxmMDMxO1xuJGZhLXZhci1ydXBpYWgtc2lnbjogXFxlMjNkO1xuJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzOiBcXGYwMDI7XG4kZmEtdmFyLXNlYXJjaDogXFxmMDAyO1xuJGZhLXZhci10YWJsZS10ZW5uaXMtcGFkZGxlLWJhbGw6IFxcZjQ1ZDtcbiRmYS12YXItcGluZy1wb25nLXBhZGRsZS1iYWxsOiBcXGY0NWQ7XG4kZmEtdmFyLXRhYmxlLXRlbm5pczogXFxmNDVkO1xuJGZhLXZhci1wZXJzb24tZG90cy1mcm9tLWxpbmU6IFxcZjQ3MDtcbiRmYS12YXItZGlhZ25vc2VzOiBcXGY0NzA7XG4kZmEtdmFyLXRyYXNoLWNhbi1hcnJvdy11cDogXFxmODJhO1xuJGZhLXZhci10cmFzaC1yZXN0b3JlLWFsdDogXFxmODJhO1xuJGZhLXZhci1uYWlyYS1zaWduOiBcXGUxZjY7XG4kZmEtdmFyLWNhcnQtYXJyb3ctZG93bjogXFxmMjE4O1xuJGZhLXZhci13YWxraWUtdGFsa2llOiBcXGY4ZWY7XG4kZmEtdmFyLWZpbGUtcGVuOiBcXGYzMWM7XG4kZmEtdmFyLWZpbGUtZWRpdDogXFxmMzFjO1xuJGZhLXZhci1yZWNlaXB0OiBcXGY1NDM7XG4kZmEtdmFyLXNxdWFyZS1wZW46IFxcZjE0YjtcbiRmYS12YXItcGVuLXNxdWFyZTogXFxmMTRiO1xuJGZhLXZhci1wZW5jaWwtc3F1YXJlOiBcXGYxNGI7XG4kZmEtdmFyLXN1aXRjYXNlLXJvbGxpbmc6IFxcZjVjMTtcbiRmYS12YXItcGVyc29uLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTNmO1xuJGZhLXZhci1jaGV2cm9uLWRvd246IFxcZjA3ODtcbiRmYS12YXItYmF0dGVyeS1mdWxsOiBcXGYyNDA7XG4kZmEtdmFyLWJhdHRlcnk6IFxcZjI0MDtcbiRmYS12YXItYmF0dGVyeS01OiBcXGYyNDA7XG4kZmEtdmFyLXNrdWxsLWNyb3NzYm9uZXM6IFxcZjcxNDtcbiRmYS12YXItY29kZS1jb21wYXJlOiBcXGUxM2E7XG4kZmEtdmFyLWxpc3QtdWw6IFxcZjBjYTtcbiRmYS12YXItbGlzdC1kb3RzOiBcXGYwY2E7XG4kZmEtdmFyLXNjaG9vbC1sb2NrOiBcXGU1NmY7XG4kZmEtdmFyLXRvd2VyLWNlbGw6IFxcZTU4NTtcbiRmYS12YXItZG93bi1sb25nOiBcXGYzMDk7XG4kZmEtdmFyLWxvbmctYXJyb3ctYWx0LWRvd246IFxcZjMwOTtcbiRmYS12YXItcmFua2luZy1zdGFyOiBcXGU1NjE7XG4kZmEtdmFyLWNoZXNzLWtpbmc6IFxcZjQzZjtcbiRmYS12YXItcGVyc29uLWhhcmFzc2luZzogXFxlNTQ5O1xuJGZhLXZhci1icmF6aWxpYW4tcmVhbC1zaWduOiBcXGU0NmM7XG4kZmEtdmFyLWxhbmRtYXJrLWRvbWU6IFxcZjc1MjtcbiRmYS12YXItbGFuZG1hcmstYWx0OiBcXGY3NTI7XG4kZmEtdmFyLWFycm93LXVwOiBcXGYwNjI7XG4kZmEtdmFyLXR2OiBcXGYyNmM7XG4kZmEtdmFyLXRlbGV2aXNpb246IFxcZjI2YztcbiRmYS12YXItdHYtYWx0OiBcXGYyNmM7XG4kZmEtdmFyLXNocmltcDogXFxlNDQ4O1xuJGZhLXZhci1saXN0LWNoZWNrOiBcXGYwYWU7XG4kZmEtdmFyLXRhc2tzOiBcXGYwYWU7XG4kZmEtdmFyLWp1Zy1kZXRlcmdlbnQ6IFxcZTUxOTtcbiRmYS12YXItY2lyY2xlLXVzZXI6IFxcZjJiZDtcbiRmYS12YXItdXNlci1jaXJjbGU6IFxcZjJiZDtcbiRmYS12YXItdXNlci1zaGllbGQ6IFxcZjUwNTtcbiRmYS12YXItd2luZDogXFxmNzJlO1xuJGZhLXZhci1jYXItYnVyc3Q6IFxcZjVlMTtcbiRmYS12YXItY2FyLWNyYXNoOiBcXGY1ZTE7XG4kZmEtdmFyLXk6IFxcNTk7XG4kZmEtdmFyLXBlcnNvbi1zbm93Ym9hcmRpbmc6IFxcZjdjZTtcbiRmYS12YXItc25vd2JvYXJkaW5nOiBcXGY3Y2U7XG4kZmEtdmFyLXRydWNrLWZhc3Q6IFxcZjQ4YjtcbiRmYS12YXItc2hpcHBpbmctZmFzdDogXFxmNDhiO1xuJGZhLXZhci1maXNoOiBcXGY1Nzg7XG4kZmEtdmFyLXVzZXItZ3JhZHVhdGU6IFxcZjUwMTtcbiRmYS12YXItY2lyY2xlLWhhbGYtc3Ryb2tlOiBcXGYwNDI7XG4kZmEtdmFyLWFkanVzdDogXFxmMDQyO1xuJGZhLXZhci1jbGFwcGVyYm9hcmQ6IFxcZTEzMTtcbiRmYS12YXItY2lyY2xlLXJhZGlhdGlvbjogXFxmN2JhO1xuJGZhLXZhci1yYWRpYXRpb24tYWx0OiBcXGY3YmE7XG4kZmEtdmFyLWJhc2ViYWxsOiBcXGY0MzM7XG4kZmEtdmFyLWJhc2ViYWxsLWJhbGw6IFxcZjQzMztcbiRmYS12YXItamV0LWZpZ2h0ZXItdXA6IFxcZTUxODtcbiRmYS12YXItZGlhZ3JhbS1wcm9qZWN0OiBcXGY1NDI7XG4kZmEtdmFyLXByb2plY3QtZGlhZ3JhbTogXFxmNTQyO1xuJGZhLXZhci1jb3B5OiBcXGYwYzU7XG4kZmEtdmFyLXZvbHVtZS14bWFyazogXFxmNmE5O1xuJGZhLXZhci12b2x1bWUtbXV0ZTogXFxmNmE5O1xuJGZhLXZhci12b2x1bWUtdGltZXM6IFxcZjZhOTtcbiRmYS12YXItaGFuZC1zcGFya2xlczogXFxlMDVkO1xuJGZhLXZhci1ncmlwOiBcXGY1OGQ7XG4kZmEtdmFyLWdyaXAtaG9yaXpvbnRhbDogXFxmNThkO1xuJGZhLXZhci1zaGFyZS1mcm9tLXNxdWFyZTogXFxmMTRkO1xuJGZhLXZhci1zaGFyZS1zcXVhcmU6IFxcZjE0ZDtcbiRmYS12YXItY2hpbGQtY29tYmF0YW50OiBcXGU0ZTA7XG4kZmEtdmFyLWNoaWxkLXJpZmxlOiBcXGU0ZTA7XG4kZmEtdmFyLWd1bjogXFxlMTliO1xuJGZhLXZhci1zcXVhcmUtcGhvbmU6IFxcZjA5ODtcbiRmYS12YXItcGhvbmUtc3F1YXJlOiBcXGYwOTg7XG4kZmEtdmFyLXBsdXM6IFxcMmI7XG4kZmEtdmFyLWFkZDogXFwyYjtcbiRmYS12YXItZXhwYW5kOiBcXGYwNjU7XG4kZmEtdmFyLWNvbXB1dGVyOiBcXGU0ZTU7XG4kZmEtdmFyLXhtYXJrOiBcXGYwMGQ7XG4kZmEtdmFyLWNsb3NlOiBcXGYwMGQ7XG4kZmEtdmFyLW11bHRpcGx5OiBcXGYwMGQ7XG4kZmEtdmFyLXJlbW92ZTogXFxmMDBkO1xuJGZhLXZhci10aW1lczogXFxmMDBkO1xuJGZhLXZhci1hcnJvd3MtdXAtZG93bi1sZWZ0LXJpZ2h0OiBcXGYwNDc7XG4kZmEtdmFyLWFycm93czogXFxmMDQ3O1xuJGZhLXZhci1jaGFsa2JvYXJkLXVzZXI6IFxcZjUxYztcbiRmYS12YXItY2hhbGtib2FyZC10ZWFjaGVyOiBcXGY1MWM7XG4kZmEtdmFyLXBlc28tc2lnbjogXFxlMjIyO1xuJGZhLXZhci1idWlsZGluZy1zaGllbGQ6IFxcZTRkODtcbiRmYS12YXItYmFieTogXFxmNzdjO1xuJGZhLXZhci11c2Vycy1saW5lOiBcXGU1OTI7XG4kZmEtdmFyLXF1b3RlLWxlZnQ6IFxcZjEwZDtcbiRmYS12YXItcXVvdGUtbGVmdC1hbHQ6IFxcZjEwZDtcbiRmYS12YXItdHJhY3RvcjogXFxmNzIyO1xuJGZhLXZhci10cmFzaC1hcnJvdy11cDogXFxmODI5O1xuJGZhLXZhci10cmFzaC1yZXN0b3JlOiBcXGY4Mjk7XG4kZmEtdmFyLWFycm93LWRvd24tdXAtbG9jazogXFxlNGIwO1xuJGZhLXZhci1saW5lcy1sZWFuaW5nOiBcXGU1MWU7XG4kZmEtdmFyLXJ1bGVyLWNvbWJpbmVkOiBcXGY1NDY7XG4kZmEtdmFyLWNvcHlyaWdodDogXFxmMWY5O1xuJGZhLXZhci1lcXVhbHM6IFxcM2Q7XG4kZmEtdmFyLWJsZW5kZXI6IFxcZjUxNztcbiRmYS12YXItdGVldGg6IFxcZjYyZTtcbiRmYS12YXItc2hla2VsLXNpZ246IFxcZjIwYjtcbiRmYS12YXItaWxzOiBcXGYyMGI7XG4kZmEtdmFyLXNoZWtlbDogXFxmMjBiO1xuJGZhLXZhci1zaGVxZWw6IFxcZjIwYjtcbiRmYS12YXItc2hlcWVsLXNpZ246IFxcZjIwYjtcbiRmYS12YXItbWFwOiBcXGYyNzk7XG4kZmEtdmFyLXJvY2tldDogXFxmMTM1O1xuJGZhLXZhci1waG90by1maWxtOiBcXGY4N2M7XG4kZmEtdmFyLXBob3RvLXZpZGVvOiBcXGY4N2M7XG4kZmEtdmFyLWZvbGRlci1taW51czogXFxmNjVkO1xuJGZhLXZhci1zdG9yZTogXFxmNTRlO1xuJGZhLXZhci1hcnJvdy10cmVuZC11cDogXFxlMDk4O1xuJGZhLXZhci1wbHVnLWNpcmNsZS1taW51czogXFxlNTVlO1xuJGZhLXZhci1zaWduLWhhbmdpbmc6IFxcZjRkOTtcbiRmYS12YXItc2lnbjogXFxmNGQ5O1xuJGZhLXZhci1iZXppZXItY3VydmU6IFxcZjU1YjtcbiRmYS12YXItYmVsbC1zbGFzaDogXFxmMWY2O1xuJGZhLXZhci10YWJsZXQ6IFxcZjNmYjtcbiRmYS12YXItdGFibGV0LWFuZHJvaWQ6IFxcZjNmYjtcbiRmYS12YXItc2Nob29sLWZsYWc6IFxcZTU2ZTtcbiRmYS12YXItZmlsbDogXFxmNTc1O1xuJGZhLXZhci1hbmdsZS11cDogXFxmMTA2O1xuJGZhLXZhci1kcnVtc3RpY2stYml0ZTogXFxmNmQ3O1xuJGZhLXZhci1ob2xseS1iZXJyeTogXFxmN2FhO1xuJGZhLXZhci1jaGV2cm9uLWxlZnQ6IFxcZjA1MztcbiRmYS12YXItYmFjdGVyaWE6IFxcZTA1OTtcbiRmYS12YXItaGFuZC1saXphcmQ6IFxcZjI1ODtcbiRmYS12YXItbm90ZGVmOiBcXGUxZmU7XG4kZmEtdmFyLWRpc2Vhc2U6IFxcZjdmYTtcbiRmYS12YXItYnJpZWZjYXNlLW1lZGljYWw6IFxcZjQ2OTtcbiRmYS12YXItZ2VuZGVybGVzczogXFxmMjJkO1xuJGZhLXZhci1jaGV2cm9uLXJpZ2h0OiBcXGYwNTQ7XG4kZmEtdmFyLXJldHdlZXQ6IFxcZjA3OTtcbiRmYS12YXItY2FyLXJlYXI6IFxcZjVkZTtcbiRmYS12YXItY2FyLWFsdDogXFxmNWRlO1xuJGZhLXZhci1wdW1wLXNvYXA6IFxcZTA2YjtcbiRmYS12YXItdmlkZW8tc2xhc2g6IFxcZjRlMjtcbiRmYS12YXItYmF0dGVyeS1xdWFydGVyOiBcXGYyNDM7XG4kZmEtdmFyLWJhdHRlcnktMjogXFxmMjQzO1xuJGZhLXZhci1yYWRpbzogXFxmOGQ3O1xuJGZhLXZhci1iYWJ5LWNhcnJpYWdlOiBcXGY3N2Q7XG4kZmEtdmFyLWNhcnJpYWdlLWJhYnk6IFxcZjc3ZDtcbiRmYS12YXItdHJhZmZpYy1saWdodDogXFxmNjM3O1xuJGZhLXZhci10aGVybW9tZXRlcjogXFxmNDkxO1xuJGZhLXZhci12ci1jYXJkYm9hcmQ6IFxcZjcyOTtcbiRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyOiBcXGY4MDY7XG4kZmEtdmFyLXBlcmNlbnQ6IFxcMjU7XG4kZmEtdmFyLXBlcmNlbnRhZ2U6IFxcMjU7XG4kZmEtdmFyLXRydWNrLW1vdmluZzogXFxmNGRmO1xuJGZhLXZhci1nbGFzcy13YXRlci1kcm9wbGV0OiBcXGU0ZjU7XG4kZmEtdmFyLWRpc3BsYXk6IFxcZTE2MztcbiRmYS12YXItZmFjZS1zbWlsZTogXFxmMTE4O1xuJGZhLXZhci1zbWlsZTogXFxmMTE4O1xuJGZhLXZhci10aHVtYnRhY2s6IFxcZjA4ZDtcbiRmYS12YXItdGh1bWItdGFjazogXFxmMDhkO1xuJGZhLXZhci10cm9waHk6IFxcZjA5MTtcbiRmYS12YXItcGVyc29uLXByYXlpbmc6IFxcZjY4MztcbiRmYS12YXItcHJheTogXFxmNjgzO1xuJGZhLXZhci1oYW1tZXI6IFxcZjZlMztcbiRmYS12YXItaGFuZC1wZWFjZTogXFxmMjViO1xuJGZhLXZhci1yb3RhdGU6IFxcZjJmMTtcbiRmYS12YXItc3luYy1hbHQ6IFxcZjJmMTtcbiRmYS12YXItc3Bpbm5lcjogXFxmMTEwO1xuJGZhLXZhci1yb2JvdDogXFxmNTQ0O1xuJGZhLXZhci1wZWFjZTogXFxmNjdjO1xuJGZhLXZhci1nZWFyczogXFxmMDg1O1xuJGZhLXZhci1jb2dzOiBcXGYwODU7XG4kZmEtdmFyLXdhcmVob3VzZTogXFxmNDk0O1xuJGZhLXZhci1hcnJvdy11cC1yaWdodC1kb3RzOiBcXGU0Yjc7XG4kZmEtdmFyLXNwbG90Y2g6IFxcZjViYztcbiRmYS12YXItZmFjZS1ncmluLWhlYXJ0czogXFxmNTg0O1xuJGZhLXZhci1ncmluLWhlYXJ0czogXFxmNTg0O1xuJGZhLXZhci1kaWNlLWZvdXI6IFxcZjUyNDtcbiRmYS12YXItc2ltLWNhcmQ6IFxcZjdjNDtcbiRmYS12YXItdHJhbnNnZW5kZXI6IFxcZjIyNTtcbiRmYS12YXItdHJhbnNnZW5kZXItYWx0OiBcXGYyMjU7XG4kZmEtdmFyLW1lcmN1cnk6IFxcZjIyMztcbiRmYS12YXItYXJyb3ctdHVybi1kb3duOiBcXGYxNDk7XG4kZmEtdmFyLWxldmVsLWRvd246IFxcZjE0OTtcbiRmYS12YXItcGVyc29uLWZhbGxpbmctYnVyc3Q6IFxcZTU0NztcbiRmYS12YXItYXdhcmQ6IFxcZjU1OTtcbiRmYS12YXItdGlja2V0LXNpbXBsZTogXFxmM2ZmO1xuJGZhLXZhci10aWNrZXQtYWx0OiBcXGYzZmY7XG4kZmEtdmFyLWJ1aWxkaW5nOiBcXGYxYWQ7XG4kZmEtdmFyLWFuZ2xlcy1sZWZ0OiBcXGYxMDA7XG4kZmEtdmFyLWFuZ2xlLWRvdWJsZS1sZWZ0OiBcXGYxMDA7XG4kZmEtdmFyLXFyY29kZTogXFxmMDI5O1xuJGZhLXZhci1jbG9jay1yb3RhdGUtbGVmdDogXFxmMWRhO1xuJGZhLXZhci1oaXN0b3J5OiBcXGYxZGE7XG4kZmEtdmFyLWZhY2UtZ3Jpbi1iZWFtLXN3ZWF0OiBcXGY1ODM7XG4kZmEtdmFyLWdyaW4tYmVhbS1zd2VhdDogXFxmNTgzO1xuJGZhLXZhci1maWxlLWV4cG9ydDogXFxmNTZlO1xuJGZhLXZhci1hcnJvdy1yaWdodC1mcm9tLWZpbGU6IFxcZjU2ZTtcbiRmYS12YXItc2hpZWxkOiBcXGYxMzI7XG4kZmEtdmFyLXNoaWVsZC1ibGFuazogXFxmMTMyO1xuJGZhLXZhci1hcnJvdy11cC1zaG9ydC13aWRlOiBcXGY4ODU7XG4kZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdDogXFxmODg1O1xuJGZhLXZhci1ob3VzZS1tZWRpY2FsOiBcXGUzYjI7XG4kZmEtdmFyLWdvbGYtYmFsbC10ZWU6IFxcZjQ1MDtcbiRmYS12YXItZ29sZi1iYWxsOiBcXGY0NTA7XG4kZmEtdmFyLWNpcmNsZS1jaGV2cm9uLWxlZnQ6IFxcZjEzNztcbiRmYS12YXItY2hldnJvbi1jaXJjbGUtbGVmdDogXFxmMTM3O1xuJGZhLXZhci1ob3VzZS1jaGltbmV5LXdpbmRvdzogXFxlMDBkO1xuJGZhLXZhci1wZW4tbmliOiBcXGY1YWQ7XG4kZmEtdmFyLXRlbnQtYXJyb3ctdHVybi1sZWZ0OiBcXGU1ODA7XG4kZmEtdmFyLXRlbnRzOiBcXGU1ODI7XG4kZmEtdmFyLXdhbmQtbWFnaWM6IFxcZjBkMDtcbiRmYS12YXItbWFnaWM6IFxcZjBkMDtcbiRmYS12YXItZG9nOiBcXGY2ZDM7XG4kZmEtdmFyLWNhcnJvdDogXFxmNzg3O1xuJGZhLXZhci1tb29uOiBcXGYxODY7XG4kZmEtdmFyLXdpbmUtZ2xhc3MtZW1wdHk6IFxcZjVjZTtcbiRmYS12YXItd2luZS1nbGFzcy1hbHQ6IFxcZjVjZTtcbiRmYS12YXItY2hlZXNlOiBcXGY3ZWY7XG4kZmEtdmFyLXlpbi15YW5nOiBcXGY2YWQ7XG4kZmEtdmFyLW11c2ljOiBcXGYwMDE7XG4kZmEtdmFyLWNvZGUtY29tbWl0OiBcXGYzODY7XG4kZmEtdmFyLXRlbXBlcmF0dXJlLWxvdzogXFxmNzZiO1xuJGZhLXZhci1wZXJzb24tYmlraW5nOiBcXGY4NGE7XG4kZmEtdmFyLWJpa2luZzogXFxmODRhO1xuJGZhLXZhci1icm9vbTogXFxmNTFhO1xuJGZhLXZhci1zaGllbGQtaGVhcnQ6IFxcZTU3NDtcbiRmYS12YXItZ29wdXJhbTogXFxmNjY0O1xuJGZhLXZhci1lYXJ0aC1vY2VhbmlhOiBcXGU0N2I7XG4kZmEtdmFyLWdsb2JlLW9jZWFuaWE6IFxcZTQ3YjtcbiRmYS12YXItc3F1YXJlLXhtYXJrOiBcXGYyZDM7XG4kZmEtdmFyLXRpbWVzLXNxdWFyZTogXFxmMmQzO1xuJGZhLXZhci14bWFyay1zcXVhcmU6IFxcZjJkMztcbiRmYS12YXItaGFzaHRhZzogXFwyMztcbiRmYS12YXItdXAtcmlnaHQtYW5kLWRvd24tbGVmdC1mcm9tLWNlbnRlcjogXFxmNDI0O1xuJGZhLXZhci1leHBhbmQtYWx0OiBcXGY0MjQ7XG4kZmEtdmFyLW9pbC1jYW46IFxcZjYxMztcbiRmYS12YXItdDogXFw1NDtcbiRmYS12YXItaGlwcG86IFxcZjZlZDtcbiRmYS12YXItY2hhcnQtY29sdW1uOiBcXGUwZTM7XG4kZmEtdmFyLWluZmluaXR5OiBcXGY1MzQ7XG4kZmEtdmFyLXZpYWwtY2lyY2xlLWNoZWNrOiBcXGU1OTY7XG4kZmEtdmFyLXBlcnNvbi1hcnJvdy1kb3duLXRvLWxpbmU6IFxcZTUzODtcbiRmYS12YXItdm9pY2VtYWlsOiBcXGY4OTc7XG4kZmEtdmFyLWZhbjogXFxmODYzO1xuJGZhLXZhci1wZXJzb24td2Fsa2luZy1sdWdnYWdlOiBcXGU1NTQ7XG4kZmEtdmFyLXVwLWRvd246IFxcZjMzODtcbiRmYS12YXItYXJyb3dzLWFsdC12OiBcXGYzMzg7XG4kZmEtdmFyLWNsb3VkLW1vb24tcmFpbjogXFxmNzNjO1xuJGZhLXZhci1jYWxlbmRhcjogXFxmMTMzO1xuJGZhLXZhci10cmFpbGVyOiBcXGUwNDE7XG4kZmEtdmFyLWJhaGFpOiBcXGY2NjY7XG4kZmEtdmFyLWhheWthbDogXFxmNjY2O1xuJGZhLXZhci1zZC1jYXJkOiBcXGY3YzI7XG4kZmEtdmFyLWRyYWdvbjogXFxmNmQ1O1xuJGZhLXZhci1zaG9lLXByaW50czogXFxmNTRiO1xuJGZhLXZhci1jaXJjbGUtcGx1czogXFxmMDU1O1xuJGZhLXZhci1wbHVzLWNpcmNsZTogXFxmMDU1O1xuJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlLXdpbms6IFxcZjU4YjtcbiRmYS12YXItZ3Jpbi10b25ndWUtd2luazogXFxmNThiO1xuJGZhLXZhci1oYW5kLWhvbGRpbmc6IFxcZjRiZDtcbiRmYS12YXItcGx1Zy1jaXJjbGUtZXhjbGFtYXRpb246IFxcZTU1ZDtcbiRmYS12YXItbGluay1zbGFzaDogXFxmMTI3O1xuJGZhLXZhci1jaGFpbi1icm9rZW46IFxcZjEyNztcbiRmYS12YXItY2hhaW4tc2xhc2g6IFxcZjEyNztcbiRmYS12YXItdW5saW5rOiBcXGYxMjc7XG4kZmEtdmFyLWNsb25lOiBcXGYyNGQ7XG4kZmEtdmFyLXBlcnNvbi13YWxraW5nLWFycm93LWxvb3AtbGVmdDogXFxlNTUxO1xuJGZhLXZhci1hcnJvdy11cC16LWE6IFxcZjg4MjtcbiRmYS12YXItc29ydC1hbHBoYS11cC1hbHQ6IFxcZjg4MjtcbiRmYS12YXItZmlyZS1mbGFtZS1jdXJ2ZWQ6IFxcZjdlNDtcbiRmYS12YXItZmlyZS1hbHQ6IFxcZjdlNDtcbiRmYS12YXItdG9ybmFkbzogXFxmNzZmO1xuJGZhLXZhci1maWxlLWNpcmNsZS1wbHVzOiBcXGU0OTQ7XG4kZmEtdmFyLWJvb2stcXVyYW46IFxcZjY4NztcbiRmYS12YXItcXVyYW46IFxcZjY4NztcbiRmYS12YXItYW5jaG9yOiBcXGYxM2Q7XG4kZmEtdmFyLWJvcmRlci1hbGw6IFxcZjg0YztcbiRmYS12YXItZmFjZS1hbmdyeTogXFxmNTU2O1xuJGZhLXZhci1hbmdyeTogXFxmNTU2O1xuJGZhLXZhci1jb29raWUtYml0ZTogXFxmNTY0O1xuJGZhLXZhci1hcnJvdy10cmVuZC1kb3duOiBcXGUwOTc7XG4kZmEtdmFyLXJzczogXFxmMDllO1xuJGZhLXZhci1mZWVkOiBcXGYwOWU7XG4kZmEtdmFyLWRyYXctcG9seWdvbjogXFxmNWVlO1xuJGZhLXZhci1zY2FsZS1iYWxhbmNlZDogXFxmMjRlO1xuJGZhLXZhci1iYWxhbmNlLXNjYWxlOiBcXGYyNGU7XG4kZmEtdmFyLWdhdWdlLXNpbXBsZS1oaWdoOiBcXGY2MmE7XG4kZmEtdmFyLXRhY2hvbWV0ZXI6IFxcZjYyYTtcbiRmYS12YXItdGFjaG9tZXRlci1mYXN0OiBcXGY2MmE7XG4kZmEtdmFyLXNob3dlcjogXFxmMmNjO1xuJGZhLXZhci1kZXNrdG9wOiBcXGYzOTA7XG4kZmEtdmFyLWRlc2t0b3AtYWx0OiBcXGYzOTA7XG4kZmEtdmFyLW06IFxcNGQ7XG4kZmEtdmFyLXRhYmxlLWxpc3Q6IFxcZjAwYjtcbiRmYS12YXItdGgtbGlzdDogXFxmMDBiO1xuJGZhLXZhci1jb21tZW50LXNtczogXFxmN2NkO1xuJGZhLXZhci1zbXM6IFxcZjdjZDtcbiRmYS12YXItYm9vazogXFxmMDJkO1xuJGZhLXZhci11c2VyLXBsdXM6IFxcZjIzNDtcbiRmYS12YXItY2hlY2s6IFxcZjAwYztcbiRmYS12YXItYmF0dGVyeS10aHJlZS1xdWFydGVyczogXFxmMjQxO1xuJGZhLXZhci1iYXR0ZXJ5LTQ6IFxcZjI0MTtcbiRmYS12YXItaG91c2UtY2lyY2xlLWNoZWNrOiBcXGU1MDk7XG4kZmEtdmFyLWFuZ2xlLWxlZnQ6IFxcZjEwNDtcbiRmYS12YXItZGlhZ3JhbS1zdWNjZXNzb3I6IFxcZTQ3YTtcbiRmYS12YXItdHJ1Y2stYXJyb3ctcmlnaHQ6IFxcZTU4YjtcbiRmYS12YXItYXJyb3dzLXNwbGl0LXVwLWFuZC1sZWZ0OiBcXGU0YmM7XG4kZmEtdmFyLWhhbmQtZmlzdDogXFxmNmRlO1xuJGZhLXZhci1maXN0LXJhaXNlZDogXFxmNmRlO1xuJGZhLXZhci1jbG91ZC1tb29uOiBcXGY2YzM7XG4kZmEtdmFyLWJyaWVmY2FzZTogXFxmMGIxO1xuJGZhLXZhci1wZXJzb24tZmFsbGluZzogXFxlNTQ2O1xuJGZhLXZhci1pbWFnZS1wb3J0cmFpdDogXFxmM2UwO1xuJGZhLXZhci1wb3J0cmFpdDogXFxmM2UwO1xuJGZhLXZhci11c2VyLXRhZzogXFxmNTA3O1xuJGZhLXZhci1ydWc6IFxcZTU2OTtcbiRmYS12YXItZWFydGgtZXVyb3BlOiBcXGY3YTI7XG4kZmEtdmFyLWdsb2JlLWV1cm9wZTogXFxmN2EyO1xuJGZhLXZhci1jYXJ0LWZsYXRiZWQtc3VpdGNhc2U6IFxcZjU5ZDtcbiRmYS12YXItbHVnZ2FnZS1jYXJ0OiBcXGY1OWQ7XG4kZmEtdmFyLXJlY3RhbmdsZS14bWFyazogXFxmNDEwO1xuJGZhLXZhci1yZWN0YW5nbGUtdGltZXM6IFxcZjQxMDtcbiRmYS12YXItdGltZXMtcmVjdGFuZ2xlOiBcXGY0MTA7XG4kZmEtdmFyLXdpbmRvdy1jbG9zZTogXFxmNDEwO1xuJGZhLXZhci1iYWh0LXNpZ246IFxcZTBhYztcbiRmYS12YXItYm9vay1vcGVuOiBcXGY1MTg7XG4kZmEtdmFyLWJvb2stam91cm5hbC13aGlsbHM6IFxcZjY2YTtcbiRmYS12YXItam91cm5hbC13aGlsbHM6IFxcZjY2YTtcbiRmYS12YXItaGFuZGN1ZmZzOiBcXGU0Zjg7XG4kZmEtdmFyLXRyaWFuZ2xlLWV4Y2xhbWF0aW9uOiBcXGYwNzE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOiBcXGYwNzE7XG4kZmEtdmFyLXdhcm5pbmc6IFxcZjA3MTtcbiRmYS12YXItZGF0YWJhc2U6IFxcZjFjMDtcbiRmYS12YXItc2hhcmU6IFxcZjA2NDtcbiRmYS12YXItbWFpbC1mb3J3YXJkOiBcXGYwNjQ7XG4kZmEtdmFyLWJvdHRsZS1kcm9wbGV0OiBcXGU0YzQ7XG4kZmEtdmFyLW1hc2stZmFjZTogXFxlMWQ3O1xuJGZhLXZhci1oaWxsLXJvY2tzbGlkZTogXFxlNTA4O1xuJGZhLXZhci1yaWdodC1sZWZ0OiBcXGYzNjI7XG4kZmEtdmFyLWV4Y2hhbmdlLWFsdDogXFxmMzYyO1xuJGZhLXZhci1wYXBlci1wbGFuZTogXFxmMWQ4O1xuJGZhLXZhci1yb2FkLWNpcmNsZS1leGNsYW1hdGlvbjogXFxlNTY1O1xuJGZhLXZhci1kdW5nZW9uOiBcXGY2ZDk7XG4kZmEtdmFyLWFsaWduLXJpZ2h0OiBcXGYwMzg7XG4kZmEtdmFyLW1vbmV5LWJpbGwtMS13YXZlOiBcXGY1M2I7XG4kZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZS1hbHQ6IFxcZjUzYjtcbiRmYS12YXItbGlmZS1yaW5nOiBcXGYxY2Q7XG4kZmEtdmFyLWhhbmRzOiBcXGYyYTc7XG4kZmEtdmFyLXNpZ24tbGFuZ3VhZ2U6IFxcZjJhNztcbiRmYS12YXItc2lnbmluZzogXFxmMmE3O1xuJGZhLXZhci1jYWxlbmRhci1kYXk6IFxcZjc4MztcbiRmYS12YXItd2F0ZXItbGFkZGVyOiBcXGY1YzU7XG4kZmEtdmFyLWxhZGRlci13YXRlcjogXFxmNWM1O1xuJGZhLXZhci1zd2ltbWluZy1wb29sOiBcXGY1YzU7XG4kZmEtdmFyLWFycm93cy11cC1kb3duOiBcXGYwN2Q7XG4kZmEtdmFyLWFycm93cy12OiBcXGYwN2Q7XG4kZmEtdmFyLWZhY2UtZ3JpbWFjZTogXFxmNTdmO1xuJGZhLXZhci1ncmltYWNlOiBcXGY1N2Y7XG4kZmEtdmFyLXdoZWVsY2hhaXItbW92ZTogXFxlMmNlO1xuJGZhLXZhci13aGVlbGNoYWlyLWFsdDogXFxlMmNlO1xuJGZhLXZhci10dXJuLWRvd246IFxcZjNiZTtcbiRmYS12YXItbGV2ZWwtZG93bi1hbHQ6IFxcZjNiZTtcbiRmYS12YXItcGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHQ6IFxcZTU1MjtcbiRmYS12YXItc3F1YXJlLWVudmVsb3BlOiBcXGYxOTk7XG4kZmEtdmFyLWVudmVsb3BlLXNxdWFyZTogXFxmMTk5O1xuJGZhLXZhci1kaWNlOiBcXGY1MjI7XG4kZmEtdmFyLWJvd2xpbmctYmFsbDogXFxmNDM2O1xuJGZhLXZhci1icmFpbjogXFxmNWRjO1xuJGZhLXZhci1iYW5kYWdlOiBcXGY0NjI7XG4kZmEtdmFyLWJhbmQtYWlkOiBcXGY0NjI7XG4kZmEtdmFyLWNhbGVuZGFyLW1pbnVzOiBcXGYyNzI7XG4kZmEtdmFyLWNpcmNsZS14bWFyazogXFxmMDU3O1xuJGZhLXZhci10aW1lcy1jaXJjbGU6IFxcZjA1NztcbiRmYS12YXIteG1hcmstY2lyY2xlOiBcXGYwNTc7XG4kZmEtdmFyLWdpZnRzOiBcXGY3OWM7XG4kZmEtdmFyLWhvdGVsOiBcXGY1OTQ7XG4kZmEtdmFyLWVhcnRoLWFzaWE6IFxcZjU3ZTtcbiRmYS12YXItZ2xvYmUtYXNpYTogXFxmNTdlO1xuJGZhLXZhci1pZC1jYXJkLWNsaXA6IFxcZjQ3ZjtcbiRmYS12YXItaWQtY2FyZC1hbHQ6IFxcZjQ3ZjtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1wbHVzOiBcXGYwMGU7XG4kZmEtdmFyLXNlYXJjaC1wbHVzOiBcXGYwMGU7XG4kZmEtdmFyLXRodW1icy11cDogXFxmMTY0O1xuJGZhLXZhci11c2VyLWNsb2NrOiBcXGY0ZmQ7XG4kZmEtdmFyLWhhbmQtZG90czogXFxmNDYxO1xuJGZhLXZhci1hbGxlcmdpZXM6IFxcZjQ2MTtcbiRmYS12YXItZmlsZS1pbnZvaWNlOiBcXGY1NzA7XG4kZmEtdmFyLXdpbmRvdy1taW5pbWl6ZTogXFxmMmQxO1xuJGZhLXZhci1tdWctc2F1Y2VyOiBcXGYwZjQ7XG4kZmEtdmFyLWNvZmZlZTogXFxmMGY0O1xuJGZhLXZhci1icnVzaDogXFxmNTVkO1xuJGZhLXZhci1tYXNrOiBcXGY2ZmE7XG4kZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtbWludXM6IFxcZjAxMDtcbiRmYS12YXItc2VhcmNoLW1pbnVzOiBcXGYwMTA7XG4kZmEtdmFyLXJ1bGVyLXZlcnRpY2FsOiBcXGY1NDg7XG4kZmEtdmFyLXVzZXItbGFyZ2U6IFxcZjQwNjtcbiRmYS12YXItdXNlci1hbHQ6IFxcZjQwNjtcbiRmYS12YXItdHJhaW4tdHJhbTogXFxlNWI0O1xuJGZhLXZhci11c2VyLW51cnNlOiBcXGY4MmY7XG4kZmEtdmFyLXN5cmluZ2U6IFxcZjQ4ZTtcbiRmYS12YXItY2xvdWQtc3VuOiBcXGY2YzQ7XG4kZmEtdmFyLXN0b3B3YXRjaC0yMDogXFxlMDZmO1xuJGZhLXZhci1zcXVhcmUtZnVsbDogXFxmNDVjO1xuJGZhLXZhci1tYWduZXQ6IFxcZjA3NjtcbiRmYS12YXItamFyOiBcXGU1MTY7XG4kZmEtdmFyLW5vdGUtc3RpY2t5OiBcXGYyNDk7XG4kZmEtdmFyLXN0aWNreS1ub3RlOiBcXGYyNDk7XG4kZmEtdmFyLWJ1Zy1zbGFzaDogXFxlNDkwO1xuJGZhLXZhci1hcnJvdy11cC1mcm9tLXdhdGVyLXB1bXA6IFxcZTRiNjtcbiRmYS12YXItYm9uZTogXFxmNWQ3O1xuJGZhLXZhci11c2VyLWluanVyZWQ6IFxcZjcyODtcbiRmYS12YXItZmFjZS1zYWQtdGVhcjogXFxmNWI0O1xuJGZhLXZhci1zYWQtdGVhcjogXFxmNWI0O1xuJGZhLXZhci1wbGFuZTogXFxmMDcyO1xuJGZhLXZhci10ZW50LWFycm93cy1kb3duOiBcXGU1ODE7XG4kZmEtdmFyLWV4Y2xhbWF0aW9uOiBcXDIxO1xuJGZhLXZhci1hcnJvd3Mtc3BpbjogXFxlNGJiO1xuJGZhLXZhci1wcmludDogXFxmMDJmO1xuJGZhLXZhci10dXJraXNoLWxpcmEtc2lnbjogXFxlMmJiO1xuJGZhLXZhci10cnk6IFxcZTJiYjtcbiRmYS12YXItdHVya2lzaC1saXJhOiBcXGUyYmI7XG4kZmEtdmFyLWRvbGxhci1zaWduOiBcXDI0O1xuJGZhLXZhci1kb2xsYXI6IFxcMjQ7XG4kZmEtdmFyLXVzZDogXFwyNDtcbiRmYS12YXIteDogXFw1ODtcbiRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1kb2xsYXI6IFxcZjY4ODtcbiRmYS12YXItc2VhcmNoLWRvbGxhcjogXFxmNjg4O1xuJGZhLXZhci11c2Vycy1nZWFyOiBcXGY1MDk7XG4kZmEtdmFyLXVzZXJzLWNvZzogXFxmNTA5O1xuJGZhLXZhci1wZXJzb24tbWlsaXRhcnktcG9pbnRpbmc6IFxcZTU0YTtcbiRmYS12YXItYnVpbGRpbmctY29sdW1uczogXFxmMTljO1xuJGZhLXZhci1iYW5rOiBcXGYxOWM7XG4kZmEtdmFyLWluc3RpdHV0aW9uOiBcXGYxOWM7XG4kZmEtdmFyLW11c2V1bTogXFxmMTljO1xuJGZhLXZhci11bml2ZXJzaXR5OiBcXGYxOWM7XG4kZmEtdmFyLXVtYnJlbGxhOiBcXGYwZTk7XG4kZmEtdmFyLXRyb3dlbDogXFxlNTg5O1xuJGZhLXZhci1kOiBcXDQ0O1xuJGZhLXZhci1zdGFwbGVyOiBcXGU1YWY7XG4kZmEtdmFyLW1hc2tzLXRoZWF0ZXI6IFxcZjYzMDtcbiRmYS12YXItdGhlYXRlci1tYXNrczogXFxmNjMwO1xuJGZhLXZhci1raXAtc2lnbjogXFxlMWM0O1xuJGZhLXZhci1oYW5kLXBvaW50LWxlZnQ6IFxcZjBhNTtcbiRmYS12YXItaGFuZHNoYWtlLXNpbXBsZTogXFxmNGM2O1xuJGZhLXZhci1oYW5kc2hha2UtYWx0OiBcXGY0YzY7XG4kZmEtdmFyLWpldC1maWdodGVyOiBcXGYwZmI7XG4kZmEtdmFyLWZpZ2h0ZXItamV0OiBcXGYwZmI7XG4kZmEtdmFyLXNxdWFyZS1zaGFyZS1ub2RlczogXFxmMWUxO1xuJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlOiBcXGYxZTE7XG4kZmEtdmFyLWJhcmNvZGU6IFxcZjAyYTtcbiRmYS12YXItcGx1cy1taW51czogXFxlNDNjO1xuJGZhLXZhci12aWRlbzogXFxmMDNkO1xuJGZhLXZhci12aWRlby1jYW1lcmE6IFxcZjAzZDtcbiRmYS12YXItZ3JhZHVhdGlvbi1jYXA6IFxcZjE5ZDtcbiRmYS12YXItbW9ydGFyLWJvYXJkOiBcXGYxOWQ7XG4kZmEtdmFyLWhhbmQtaG9sZGluZy1tZWRpY2FsOiBcXGUwNWM7XG4kZmEtdmFyLXBlcnNvbi1jaXJjbGUtY2hlY2s6IFxcZTUzZTtcbiRmYS12YXItdHVybi11cDogXFxmM2JmO1xuJGZhLXZhci1sZXZlbC11cC1hbHQ6IFxcZjNiZjtcblxuJGZhLXZhci1tb25lcm86IFxcZjNkMDtcbiRmYS12YXItaG9vbGk6IFxcZjQyNztcbiRmYS12YXIteWVscDogXFxmMWU5O1xuJGZhLXZhci1jYy12aXNhOiBcXGYxZjA7XG4kZmEtdmFyLWxhc3RmbTogXFxmMjAyO1xuJGZhLXZhci1zaG9wd2FyZTogXFxmNWI1O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jOiBcXGY0ZTg7XG4kZmEtdmFyLWF3czogXFxmMzc1O1xuJGZhLXZhci1yZWRoYXQ6IFxcZjdiYztcbiRmYS12YXIteW9hc3Q6IFxcZjJiMTtcbiRmYS12YXItY2xvdWRmbGFyZTogXFxlMDdkO1xuJGZhLXZhci11cHM6IFxcZjdlMDtcbiRmYS12YXItcGl4aXY6IFxcZTY0MDtcbiRmYS12YXItd3BleHBsb3JlcjogXFxmMmRlO1xuJGZhLXZhci1keWFsb2c6IFxcZjM5OTtcbiRmYS12YXItYml0eTogXFxmMzdhO1xuJGZhLXZhci1zdGFja3BhdGg6IFxcZjg0MjtcbiRmYS12YXItYnV5c2VsbGFkczogXFxmMjBkO1xuJGZhLXZhci1maXJzdC1vcmRlcjogXFxmMmIwO1xuJGZhLXZhci1tb2R4OiBcXGYyODU7XG4kZmEtdmFyLWd1aWxkZWQ6IFxcZTA3ZTtcbiRmYS12YXItdm52OiBcXGY0MGI7XG4kZmEtdmFyLXNxdWFyZS1qczogXFxmM2I5O1xuJGZhLXZhci1qcy1zcXVhcmU6IFxcZjNiOTtcbiRmYS12YXItbWljcm9zb2Z0OiBcXGYzY2E7XG4kZmEtdmFyLXFxOiBcXGYxZDY7XG4kZmEtdmFyLW9yY2lkOiBcXGY4ZDI7XG4kZmEtdmFyLWphdmE6IFxcZjRlNDtcbiRmYS12YXItaW52aXNpb246IFxcZjdiMDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZC1hbHQ6IFxcZjRlZDtcbiRmYS12YXItY2VudGVyY29kZTogXFxmMzgwO1xuJGZhLXZhci1nbGlkZS1nOiBcXGYyYTY7XG4kZmEtdmFyLWRydXBhbDogXFxmMWE5O1xuJGZhLXZhci1oaXJlLWEtaGVscGVyOiBcXGYzYjA7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtYnk6IFxcZjRlNztcbiRmYS12YXItdW5pdHk6IFxcZTA0OTtcbiRmYS12YXItd2htY3M6IFxcZjQwZDtcbiRmYS12YXItcm9ja2V0Y2hhdDogXFxmM2U4O1xuJGZhLXZhci12azogXFxmMTg5O1xuJGZhLXZhci11bnRhcHBkOiBcXGY0MDU7XG4kZmEtdmFyLW1haWxjaGltcDogXFxmNTllO1xuJGZhLXZhci1jc3MzLWFsdDogXFxmMzhiO1xuJGZhLXZhci1zcXVhcmUtcmVkZGl0OiBcXGYxYTI7XG4kZmEtdmFyLXJlZGRpdC1zcXVhcmU6IFxcZjFhMjtcbiRmYS12YXItdmltZW8tdjogXFxmMjdkO1xuJGZhLXZhci1jb250YW86IFxcZjI2ZDtcbiRmYS12YXItc3F1YXJlLWZvbnQtYXdlc29tZTogXFxlNWFkO1xuJGZhLXZhci1kZXNrcHJvOiBcXGYzOGY7XG4kZmEtdmFyLWJyYXZlOiBcXGU2M2M7XG4kZmEtdmFyLXNpc3RyaXg6IFxcZjNlZTtcbiRmYS12YXItc3F1YXJlLWluc3RhZ3JhbTogXFxlMDU1O1xuJGZhLXZhci1pbnN0YWdyYW0tc3F1YXJlOiBcXGUwNTU7XG4kZmEtdmFyLWJhdHRsZS1uZXQ6IFxcZjgzNTtcbiRmYS12YXItdGhlLXJlZC15ZXRpOiBcXGY2OWQ7XG4kZmEtdmFyLXNxdWFyZS1oYWNrZXItbmV3czogXFxmM2FmO1xuJGZhLXZhci1oYWNrZXItbmV3cy1zcXVhcmU6IFxcZjNhZjtcbiRmYS12YXItZWRnZTogXFxmMjgyO1xuJGZhLXZhci10aHJlYWRzOiBcXGU2MTg7XG4kZmEtdmFyLW5hcHN0ZXI6IFxcZjNkMjtcbiRmYS12YXItc3F1YXJlLXNuYXBjaGF0OiBcXGYyYWQ7XG4kZmEtdmFyLXNuYXBjaGF0LXNxdWFyZTogXFxmMmFkO1xuJGZhLXZhci1nb29nbGUtcGx1cy1nOiBcXGYwZDU7XG4kZmEtdmFyLWFydHN0YXRpb246IFxcZjc3YTtcbiRmYS12YXItbWFya2Rvd246IFxcZjYwZjtcbiRmYS12YXItc291cmNldHJlZTogXFxmN2QzO1xuJGZhLXZhci1nb29nbGUtcGx1czogXFxmMmIzO1xuJGZhLXZhci1kaWFzcG9yYTogXFxmNzkxO1xuJGZhLXZhci1mb3Vyc3F1YXJlOiBcXGYxODA7XG4kZmEtdmFyLXN0YWNrLW92ZXJmbG93OiBcXGYxNmM7XG4kZmEtdmFyLWdpdGh1Yi1hbHQ6IFxcZjExMztcbiRmYS12YXItcGhvZW5peC1zcXVhZHJvbjogXFxmNTExO1xuJGZhLXZhci1wYWdlbGluZXM6IFxcZjE4YztcbiRmYS12YXItYWxnb2xpYTogXFxmMzZjO1xuJGZhLXZhci1yZWQtcml2ZXI6IFxcZjNlMztcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYTogXFxmNGVmO1xuJGZhLXZhci1zYWZhcmk6IFxcZjI2NztcbiRmYS12YXItZ29vZ2xlOiBcXGYxYTA7XG4kZmEtdmFyLXNxdWFyZS1mb250LWF3ZXNvbWUtc3Ryb2tlOiBcXGYzNWM7XG4kZmEtdmFyLWZvbnQtYXdlc29tZS1hbHQ6IFxcZjM1YztcbiRmYS12YXItYXRsYXNzaWFuOiBcXGY3N2I7XG4kZmEtdmFyLWxpbmtlZGluLWluOiBcXGYwZTE7XG4kZmEtdmFyLWRpZ2l0YWwtb2NlYW46IFxcZjM5MTtcbiRmYS12YXItbmltYmxyOiBcXGY1YTg7XG4kZmEtdmFyLWNocm9tZWNhc3Q6IFxcZjgzODtcbiRmYS12YXItZXZlcm5vdGU6IFxcZjgzOTtcbiRmYS12YXItaGFja2VyLW5ld3M6IFxcZjFkNDtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZzogXFxmNGYwO1xuJGZhLXZhci1hZHZlcnNhbDogXFxmMzZhO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zOiBcXGYyNWU7XG4kZmEtdmFyLXdhdGNobWFuLW1vbml0b3Jpbmc6IFxcZTA4NztcbiRmYS12YXItZm9udGljb25zOiBcXGYyODA7XG4kZmEtdmFyLXdlaXhpbjogXFxmMWQ3O1xuJGZhLXZhci1zaGlydHNpbmJ1bGs6IFxcZjIxNDtcbiRmYS12YXItY29kZXBlbjogXFxmMWNiO1xuJGZhLXZhci1naXQtYWx0OiBcXGY4NDE7XG4kZmEtdmFyLWx5ZnQ6IFxcZjNjMztcbiRmYS12YXItcmV2OiBcXGY1YjI7XG4kZmEtdmFyLXdpbmRvd3M6IFxcZjE3YTtcbiRmYS12YXItd2l6YXJkcy1vZi10aGUtY29hc3Q6IFxcZjczMDtcbiRmYS12YXItc3F1YXJlLXZpYWRlbzogXFxmMmFhO1xuJGZhLXZhci12aWFkZW8tc3F1YXJlOiBcXGYyYWE7XG4kZmEtdmFyLW1lZXR1cDogXFxmMmUwO1xuJGZhLXZhci1jZW50b3M6IFxcZjc4OTtcbiRmYS12YXItYWRuOiBcXGYxNzA7XG4kZmEtdmFyLWNsb3Vkc21pdGg6IFxcZjM4NDtcbiRmYS12YXItb3BlbnN1c2U6IFxcZTYyYjtcbiRmYS12YXItcGllZC1waXBlci1hbHQ6IFxcZjFhODtcbiRmYS12YXItc3F1YXJlLWRyaWJiYmxlOiBcXGYzOTc7XG4kZmEtdmFyLWRyaWJiYmxlLXNxdWFyZTogXFxmMzk3O1xuJGZhLXZhci1jb2RpZXBpZTogXFxmMjg0O1xuJGZhLXZhci1ub2RlOiBcXGY0MTk7XG4kZmEtdmFyLW1peDogXFxmM2NiO1xuJGZhLXZhci1zdGVhbTogXFxmMWI2O1xuJGZhLXZhci1jYy1hcHBsZS1wYXk6IFxcZjQxNjtcbiRmYS12YXItc2NyaWJkOiBcXGYyOGE7XG4kZmEtdmFyLWRlYmlhbjogXFxlNjBiO1xuJGZhLXZhci1vcGVuaWQ6IFxcZjE5YjtcbiRmYS12YXItaW5zdGFsb2Q6IFxcZTA4MTtcbiRmYS12YXItZXhwZWRpdGVkc3NsOiBcXGYyM2U7XG4kZmEtdmFyLXNlbGxjYXN0OiBcXGYyZGE7XG4kZmEtdmFyLXNxdWFyZS10d2l0dGVyOiBcXGYwODE7XG4kZmEtdmFyLXR3aXR0ZXItc3F1YXJlOiBcXGYwODE7XG4kZmEtdmFyLXItcHJvamVjdDogXFxmNGY3O1xuJGZhLXZhci1kZWxpY2lvdXM6IFxcZjFhNTtcbiRmYS12YXItZnJlZWJzZDogXFxmM2E0O1xuJGZhLXZhci12dWVqczogXFxmNDFmO1xuJGZhLXZhci1hY2N1c29mdDogXFxmMzY5O1xuJGZhLXZhci1pb3hob3N0OiBcXGYyMDg7XG4kZmEtdmFyLWZvbnRpY29ucy1maTogXFxmM2EyO1xuJGZhLXZhci1hcHAtc3RvcmU6IFxcZjM2ZjtcbiRmYS12YXItY2MtbWFzdGVyY2FyZDogXFxmMWYxO1xuJGZhLXZhci1pdHVuZXMtbm90ZTogXFxmM2I1O1xuJGZhLXZhci1nb2xhbmc6IFxcZTQwZjtcbiRmYS12YXIta2lja3N0YXJ0ZXI6IFxcZjNiYjtcbiRmYS12YXItZ3JhdjogXFxmMmQ2O1xuJGZhLXZhci13ZWlibzogXFxmMThhO1xuJGZhLXZhci11bmNoYXJ0ZWQ6IFxcZTA4NDtcbiRmYS12YXItZmlyc3RkcmFmdDogXFxmM2ExO1xuJGZhLXZhci1zcXVhcmUteW91dHViZTogXFxmNDMxO1xuJGZhLXZhci15b3V0dWJlLXNxdWFyZTogXFxmNDMxO1xuJGZhLXZhci13aWtpcGVkaWEtdzogXFxmMjY2O1xuJGZhLXZhci13cHJlc3NyOiBcXGYzZTQ7XG4kZmEtdmFyLXJlbmRhY3Q6IFxcZjNlNDtcbiRmYS12YXItYW5nZWxsaXN0OiBcXGYyMDk7XG4kZmEtdmFyLWdhbGFjdGljLXJlcHVibGljOiBcXGY1MGM7XG4kZmEtdmFyLW5mYy1kaXJlY3Rpb25hbDogXFxlNTMwO1xuJGZhLXZhci1za3lwZTogXFxmMTdlO1xuJGZhLXZhci1qb2dldDogXFxmM2I3O1xuJGZhLXZhci1mZWRvcmE6IFxcZjc5ODtcbiRmYS12YXItc3RyaXBlLXM6IFxcZjQyYTtcbiRmYS12YXItbWV0YTogXFxlNDliO1xuJGZhLXZhci1sYXJhdmVsOiBcXGYzYmQ7XG4kZmEtdmFyLWhvdGphcjogXFxmM2IxO1xuJGZhLXZhci1ibHVldG9vdGgtYjogXFxmMjk0O1xuJGZhLXZhci1zcXVhcmUtbGV0dGVyYm94ZDogXFxlNjJlO1xuJGZhLXZhci1zdGlja2VyLW11bGU6IFxcZjNmNztcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy16ZXJvOiBcXGY0ZjM7XG4kZmEtdmFyLWhpcHM6IFxcZjQ1MjtcbiRmYS12YXItYmVoYW5jZTogXFxmMWI0O1xuJGZhLXZhci1yZWRkaXQ6IFxcZjFhMTtcbiRmYS12YXItZGlzY29yZDogXFxmMzkyO1xuJGZhLXZhci1jaHJvbWU6IFxcZjI2ODtcbiRmYS12YXItYXBwLXN0b3JlLWlvczogXFxmMzcwO1xuJGZhLXZhci1jYy1kaXNjb3ZlcjogXFxmMWYyO1xuJGZhLXZhci13cGJlZ2lubmVyOiBcXGYyOTc7XG4kZmEtdmFyLWNvbmZsdWVuY2U6IFxcZjc4ZDtcbiRmYS12YXItc2hvZWxhY2U6IFxcZTYwYztcbiRmYS12YXItbWRiOiBcXGY4Y2E7XG4kZmEtdmFyLWRvY2h1YjogXFxmMzk0O1xuJGZhLXZhci1hY2Nlc3NpYmxlLWljb246IFxcZjM2ODtcbiRmYS12YXItZWJheTogXFxmNGY0O1xuJGZhLXZhci1hbWF6b246IFxcZjI3MDtcbiRmYS12YXItdW5zcGxhc2g6IFxcZTA3YztcbiRmYS12YXIteWFybjogXFxmN2UzO1xuJGZhLXZhci1zcXVhcmUtc3RlYW06IFxcZjFiNztcbiRmYS12YXItc3RlYW0tc3F1YXJlOiBcXGYxYjc7XG4kZmEtdmFyLTUwMHB4OiBcXGYyNmU7XG4kZmEtdmFyLXNxdWFyZS12aW1lbzogXFxmMTk0O1xuJGZhLXZhci12aW1lby1zcXVhcmU6IFxcZjE5NDtcbiRmYS12YXItYXN5bW1ldHJpazogXFxmMzcyO1xuJGZhLXZhci1mb250LWF3ZXNvbWU6IFxcZjJiNDtcbiRmYS12YXItZm9udC1hd2Vzb21lLWZsYWc6IFxcZjJiNDtcbiRmYS12YXItZm9udC1hd2Vzb21lLWxvZ28tZnVsbDogXFxmMmI0O1xuJGZhLXZhci1ncmF0aXBheTogXFxmMTg0O1xuJGZhLXZhci1hcHBsZTogXFxmMTc5O1xuJGZhLXZhci1oaXZlOiBcXGUwN2Y7XG4kZmEtdmFyLWdpdGtyYWtlbjogXFxmM2E2O1xuJGZhLXZhci1rZXliYXNlOiBcXGY0ZjU7XG4kZmEtdmFyLWFwcGxlLXBheTogXFxmNDE1O1xuJGZhLXZhci1wYWRsZXQ6IFxcZTRhMDtcbiRmYS12YXItYW1hem9uLXBheTogXFxmNDJjO1xuJGZhLXZhci1zcXVhcmUtZ2l0aHViOiBcXGYwOTI7XG4kZmEtdmFyLWdpdGh1Yi1zcXVhcmU6IFxcZjA5MjtcbiRmYS12YXItc3R1bWJsZXVwb246IFxcZjFhNDtcbiRmYS12YXItZmVkZXg6IFxcZjc5NztcbiRmYS12YXItcGhvZW5peC1mcmFtZXdvcms6IFxcZjNkYztcbiRmYS12YXItc2hvcGlmeTogXFxlMDU3O1xuJGZhLXZhci1uZW9zOiBcXGY2MTI7XG4kZmEtdmFyLXNxdWFyZS10aHJlYWRzOiBcXGU2MTk7XG4kZmEtdmFyLWhhY2tlcnJhbms6IFxcZjVmNztcbiRmYS12YXItcmVzZWFyY2hnYXRlOiBcXGY0Zjg7XG4kZmEtdmFyLXN3aWZ0OiBcXGY4ZTE7XG4kZmEtdmFyLWFuZ3VsYXI6IFxcZjQyMDtcbiRmYS12YXItc3BlYWthcDogXFxmM2YzO1xuJGZhLXZhci1hbmdyeWNyZWF0aXZlOiBcXGYzNmU7XG4kZmEtdmFyLXktY29tYmluYXRvcjogXFxmMjNiO1xuJGZhLXZhci1lbXBpcmU6IFxcZjFkMTtcbiRmYS12YXItZW52aXJhOiBcXGYyOTk7XG4kZmEtdmFyLWdvb2dsZS1zY2hvbGFyOiBcXGU2M2I7XG4kZmEtdmFyLXNxdWFyZS1naXRsYWI6IFxcZTVhZTtcbiRmYS12YXItZ2l0bGFiLXNxdWFyZTogXFxlNWFlO1xuJGZhLXZhci1zdHVkaW92aW5hcmk6IFxcZjNmODtcbiRmYS12YXItcGllZC1waXBlcjogXFxmMmFlO1xuJGZhLXZhci13b3JkcHJlc3M6IFxcZjE5YTtcbiRmYS12YXItcHJvZHVjdC1odW50OiBcXGYyODg7XG4kZmEtdmFyLWZpcmVmb3g6IFxcZjI2OTtcbiRmYS12YXItbGlub2RlOiBcXGYyYjg7XG4kZmEtdmFyLWdvb2RyZWFkczogXFxmM2E4O1xuJGZhLXZhci1zcXVhcmUtb2Rub2tsYXNzbmlraTogXFxmMjY0O1xuJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZTogXFxmMjY0O1xuJGZhLXZhci1qc2ZpZGRsZTogXFxmMWNjO1xuJGZhLXZhci1zaXRoOiBcXGY1MTI7XG4kZmEtdmFyLXRoZW1laXNsZTogXFxmMmIyO1xuJGZhLXZhci1wYWdlNDogXFxmM2Q3O1xuJGZhLXZhci1oYXNobm9kZTogXFxlNDk5O1xuJGZhLXZhci1yZWFjdDogXFxmNDFiO1xuJGZhLXZhci1jYy1wYXlwYWw6IFxcZjFmNDtcbiRmYS12YXItc3F1YXJlc3BhY2U6IFxcZjViZTtcbiRmYS12YXItY2Mtc3RyaXBlOiBcXGYxZjU7XG4kZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmU6IFxcZjRmMjtcbiRmYS12YXItYml0Y29pbjogXFxmMzc5O1xuJGZhLXZhci1rZXljZG46IFxcZjNiYTtcbiRmYS12YXItb3BlcmE6IFxcZjI2YTtcbiRmYS12YXItaXRjaC1pbzogXFxmODNhO1xuJGZhLXZhci11bWJyYWNvOiBcXGY4ZTg7XG4kZmEtdmFyLWdhbGFjdGljLXNlbmF0ZTogXFxmNTBkO1xuJGZhLXZhci11YnVudHU6IFxcZjdkZjtcbiRmYS12YXItZHJhZnQyZGlnaXRhbDogXFxmMzk2O1xuJGZhLXZhci1zdHJpcGU6IFxcZjQyOTtcbiRmYS12YXItaG91eno6IFxcZjI3YztcbiRmYS12YXItZ2c6IFxcZjI2MDtcbiRmYS12YXItZGhsOiBcXGY3OTA7XG4kZmEtdmFyLXNxdWFyZS1waW50ZXJlc3Q6IFxcZjBkMztcbiRmYS12YXItcGludGVyZXN0LXNxdWFyZTogXFxmMGQzO1xuJGZhLXZhci14aW5nOiBcXGYxNjg7XG4kZmEtdmFyLWJsYWNrYmVycnk6IFxcZjM3YjtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZDogXFxmNGVjO1xuJGZhLXZhci1wbGF5c3RhdGlvbjogXFxmM2RmO1xuJGZhLXZhci1xdWluc2NhcGU6IFxcZjQ1OTtcbiRmYS12YXItbGVzczogXFxmNDFkO1xuJGZhLXZhci1ibG9nZ2VyLWI6IFxcZjM3ZDtcbiRmYS12YXItb3BlbmNhcnQ6IFxcZjIzZDtcbiRmYS12YXItdmluZTogXFxmMWNhO1xuJGZhLXZhci1zaWduYWwtbWVzc2VuZ2VyOiBcXGU2NjM7XG4kZmEtdmFyLXBheXBhbDogXFxmMWVkO1xuJGZhLXZhci1naXRsYWI6IFxcZjI5NjtcbiRmYS12YXItdHlwbzM6IFxcZjQyYjtcbiRmYS12YXItcmVkZGl0LWFsaWVuOiBcXGYyODE7XG4kZmEtdmFyLXlhaG9vOiBcXGYxOWU7XG4kZmEtdmFyLWRhaWx5bW90aW9uOiBcXGUwNTI7XG4kZmEtdmFyLWFmZmlsaWF0ZXRoZW1lOiBcXGYzNmI7XG4kZmEtdmFyLXBpZWQtcGlwZXItcHA6IFxcZjFhNztcbiRmYS12YXItYm9vdHN0cmFwOiBcXGY4MzY7XG4kZmEtdmFyLW9kbm9rbGFzc25pa2k6IFxcZjI2MztcbiRmYS12YXItbmZjLXN5bWJvbDogXFxlNTMxO1xuJGZhLXZhci1taW50Yml0OiBcXGU2MmY7XG4kZmEtdmFyLWV0aGVyZXVtOiBcXGY0MmU7XG4kZmEtdmFyLXNwZWFrZXItZGVjazogXFxmODNjO1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLW5jLWV1OiBcXGY0ZTk7XG4kZmEtdmFyLXBhdHJlb246IFxcZjNkOTtcbiRmYS12YXItYXZpYW5leDogXFxmMzc0O1xuJGZhLXZhci1lbGxvOiBcXGY1ZjE7XG4kZmEtdmFyLWdvZm9yZTogXFxmM2E3O1xuJGZhLXZhci1iaW1vYmplY3Q6IFxcZjM3ODtcbiRmYS12YXItYnJhdmUtcmV2ZXJzZTogXFxlNjNkO1xuJGZhLXZhci1mYWNlYm9vay1mOiBcXGYzOWU7XG4kZmEtdmFyLXNxdWFyZS1nb29nbGUtcGx1czogXFxmMGQ0O1xuJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmU6IFxcZjBkNDtcbiRmYS12YXItbWFuZGFsb3JpYW46IFxcZjUwZjtcbiRmYS12YXItZmlyc3Qtb3JkZXItYWx0OiBcXGY1MGE7XG4kZmEtdmFyLW9zaTogXFxmNDFhO1xuJGZhLXZhci1nb29nbGUtd2FsbGV0OiBcXGYxZWU7XG4kZmEtdmFyLWQtYW5kLWQtYmV5b25kOiBcXGY2Y2E7XG4kZmEtdmFyLXBlcmlzY29wZTogXFxmM2RhO1xuJGZhLXZhci1mdWxjcnVtOiBcXGY1MGI7XG4kZmEtdmFyLWNsb3Vkc2NhbGU6IFxcZjM4MztcbiRmYS12YXItZm9ydW1iZWU6IFxcZjIxMTtcbiRmYS12YXItbWl6dW5pOiBcXGYzY2M7XG4kZmEtdmFyLXNjaGxpeDogXFxmM2VhO1xuJGZhLXZhci1zcXVhcmUteGluZzogXFxmMTY5O1xuJGZhLXZhci14aW5nLXNxdWFyZTogXFxmMTY5O1xuJGZhLXZhci1iYW5kY2FtcDogXFxmMmQ1O1xuJGZhLXZhci13cGZvcm1zOiBcXGYyOTg7XG4kZmEtdmFyLWNsb3VkdmVyc2lmeTogXFxmMzg1O1xuJGZhLXZhci11c3BzOiBcXGY3ZTE7XG4kZmEtdmFyLW1lZ2Fwb3J0OiBcXGY1YTM7XG4kZmEtdmFyLW1hZ2VudG86IFxcZjNjNDtcbiRmYS12YXItc3BvdGlmeTogXFxmMWJjO1xuJGZhLXZhci1vcHRpbi1tb25zdGVyOiBcXGYyM2M7XG4kZmEtdmFyLWZseTogXFxmNDE3O1xuJGZhLXZhci1hdmlhdG86IFxcZjQyMTtcbiRmYS12YXItaXR1bmVzOiBcXGYzYjQ7XG4kZmEtdmFyLWN1dHRsZWZpc2g6IFxcZjM4YztcbiRmYS12YXItYmxvZ2dlcjogXFxmMzdjO1xuJGZhLXZhci1mbGlja3I6IFxcZjE2ZTtcbiRmYS12YXItdmliZXI6IFxcZjQwOTtcbiRmYS12YXItc291bmRjbG91ZDogXFxmMWJlO1xuJGZhLXZhci1kaWdnOiBcXGYxYTY7XG4kZmEtdmFyLXRlbmNlbnQtd2VpYm86IFxcZjFkNTtcbiRmYS12YXItbGV0dGVyYm94ZDogXFxlNjJkO1xuJGZhLXZhci1zeW1mb255OiBcXGY4M2Q7XG4kZmEtdmFyLW1heGNkbjogXFxmMTM2O1xuJGZhLXZhci1ldHN5OiBcXGYyZDc7XG4kZmEtdmFyLWZhY2Vib29rLW1lc3NlbmdlcjogXFxmMzlmO1xuJGZhLXZhci1hdWRpYmxlOiBcXGYzNzM7XG4kZmEtdmFyLXRoaW5rLXBlYWtzOiBcXGY3MzE7XG4kZmEtdmFyLWJpbGliaWxpOiBcXGUzZDk7XG4kZmEtdmFyLWVybGFuZzogXFxmMzlkO1xuJGZhLXZhci14LXR3aXR0ZXI6IFxcZTYxYjtcbiRmYS12YXItY290dG9uLWJ1cmVhdTogXFxmODllO1xuJGZhLXZhci1kYXNoY3ViZTogXFxmMjEwO1xuJGZhLXZhci00Mi1ncm91cDogXFxlMDgwO1xuJGZhLXZhci1pbm5vc29mdDogXFxlMDgwO1xuJGZhLXZhci1zdGFjay1leGNoYW5nZTogXFxmMThkO1xuJGZhLXZhci1lbGVtZW50b3I6IFxcZjQzMDtcbiRmYS12YXItc3F1YXJlLXBpZWQtcGlwZXI6IFxcZTAxZTtcbiRmYS12YXItcGllZC1waXBlci1zcXVhcmU6IFxcZTAxZTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uZDogXFxmNGViO1xuJGZhLXZhci1wYWxmZWQ6IFxcZjNkODtcbiRmYS12YXItc3VwZXJwb3dlcnM6IFxcZjJkZDtcbiRmYS12YXItcmVzb2x2aW5nOiBcXGYzZTc7XG4kZmEtdmFyLXhib3g6IFxcZjQxMjtcbiRmYS12YXItc2VhcmNoZW5naW46IFxcZjNlYjtcbiRmYS12YXItdGlrdG9rOiBcXGUwN2I7XG4kZmEtdmFyLXNxdWFyZS1mYWNlYm9vazogXFxmMDgyO1xuJGZhLXZhci1mYWNlYm9vay1zcXVhcmU6IFxcZjA4MjtcbiRmYS12YXItcmVucmVuOiBcXGYxOGI7XG4kZmEtdmFyLWxpbnV4OiBcXGYxN2M7XG4kZmEtdmFyLWdsaWRlOiBcXGYyYTU7XG4kZmEtdmFyLWxpbmtlZGluOiBcXGYwOGM7XG4kZmEtdmFyLWh1YnNwb3Q6IFxcZjNiMjtcbiRmYS12YXItZGVwbG95ZG9nOiBcXGYzOGU7XG4kZmEtdmFyLXR3aXRjaDogXFxmMWU4O1xuJGZhLXZhci1yYXZlbHJ5OiBcXGYyZDk7XG4kZmEtdmFyLW1peGVyOiBcXGUwNTY7XG4kZmEtdmFyLXNxdWFyZS1sYXN0Zm06IFxcZjIwMztcbiRmYS12YXItbGFzdGZtLXNxdWFyZTogXFxmMjAzO1xuJGZhLXZhci12aW1lbzogXFxmNDBhO1xuJGZhLXZhci1tZW5kZWxleTogXFxmN2IzO1xuJGZhLXZhci11bmlyZWdpc3RyeTogXFxmNDA0O1xuJGZhLXZhci1maWdtYTogXFxmNzk5O1xuJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXJlbWl4OiBcXGY0ZWU7XG4kZmEtdmFyLWNjLWFtYXpvbi1wYXk6IFxcZjQyZDtcbiRmYS12YXItZHJvcGJveDogXFxmMTZiO1xuJGZhLXZhci1pbnN0YWdyYW06IFxcZjE2ZDtcbiRmYS12YXItY21wbGlkOiBcXGUzNjA7XG4kZmEtdmFyLXVwd29yazogXFxlNjQxO1xuJGZhLXZhci1mYWNlYm9vazogXFxmMDlhO1xuJGZhLXZhci1ncmlwZmlyZTogXFxmM2FjO1xuJGZhLXZhci1qZWRpLW9yZGVyOiBcXGY1MGU7XG4kZmEtdmFyLXVpa2l0OiBcXGY0MDM7XG4kZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQ6IFxcZjNhMztcbiRmYS12YXItcGhhYnJpY2F0b3I6IFxcZjNkYjtcbiRmYS12YXItdXNzdW5uYWg6IFxcZjQwNztcbiRmYS12YXItZWFybHliaXJkczogXFxmMzlhO1xuJGZhLXZhci10cmFkZS1mZWRlcmF0aW9uOiBcXGY1MTM7XG4kZmEtdmFyLWF1dG9wcmVmaXhlcjogXFxmNDFjO1xuJGZhLXZhci13aGF0c2FwcDogXFxmMjMyO1xuJGZhLXZhci1zbGlkZXNoYXJlOiBcXGYxZTc7XG4kZmEtdmFyLWdvb2dsZS1wbGF5OiBcXGYzYWI7XG4kZmEtdmFyLXZpYWRlbzogXFxmMmE5O1xuJGZhLXZhci1saW5lOiBcXGYzYzA7XG4kZmEtdmFyLWdvb2dsZS1kcml2ZTogXFxmM2FhO1xuJGZhLXZhci1zZXJ2aWNlc3RhY2s6IFxcZjNlYztcbiRmYS12YXItc2ltcGx5YnVpbHQ6IFxcZjIxNTtcbiRmYS12YXItYml0YnVja2V0OiBcXGYxNzE7XG4kZmEtdmFyLWltZGI6IFxcZjJkODtcbiRmYS12YXItZGVlemVyOiBcXGUwNzc7XG4kZmEtdmFyLXJhc3BiZXJyeS1waTogXFxmN2JiO1xuJGZhLXZhci1qaXJhOiBcXGY3YjE7XG4kZmEtdmFyLWRvY2tlcjogXFxmMzk1O1xuJGZhLXZhci1zY3JlZW5wYWw6IFxcZTU3MDtcbiRmYS12YXItYmx1ZXRvb3RoOiBcXGYyOTM7XG4kZmEtdmFyLWdpdHRlcjogXFxmNDI2O1xuJGZhLXZhci1kLWFuZC1kOiBcXGYzOGQ7XG4kZmEtdmFyLW1pY3JvYmxvZzogXFxlMDFhO1xuJGZhLXZhci1jYy1kaW5lcnMtY2x1YjogXFxmMjRjO1xuJGZhLXZhci1nZy1jaXJjbGU6IFxcZjI2MTtcbiRmYS12YXItcGllZC1waXBlci1oYXQ6IFxcZjRlNTtcbiRmYS12YXIta2lja3N0YXJ0ZXItazogXFxmM2JjO1xuJGZhLXZhci15YW5kZXg6IFxcZjQxMztcbiRmYS12YXItcmVhZG1lOiBcXGY0ZDU7XG4kZmEtdmFyLWh0bWw1OiBcXGYxM2I7XG4kZmEtdmFyLXNlbGxzeTogXFxmMjEzO1xuJGZhLXZhci1zYXNzOiBcXGY0MWU7XG4kZmEtdmFyLXdpcnNpbmRoYW5kd2VyazogXFxlMmQwO1xuJGZhLXZhci13c2g6IFxcZTJkMDtcbiRmYS12YXItYnVyb21vYmVsZXhwZXJ0ZTogXFxmMzdmO1xuJGZhLXZhci1zYWxlc2ZvcmNlOiBcXGY4M2I7XG4kZmEtdmFyLW9jdG9wdXMtZGVwbG95OiBcXGUwODI7XG4kZmEtdmFyLW1lZGFwcHM6IFxcZjNjNjtcbiRmYS12YXItbnM4OiBcXGYzZDU7XG4kZmEtdmFyLXBpbnRlcmVzdC1wOiBcXGYyMzE7XG4kZmEtdmFyLWFwcGVyOiBcXGYzNzE7XG4kZmEtdmFyLWZvcnQtYXdlc29tZTogXFxmMjg2O1xuJGZhLXZhci13YXplOiBcXGY4M2Y7XG4kZmEtdmFyLWNjLWpjYjogXFxmMjRiO1xuJGZhLXZhci1zbmFwY2hhdDogXFxmMmFiO1xuJGZhLXZhci1zbmFwY2hhdC1naG9zdDogXFxmMmFiO1xuJGZhLXZhci1mYW50YXN5LWZsaWdodC1nYW1lczogXFxmNmRjO1xuJGZhLXZhci1ydXN0OiBcXGUwN2E7XG4kZmEtdmFyLXdpeDogXFxmNWNmO1xuJGZhLXZhci1zcXVhcmUtYmVoYW5jZTogXFxmMWI1O1xuJGZhLXZhci1iZWhhbmNlLXNxdWFyZTogXFxmMWI1O1xuJGZhLXZhci1zdXBwbGU6IFxcZjNmOTtcbiRmYS12YXItd2ViZmxvdzogXFxlNjVjO1xuJGZhLXZhci1yZWJlbDogXFxmMWQwO1xuJGZhLXZhci1jc3MzOiBcXGYxM2M7XG4kZmEtdmFyLXN0YXlsaW5rZWQ6IFxcZjNmNTtcbiRmYS12YXIta2FnZ2xlOiBcXGY1ZmE7XG4kZmEtdmFyLXNwYWNlLWF3ZXNvbWU6IFxcZTVhYztcbiRmYS12YXItZGV2aWFudGFydDogXFxmMWJkO1xuJGZhLXZhci1jcGFuZWw6IFxcZjM4ODtcbiRmYS12YXItZ29vZHJlYWRzLWc6IFxcZjNhOTtcbiRmYS12YXItc3F1YXJlLWdpdDogXFxmMWQyO1xuJGZhLXZhci1naXQtc3F1YXJlOiBcXGYxZDI7XG4kZmEtdmFyLXNxdWFyZS10dW1ibHI6IFxcZjE3NDtcbiRmYS12YXItdHVtYmxyLXNxdWFyZTogXFxmMTc0O1xuJGZhLXZhci10cmVsbG86IFxcZjE4MTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcDogXFxmNGVhO1xuJGZhLXZhci1nZXQtcG9ja2V0OiBcXGYyNjU7XG4kZmEtdmFyLXBlcmJ5dGU6IFxcZTA4MztcbiRmYS12YXItZ3J1bnQ6IFxcZjNhZDtcbiRmYS12YXItd2VlYmx5OiBcXGY1Y2M7XG4kZmEtdmFyLWNvbm5lY3RkZXZlbG9wOiBcXGYyMGU7XG4kZmEtdmFyLWxlYW5wdWI6IFxcZjIxMjtcbiRmYS12YXItYmxhY2stdGllOiBcXGYyN2U7XG4kZmEtdmFyLXRoZW1lY286IFxcZjVjNjtcbiRmYS12YXItcHl0aG9uOiBcXGYzZTI7XG4kZmEtdmFyLWFuZHJvaWQ6IFxcZjE3YjtcbiRmYS12YXItYm90czogXFxlMzQwO1xuJGZhLXZhci1mcmVlLWNvZGUtY2FtcDogXFxmMmM1O1xuJGZhLXZhci1ob3JuYmlsbDogXFxmNTkyO1xuJGZhLXZhci1qczogXFxmM2I4O1xuJGZhLXZhci1pZGVhbDogXFxlMDEzO1xuJGZhLXZhci1naXQ6IFxcZjFkMztcbiRmYS12YXItZGV2OiBcXGY2Y2M7XG4kZmEtdmFyLXNrZXRjaDogXFxmN2M2O1xuJGZhLXZhci15YW5kZXgtaW50ZXJuYXRpb25hbDogXFxmNDE0O1xuJGZhLXZhci1jYy1hbWV4OiBcXGYxZjM7XG4kZmEtdmFyLXViZXI6IFxcZjQwMjtcbiRmYS12YXItZ2l0aHViOiBcXGYwOWI7XG4kZmEtdmFyLXBocDogXFxmNDU3O1xuJGZhLXZhci1hbGlwYXk6IFxcZjY0MjtcbiRmYS12YXIteW91dHViZTogXFxmMTY3O1xuJGZhLXZhci1za3lhdGxhczogXFxmMjE2O1xuJGZhLXZhci1maXJlZm94LWJyb3dzZXI6IFxcZTAwNztcbiRmYS12YXItcmVwbHlkOiBcXGYzZTY7XG4kZmEtdmFyLXN1c2U6IFxcZjdkNjtcbiRmYS12YXItamVua2luczogXFxmM2I2O1xuJGZhLXZhci10d2l0dGVyOiBcXGYwOTk7XG4kZmEtdmFyLXJvY2tybXM6IFxcZjNlOTtcbiRmYS12YXItcGludGVyZXN0OiBcXGYwZDI7XG4kZmEtdmFyLWJ1ZmZlcjogXFxmODM3O1xuJGZhLXZhci1ucG06IFxcZjNkNDtcbiRmYS12YXIteWFtbWVyOiBcXGY4NDA7XG4kZmEtdmFyLWJ0YzogXFxmMTVhO1xuJGZhLXZhci1kcmliYmJsZTogXFxmMTdkO1xuJGZhLXZhci1zdHVtYmxldXBvbi1jaXJjbGU6IFxcZjFhMztcbiRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXI6IFxcZjI2YjtcbiRmYS12YXItc3R1YmJlcjogXFxlNWM3O1xuJGZhLXZhci10ZWxlZ3JhbTogXFxmMmM2O1xuJGZhLXZhci10ZWxlZ3JhbS1wbGFuZTogXFxmMmM2O1xuJGZhLXZhci1vbGQtcmVwdWJsaWM6IFxcZjUxMDtcbiRmYS12YXItb2R5c2VlOiBcXGU1YzY7XG4kZmEtdmFyLXNxdWFyZS13aGF0c2FwcDogXFxmNDBjO1xuJGZhLXZhci13aGF0c2FwcC1zcXVhcmU6IFxcZjQwYztcbiRmYS12YXItbm9kZS1qczogXFxmM2QzO1xuJGZhLXZhci1lZGdlLWxlZ2FjeTogXFxlMDc4O1xuJGZhLXZhci1zbGFjazogXFxmMTk4O1xuJGZhLXZhci1zbGFjay1oYXNoOiBcXGYxOTg7XG4kZmEtdmFyLW1lZHJ0OiBcXGYzYzg7XG4kZmEtdmFyLXVzYjogXFxmMjg3O1xuJGZhLXZhci10dW1ibHI6IFxcZjE3MztcbiRmYS12YXItdmFhZGluOiBcXGY0MDg7XG4kZmEtdmFyLXF1b3JhOiBcXGYyYzQ7XG4kZmEtdmFyLXNxdWFyZS14LXR3aXR0ZXI6IFxcZTYxYTtcbiRmYS12YXItcmVhY3RldXJvcGU6IFxcZjc1ZDtcbiRmYS12YXItbWVkaXVtOiBcXGYyM2E7XG4kZmEtdmFyLW1lZGl1bS1tOiBcXGYyM2E7XG4kZmEtdmFyLWFtaWxpYTogXFxmMzZkO1xuJGZhLXZhci1taXhjbG91ZDogXFxmMjg5O1xuJGZhLXZhci1mbGlwYm9hcmQ6IFxcZjQ0ZDtcbiRmYS12YXItdmlhY29pbjogXFxmMjM3O1xuJGZhLXZhci1jcml0aWNhbC1yb2xlOiBcXGY2Yzk7XG4kZmEtdmFyLXNpdHJveDogXFxlNDRhO1xuJGZhLXZhci1kaXNjb3Vyc2U6IFxcZjM5MztcbiRmYS12YXItam9vbWxhOiBcXGYxYWE7XG4kZmEtdmFyLW1hc3RvZG9uOiBcXGY0ZjY7XG4kZmEtdmFyLWFpcmJuYjogXFxmODM0O1xuJGZhLXZhci13b2xmLXBhY2stYmF0dGFsaW9uOiBcXGY1MTQ7XG4kZmEtdmFyLWJ1eS1uLWxhcmdlOiBcXGY4YTY7XG4kZmEtdmFyLWd1bHA6IFxcZjNhZTtcbiRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzOiBcXGY0ZjE7XG4kZmEtdmFyLXN0cmF2YTogXFxmNDI4O1xuJGZhLXZhci1lbWJlcjogXFxmNDIzO1xuJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmOiBcXGY3ODU7XG4kZmEtdmFyLXRlYW1zcGVhazogXFxmNGY5O1xuJGZhLXZhci1wdXNoZWQ6IFxcZjNlMTtcbiRmYS12YXItd29yZHByZXNzLXNpbXBsZTogXFxmNDExO1xuJGZhLXZhci1udXRyaXRpb25peDogXFxmM2Q2O1xuJGZhLXZhci13b2R1OiBcXGUwODg7XG4kZmEtdmFyLWdvb2dsZS1wYXk6IFxcZTA3OTtcbiRmYS12YXItaW50ZXJjb206IFxcZjdhZjtcbiRmYS12YXItemhpaHU6IFxcZjYzZjtcbiRmYS12YXIta29ydnVlOiBcXGY0MmY7XG4kZmEtdmFyLXBpeDogXFxlNDNhO1xuJGZhLXZhci1zdGVhbS1zeW1ib2w6IFxcZjNmNjtcblxuJGZhLWljb25zOiAoXG4gIFwiMFwiOiAkZmEtdmFyLTAsXG4gIFwiMVwiOiAkZmEtdmFyLTEsXG4gIFwiMlwiOiAkZmEtdmFyLTIsXG4gIFwiM1wiOiAkZmEtdmFyLTMsXG4gIFwiNFwiOiAkZmEtdmFyLTQsXG4gIFwiNVwiOiAkZmEtdmFyLTUsXG4gIFwiNlwiOiAkZmEtdmFyLTYsXG4gIFwiN1wiOiAkZmEtdmFyLTcsXG4gIFwiOFwiOiAkZmEtdmFyLTgsXG4gIFwiOVwiOiAkZmEtdmFyLTksXG4gIFwiZmlsbC1kcmlwXCI6ICRmYS12YXItZmlsbC1kcmlwLFxuICBcImFycm93cy10by1jaXJjbGVcIjogJGZhLXZhci1hcnJvd3MtdG8tY2lyY2xlLFxuICBcImNpcmNsZS1jaGV2cm9uLXJpZ2h0XCI6ICRmYS12YXItY2lyY2xlLWNoZXZyb24tcmlnaHQsXG4gIFwiY2hldnJvbi1jaXJjbGUtcmlnaHRcIjogJGZhLXZhci1jaGV2cm9uLWNpcmNsZS1yaWdodCxcbiAgXCJhdFwiOiAkZmEtdmFyLWF0LFxuICBcInRyYXNoLWNhblwiOiAkZmEtdmFyLXRyYXNoLWNhbixcbiAgXCJ0cmFzaC1hbHRcIjogJGZhLXZhci10cmFzaC1hbHQsXG4gIFwidGV4dC1oZWlnaHRcIjogJGZhLXZhci10ZXh0LWhlaWdodCxcbiAgXCJ1c2VyLXhtYXJrXCI6ICRmYS12YXItdXNlci14bWFyayxcbiAgXCJ1c2VyLXRpbWVzXCI6ICRmYS12YXItdXNlci10aW1lcyxcbiAgXCJzdGV0aG9zY29wZVwiOiAkZmEtdmFyLXN0ZXRob3Njb3BlLFxuICBcIm1lc3NhZ2VcIjogJGZhLXZhci1tZXNzYWdlLFxuICBcImNvbW1lbnQtYWx0XCI6ICRmYS12YXItY29tbWVudC1hbHQsXG4gIFwiaW5mb1wiOiAkZmEtdmFyLWluZm8sXG4gIFwiZG93bi1sZWZ0LWFuZC11cC1yaWdodC10by1jZW50ZXJcIjogJGZhLXZhci1kb3duLWxlZnQtYW5kLXVwLXJpZ2h0LXRvLWNlbnRlcixcbiAgXCJjb21wcmVzcy1hbHRcIjogJGZhLXZhci1jb21wcmVzcy1hbHQsXG4gIFwiZXhwbG9zaW9uXCI6ICRmYS12YXItZXhwbG9zaW9uLFxuICBcImZpbGUtbGluZXNcIjogJGZhLXZhci1maWxlLWxpbmVzLFxuICBcImZpbGUtYWx0XCI6ICRmYS12YXItZmlsZS1hbHQsXG4gIFwiZmlsZS10ZXh0XCI6ICRmYS12YXItZmlsZS10ZXh0LFxuICBcIndhdmUtc3F1YXJlXCI6ICRmYS12YXItd2F2ZS1zcXVhcmUsXG4gIFwicmluZ1wiOiAkZmEtdmFyLXJpbmcsXG4gIFwiYnVpbGRpbmctdW5cIjogJGZhLXZhci1idWlsZGluZy11bixcbiAgXCJkaWNlLXRocmVlXCI6ICRmYS12YXItZGljZS10aHJlZSxcbiAgXCJjYWxlbmRhci1kYXlzXCI6ICRmYS12YXItY2FsZW5kYXItZGF5cyxcbiAgXCJjYWxlbmRhci1hbHRcIjogJGZhLXZhci1jYWxlbmRhci1hbHQsXG4gIFwiYW5jaG9yLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWFuY2hvci1jaXJjbGUtY2hlY2ssXG4gIFwiYnVpbGRpbmctY2lyY2xlLWFycm93LXJpZ2h0XCI6ICRmYS12YXItYnVpbGRpbmctY2lyY2xlLWFycm93LXJpZ2h0LFxuICBcInZvbGxleWJhbGxcIjogJGZhLXZhci12b2xsZXliYWxsLFxuICBcInZvbGxleWJhbGwtYmFsbFwiOiAkZmEtdmFyLXZvbGxleWJhbGwtYmFsbCxcbiAgXCJhcnJvd3MtdXAtdG8tbGluZVwiOiAkZmEtdmFyLWFycm93cy11cC10by1saW5lLFxuICBcInNvcnQtZG93blwiOiAkZmEtdmFyLXNvcnQtZG93bixcbiAgXCJzb3J0LWRlc2NcIjogJGZhLXZhci1zb3J0LWRlc2MsXG4gIFwiY2lyY2xlLW1pbnVzXCI6ICRmYS12YXItY2lyY2xlLW1pbnVzLFxuICBcIm1pbnVzLWNpcmNsZVwiOiAkZmEtdmFyLW1pbnVzLWNpcmNsZSxcbiAgXCJkb29yLW9wZW5cIjogJGZhLXZhci1kb29yLW9wZW4sXG4gIFwicmlnaHQtZnJvbS1icmFja2V0XCI6ICRmYS12YXItcmlnaHQtZnJvbS1icmFja2V0LFxuICBcInNpZ24tb3V0LWFsdFwiOiAkZmEtdmFyLXNpZ24tb3V0LWFsdCxcbiAgXCJhdG9tXCI6ICRmYS12YXItYXRvbSxcbiAgXCJzb2FwXCI6ICRmYS12YXItc29hcCxcbiAgXCJpY29uc1wiOiAkZmEtdmFyLWljb25zLFxuICBcImhlYXJ0LW11c2ljLWNhbWVyYS1ib2x0XCI6ICRmYS12YXItaGVhcnQtbXVzaWMtY2FtZXJhLWJvbHQsXG4gIFwibWljcm9waG9uZS1saW5lcy1zbGFzaFwiOiAkZmEtdmFyLW1pY3JvcGhvbmUtbGluZXMtc2xhc2gsXG4gIFwibWljcm9waG9uZS1hbHQtc2xhc2hcIjogJGZhLXZhci1taWNyb3Bob25lLWFsdC1zbGFzaCxcbiAgXCJicmlkZ2UtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItYnJpZGdlLWNpcmNsZS1jaGVjayxcbiAgXCJwdW1wLW1lZGljYWxcIjogJGZhLXZhci1wdW1wLW1lZGljYWwsXG4gIFwiZmluZ2VycHJpbnRcIjogJGZhLXZhci1maW5nZXJwcmludCxcbiAgXCJoYW5kLXBvaW50LXJpZ2h0XCI6ICRmYS12YXItaGFuZC1wb2ludC1yaWdodCxcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLWxvY2F0aW9uXCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1sb2NhdGlvbixcbiAgXCJzZWFyY2gtbG9jYXRpb25cIjogJGZhLXZhci1zZWFyY2gtbG9jYXRpb24sXG4gIFwiZm9yd2FyZC1zdGVwXCI6ICRmYS12YXItZm9yd2FyZC1zdGVwLFxuICBcInN0ZXAtZm9yd2FyZFwiOiAkZmEtdmFyLXN0ZXAtZm9yd2FyZCxcbiAgXCJmYWNlLXNtaWxlLWJlYW1cIjogJGZhLXZhci1mYWNlLXNtaWxlLWJlYW0sXG4gIFwic21pbGUtYmVhbVwiOiAkZmEtdmFyLXNtaWxlLWJlYW0sXG4gIFwiZmxhZy1jaGVja2VyZWRcIjogJGZhLXZhci1mbGFnLWNoZWNrZXJlZCxcbiAgXCJmb290YmFsbFwiOiAkZmEtdmFyLWZvb3RiYWxsLFxuICBcImZvb3RiYWxsLWJhbGxcIjogJGZhLXZhci1mb290YmFsbC1iYWxsLFxuICBcInNjaG9vbC1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1zY2hvb2wtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImNyb3BcIjogJGZhLXZhci1jcm9wLFxuICBcImFuZ2xlcy1kb3duXCI6ICRmYS12YXItYW5nbGVzLWRvd24sXG4gIFwiYW5nbGUtZG91YmxlLWRvd25cIjogJGZhLXZhci1hbmdsZS1kb3VibGUtZG93bixcbiAgXCJ1c2Vycy1yZWN0YW5nbGVcIjogJGZhLXZhci11c2Vycy1yZWN0YW5nbGUsXG4gIFwicGVvcGxlLXJvb2ZcIjogJGZhLXZhci1wZW9wbGUtcm9vZixcbiAgXCJwZW9wbGUtbGluZVwiOiAkZmEtdmFyLXBlb3BsZS1saW5lLFxuICBcImJlZXItbXVnLWVtcHR5XCI6ICRmYS12YXItYmVlci1tdWctZW1wdHksXG4gIFwiYmVlclwiOiAkZmEtdmFyLWJlZXIsXG4gIFwiZGlhZ3JhbS1wcmVkZWNlc3NvclwiOiAkZmEtdmFyLWRpYWdyYW0tcHJlZGVjZXNzb3IsXG4gIFwiYXJyb3ctdXAtbG9uZ1wiOiAkZmEtdmFyLWFycm93LXVwLWxvbmcsXG4gIFwibG9uZy1hcnJvdy11cFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctdXAsXG4gIFwiZmlyZS1mbGFtZS1zaW1wbGVcIjogJGZhLXZhci1maXJlLWZsYW1lLXNpbXBsZSxcbiAgXCJidXJuXCI6ICRmYS12YXItYnVybixcbiAgXCJwZXJzb25cIjogJGZhLXZhci1wZXJzb24sXG4gIFwibWFsZVwiOiAkZmEtdmFyLW1hbGUsXG4gIFwibGFwdG9wXCI6ICRmYS12YXItbGFwdG9wLFxuICBcImZpbGUtY3N2XCI6ICRmYS12YXItZmlsZS1jc3YsXG4gIFwibWVub3JhaFwiOiAkZmEtdmFyLW1lbm9yYWgsXG4gIFwidHJ1Y2stcGxhbmVcIjogJGZhLXZhci10cnVjay1wbGFuZSxcbiAgXCJyZWNvcmQtdmlueWxcIjogJGZhLXZhci1yZWNvcmQtdmlueWwsXG4gIFwiZmFjZS1ncmluLXN0YXJzXCI6ICRmYS12YXItZmFjZS1ncmluLXN0YXJzLFxuICBcImdyaW4tc3RhcnNcIjogJGZhLXZhci1ncmluLXN0YXJzLFxuICBcImJvbmdcIjogJGZhLXZhci1ib25nLFxuICBcInNwYWdoZXR0aS1tb25zdGVyLWZseWluZ1wiOiAkZmEtdmFyLXNwYWdoZXR0aS1tb25zdGVyLWZseWluZyxcbiAgXCJwYXN0YWZhcmlhbmlzbVwiOiAkZmEtdmFyLXBhc3RhZmFyaWFuaXNtLFxuICBcImFycm93LWRvd24tdXAtYWNyb3NzLWxpbmVcIjogJGZhLXZhci1hcnJvdy1kb3duLXVwLWFjcm9zcy1saW5lLFxuICBcInNwb29uXCI6ICRmYS12YXItc3Bvb24sXG4gIFwidXRlbnNpbC1zcG9vblwiOiAkZmEtdmFyLXV0ZW5zaWwtc3Bvb24sXG4gIFwiamFyLXdoZWF0XCI6ICRmYS12YXItamFyLXdoZWF0LFxuICBcImVudmVsb3Blcy1idWxrXCI6ICRmYS12YXItZW52ZWxvcGVzLWJ1bGssXG4gIFwibWFpbC1idWxrXCI6ICRmYS12YXItbWFpbC1idWxrLFxuICBcImZpbGUtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItZmlsZS1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwiY2lyY2xlLWhcIjogJGZhLXZhci1jaXJjbGUtaCxcbiAgXCJob3NwaXRhbC1zeW1ib2xcIjogJGZhLXZhci1ob3NwaXRhbC1zeW1ib2wsXG4gIFwicGFnZXJcIjogJGZhLXZhci1wYWdlcixcbiAgXCJhZGRyZXNzLWJvb2tcIjogJGZhLXZhci1hZGRyZXNzLWJvb2ssXG4gIFwiY29udGFjdC1ib29rXCI6ICRmYS12YXItY29udGFjdC1ib29rLFxuICBcInN0cmlrZXRocm91Z2hcIjogJGZhLXZhci1zdHJpa2V0aHJvdWdoLFxuICBcImtcIjogJGZhLXZhci1rLFxuICBcImxhbmRtYXJrLWZsYWdcIjogJGZhLXZhci1sYW5kbWFyay1mbGFnLFxuICBcInBlbmNpbFwiOiAkZmEtdmFyLXBlbmNpbCxcbiAgXCJwZW5jaWwtYWx0XCI6ICRmYS12YXItcGVuY2lsLWFsdCxcbiAgXCJiYWNrd2FyZFwiOiAkZmEtdmFyLWJhY2t3YXJkLFxuICBcImNhcmV0LXJpZ2h0XCI6ICRmYS12YXItY2FyZXQtcmlnaHQsXG4gIFwiY29tbWVudHNcIjogJGZhLXZhci1jb21tZW50cyxcbiAgXCJwYXN0ZVwiOiAkZmEtdmFyLXBhc3RlLFxuICBcImZpbGUtY2xpcGJvYXJkXCI6ICRmYS12YXItZmlsZS1jbGlwYm9hcmQsXG4gIFwiY29kZS1wdWxsLXJlcXVlc3RcIjogJGZhLXZhci1jb2RlLXB1bGwtcmVxdWVzdCxcbiAgXCJjbGlwYm9hcmQtbGlzdFwiOiAkZmEtdmFyLWNsaXBib2FyZC1saXN0LFxuICBcInRydWNrLXJhbXAtYm94XCI6ICRmYS12YXItdHJ1Y2stcmFtcC1ib3gsXG4gIFwidHJ1Y2stbG9hZGluZ1wiOiAkZmEtdmFyLXRydWNrLWxvYWRpbmcsXG4gIFwidXNlci1jaGVja1wiOiAkZmEtdmFyLXVzZXItY2hlY2ssXG4gIFwidmlhbC12aXJ1c1wiOiAkZmEtdmFyLXZpYWwtdmlydXMsXG4gIFwic2hlZXQtcGxhc3RpY1wiOiAkZmEtdmFyLXNoZWV0LXBsYXN0aWMsXG4gIFwiYmxvZ1wiOiAkZmEtdmFyLWJsb2csXG4gIFwidXNlci1uaW5qYVwiOiAkZmEtdmFyLXVzZXItbmluamEsXG4gIFwicGVyc29uLWFycm93LXVwLWZyb20tbGluZVwiOiAkZmEtdmFyLXBlcnNvbi1hcnJvdy11cC1mcm9tLWxpbmUsXG4gIFwic2Nyb2xsLXRvcmFoXCI6ICRmYS12YXItc2Nyb2xsLXRvcmFoLFxuICBcInRvcmFoXCI6ICRmYS12YXItdG9yYWgsXG4gIFwiYnJvb20tYmFsbFwiOiAkZmEtdmFyLWJyb29tLWJhbGwsXG4gIFwicXVpZGRpdGNoXCI6ICRmYS12YXItcXVpZGRpdGNoLFxuICBcInF1aWRkaXRjaC1icm9vbS1iYWxsXCI6ICRmYS12YXItcXVpZGRpdGNoLWJyb29tLWJhbGwsXG4gIFwidG9nZ2xlLW9mZlwiOiAkZmEtdmFyLXRvZ2dsZS1vZmYsXG4gIFwiYm94LWFyY2hpdmVcIjogJGZhLXZhci1ib3gtYXJjaGl2ZSxcbiAgXCJhcmNoaXZlXCI6ICRmYS12YXItYXJjaGl2ZSxcbiAgXCJwZXJzb24tZHJvd25pbmdcIjogJGZhLXZhci1wZXJzb24tZHJvd25pbmcsXG4gIFwiYXJyb3ctZG93bi05LTFcIjogJGZhLXZhci1hcnJvdy1kb3duLTktMSxcbiAgXCJzb3J0LW51bWVyaWMtZGVzY1wiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1kZXNjLFxuICBcInNvcnQtbnVtZXJpYy1kb3duLWFsdFwiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy1kb3duLWFsdCxcbiAgXCJmYWNlLWdyaW4tdG9uZ3VlLXNxdWludFwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWUtc3F1aW50LFxuICBcImdyaW4tdG9uZ3VlLXNxdWludFwiOiAkZmEtdmFyLWdyaW4tdG9uZ3VlLXNxdWludCxcbiAgXCJzcHJheS1jYW5cIjogJGZhLXZhci1zcHJheS1jYW4sXG4gIFwidHJ1Y2stbW9uc3RlclwiOiAkZmEtdmFyLXRydWNrLW1vbnN0ZXIsXG4gIFwid1wiOiAkZmEtdmFyLXcsXG4gIFwiZWFydGgtYWZyaWNhXCI6ICRmYS12YXItZWFydGgtYWZyaWNhLFxuICBcImdsb2JlLWFmcmljYVwiOiAkZmEtdmFyLWdsb2JlLWFmcmljYSxcbiAgXCJyYWluYm93XCI6ICRmYS12YXItcmFpbmJvdyxcbiAgXCJjaXJjbGUtbm90Y2hcIjogJGZhLXZhci1jaXJjbGUtbm90Y2gsXG4gIFwidGFibGV0LXNjcmVlbi1idXR0b25cIjogJGZhLXZhci10YWJsZXQtc2NyZWVuLWJ1dHRvbixcbiAgXCJ0YWJsZXQtYWx0XCI6ICRmYS12YXItdGFibGV0LWFsdCxcbiAgXCJwYXdcIjogJGZhLXZhci1wYXcsXG4gIFwiY2xvdWRcIjogJGZhLXZhci1jbG91ZCxcbiAgXCJ0cm93ZWwtYnJpY2tzXCI6ICRmYS12YXItdHJvd2VsLWJyaWNrcyxcbiAgXCJmYWNlLWZsdXNoZWRcIjogJGZhLXZhci1mYWNlLWZsdXNoZWQsXG4gIFwiZmx1c2hlZFwiOiAkZmEtdmFyLWZsdXNoZWQsXG4gIFwiaG9zcGl0YWwtdXNlclwiOiAkZmEtdmFyLWhvc3BpdGFsLXVzZXIsXG4gIFwidGVudC1hcnJvdy1sZWZ0LXJpZ2h0XCI6ICRmYS12YXItdGVudC1hcnJvdy1sZWZ0LXJpZ2h0LFxuICBcImdhdmVsXCI6ICRmYS12YXItZ2F2ZWwsXG4gIFwibGVnYWxcIjogJGZhLXZhci1sZWdhbCxcbiAgXCJiaW5vY3VsYXJzXCI6ICRmYS12YXItYmlub2N1bGFycyxcbiAgXCJtaWNyb3Bob25lLXNsYXNoXCI6ICRmYS12YXItbWljcm9waG9uZS1zbGFzaCxcbiAgXCJib3gtdGlzc3VlXCI6ICRmYS12YXItYm94LXRpc3N1ZSxcbiAgXCJtb3RvcmN5Y2xlXCI6ICRmYS12YXItbW90b3JjeWNsZSxcbiAgXCJiZWxsLWNvbmNpZXJnZVwiOiAkZmEtdmFyLWJlbGwtY29uY2llcmdlLFxuICBcImNvbmNpZXJnZS1iZWxsXCI6ICRmYS12YXItY29uY2llcmdlLWJlbGwsXG4gIFwicGVuLXJ1bGVyXCI6ICRmYS12YXItcGVuLXJ1bGVyLFxuICBcInBlbmNpbC1ydWxlclwiOiAkZmEtdmFyLXBlbmNpbC1ydWxlcixcbiAgXCJwZW9wbGUtYXJyb3dzXCI6ICRmYS12YXItcGVvcGxlLWFycm93cyxcbiAgXCJwZW9wbGUtYXJyb3dzLWxlZnQtcmlnaHRcIjogJGZhLXZhci1wZW9wbGUtYXJyb3dzLWxlZnQtcmlnaHQsXG4gIFwibWFycy1hbmQtdmVudXMtYnVyc3RcIjogJGZhLXZhci1tYXJzLWFuZC12ZW51cy1idXJzdCxcbiAgXCJzcXVhcmUtY2FyZXQtcmlnaHRcIjogJGZhLXZhci1zcXVhcmUtY2FyZXQtcmlnaHQsXG4gIFwiY2FyZXQtc3F1YXJlLXJpZ2h0XCI6ICRmYS12YXItY2FyZXQtc3F1YXJlLXJpZ2h0LFxuICBcInNjaXNzb3JzXCI6ICRmYS12YXItc2Npc3NvcnMsXG4gIFwiY3V0XCI6ICRmYS12YXItY3V0LFxuICBcInN1bi1wbGFudC13aWx0XCI6ICRmYS12YXItc3VuLXBsYW50LXdpbHQsXG4gIFwidG9pbGV0cy1wb3J0YWJsZVwiOiAkZmEtdmFyLXRvaWxldHMtcG9ydGFibGUsXG4gIFwiaG9ja2V5LXB1Y2tcIjogJGZhLXZhci1ob2NrZXktcHVjayxcbiAgXCJ0YWJsZVwiOiAkZmEtdmFyLXRhYmxlLFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHRcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLWFycm93LXJpZ2h0LFxuICBcInRhY2hvZ3JhcGgtZGlnaXRhbFwiOiAkZmEtdmFyLXRhY2hvZ3JhcGgtZGlnaXRhbCxcbiAgXCJkaWdpdGFsLXRhY2hvZ3JhcGhcIjogJGZhLXZhci1kaWdpdGFsLXRhY2hvZ3JhcGgsXG4gIFwidXNlcnMtc2xhc2hcIjogJGZhLXZhci11c2Vycy1zbGFzaCxcbiAgXCJjbG92ZXJcIjogJGZhLXZhci1jbG92ZXIsXG4gIFwicmVwbHlcIjogJGZhLXZhci1yZXBseSxcbiAgXCJtYWlsLXJlcGx5XCI6ICRmYS12YXItbWFpbC1yZXBseSxcbiAgXCJzdGFyLWFuZC1jcmVzY2VudFwiOiAkZmEtdmFyLXN0YXItYW5kLWNyZXNjZW50LFxuICBcImhvdXNlLWZpcmVcIjogJGZhLXZhci1ob3VzZS1maXJlLFxuICBcInNxdWFyZS1taW51c1wiOiAkZmEtdmFyLXNxdWFyZS1taW51cyxcbiAgXCJtaW51cy1zcXVhcmVcIjogJGZhLXZhci1taW51cy1zcXVhcmUsXG4gIFwiaGVsaWNvcHRlclwiOiAkZmEtdmFyLWhlbGljb3B0ZXIsXG4gIFwiY29tcGFzc1wiOiAkZmEtdmFyLWNvbXBhc3MsXG4gIFwic3F1YXJlLWNhcmV0LWRvd25cIjogJGZhLXZhci1zcXVhcmUtY2FyZXQtZG93bixcbiAgXCJjYXJldC1zcXVhcmUtZG93blwiOiAkZmEtdmFyLWNhcmV0LXNxdWFyZS1kb3duLFxuICBcImZpbGUtY2lyY2xlLXF1ZXN0aW9uXCI6ICRmYS12YXItZmlsZS1jaXJjbGUtcXVlc3Rpb24sXG4gIFwibGFwdG9wLWNvZGVcIjogJGZhLXZhci1sYXB0b3AtY29kZSxcbiAgXCJzd2F0Y2hib29rXCI6ICRmYS12YXItc3dhdGNoYm9vayxcbiAgXCJwcmVzY3JpcHRpb24tYm90dGxlXCI6ICRmYS12YXItcHJlc2NyaXB0aW9uLWJvdHRsZSxcbiAgXCJiYXJzXCI6ICRmYS12YXItYmFycyxcbiAgXCJuYXZpY29uXCI6ICRmYS12YXItbmF2aWNvbixcbiAgXCJwZW9wbGUtZ3JvdXBcIjogJGZhLXZhci1wZW9wbGUtZ3JvdXAsXG4gIFwiaG91cmdsYXNzLWVuZFwiOiAkZmEtdmFyLWhvdXJnbGFzcy1lbmQsXG4gIFwiaG91cmdsYXNzLTNcIjogJGZhLXZhci1ob3VyZ2xhc3MtMyxcbiAgXCJoZWFydC1jcmFja1wiOiAkZmEtdmFyLWhlYXJ0LWNyYWNrLFxuICBcImhlYXJ0LWJyb2tlblwiOiAkZmEtdmFyLWhlYXJ0LWJyb2tlbixcbiAgXCJzcXVhcmUtdXAtcmlnaHRcIjogJGZhLXZhci1zcXVhcmUtdXAtcmlnaHQsXG4gIFwiZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0XCI6ICRmYS12YXItZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0LFxuICBcImZhY2Uta2lzcy1iZWFtXCI6ICRmYS12YXItZmFjZS1raXNzLWJlYW0sXG4gIFwia2lzcy1iZWFtXCI6ICRmYS12YXIta2lzcy1iZWFtLFxuICBcImZpbG1cIjogJGZhLXZhci1maWxtLFxuICBcInJ1bGVyLWhvcml6b250YWxcIjogJGZhLXZhci1ydWxlci1ob3Jpem9udGFsLFxuICBcInBlb3BsZS1yb2JiZXJ5XCI6ICRmYS12YXItcGVvcGxlLXJvYmJlcnksXG4gIFwibGlnaHRidWxiXCI6ICRmYS12YXItbGlnaHRidWxiLFxuICBcImNhcmV0LWxlZnRcIjogJGZhLXZhci1jYXJldC1sZWZ0LFxuICBcImNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJleGNsYW1hdGlvbi1jaXJjbGVcIjogJGZhLXZhci1leGNsYW1hdGlvbi1jaXJjbGUsXG4gIFwic2Nob29sLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLXNjaG9vbC1jaXJjbGUteG1hcmssXG4gIFwiYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0XCI6ICRmYS12YXItYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0LFxuICBcInNpZ24tb3V0XCI6ICRmYS12YXItc2lnbi1vdXQsXG4gIFwiY2lyY2xlLWNoZXZyb24tZG93blwiOiAkZmEtdmFyLWNpcmNsZS1jaGV2cm9uLWRvd24sXG4gIFwiY2hldnJvbi1jaXJjbGUtZG93blwiOiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWRvd24sXG4gIFwidW5sb2NrLWtleWhvbGVcIjogJGZhLXZhci11bmxvY2sta2V5aG9sZSxcbiAgXCJ1bmxvY2stYWx0XCI6ICRmYS12YXItdW5sb2NrLWFsdCxcbiAgXCJjbG91ZC1zaG93ZXJzLWhlYXZ5XCI6ICRmYS12YXItY2xvdWQtc2hvd2Vycy1oZWF2eSxcbiAgXCJoZWFkcGhvbmVzLXNpbXBsZVwiOiAkZmEtdmFyLWhlYWRwaG9uZXMtc2ltcGxlLFxuICBcImhlYWRwaG9uZXMtYWx0XCI6ICRmYS12YXItaGVhZHBob25lcy1hbHQsXG4gIFwic2l0ZW1hcFwiOiAkZmEtdmFyLXNpdGVtYXAsXG4gIFwiY2lyY2xlLWRvbGxhci10by1zbG90XCI6ICRmYS12YXItY2lyY2xlLWRvbGxhci10by1zbG90LFxuICBcImRvbmF0ZVwiOiAkZmEtdmFyLWRvbmF0ZSxcbiAgXCJtZW1vcnlcIjogJGZhLXZhci1tZW1vcnksXG4gIFwicm9hZC1zcGlrZXNcIjogJGZhLXZhci1yb2FkLXNwaWtlcyxcbiAgXCJmaXJlLWJ1cm5lclwiOiAkZmEtdmFyLWZpcmUtYnVybmVyLFxuICBcImZsYWdcIjogJGZhLXZhci1mbGFnLFxuICBcImhhbnVraWFoXCI6ICRmYS12YXItaGFudWtpYWgsXG4gIFwiZmVhdGhlclwiOiAkZmEtdmFyLWZlYXRoZXIsXG4gIFwidm9sdW1lLWxvd1wiOiAkZmEtdmFyLXZvbHVtZS1sb3csXG4gIFwidm9sdW1lLWRvd25cIjogJGZhLXZhci12b2x1bWUtZG93bixcbiAgXCJjb21tZW50LXNsYXNoXCI6ICRmYS12YXItY29tbWVudC1zbGFzaCxcbiAgXCJjbG91ZC1zdW4tcmFpblwiOiAkZmEtdmFyLWNsb3VkLXN1bi1yYWluLFxuICBcImNvbXByZXNzXCI6ICRmYS12YXItY29tcHJlc3MsXG4gIFwid2hlYXQtYXduXCI6ICRmYS12YXItd2hlYXQtYXduLFxuICBcIndoZWF0LWFsdFwiOiAkZmEtdmFyLXdoZWF0LWFsdCxcbiAgXCJhbmtoXCI6ICRmYS12YXItYW5raCxcbiAgXCJoYW5kcy1ob2xkaW5nLWNoaWxkXCI6ICRmYS12YXItaGFuZHMtaG9sZGluZy1jaGlsZCxcbiAgXCJhc3Rlcmlza1wiOiAkZmEtdmFyLWFzdGVyaXNrLFxuICBcInNxdWFyZS1jaGVja1wiOiAkZmEtdmFyLXNxdWFyZS1jaGVjayxcbiAgXCJjaGVjay1zcXVhcmVcIjogJGZhLXZhci1jaGVjay1zcXVhcmUsXG4gIFwicGVzZXRhLXNpZ25cIjogJGZhLXZhci1wZXNldGEtc2lnbixcbiAgXCJoZWFkaW5nXCI6ICRmYS12YXItaGVhZGluZyxcbiAgXCJoZWFkZXJcIjogJGZhLXZhci1oZWFkZXIsXG4gIFwiZ2hvc3RcIjogJGZhLXZhci1naG9zdCxcbiAgXCJsaXN0XCI6ICRmYS12YXItbGlzdCxcbiAgXCJsaXN0LXNxdWFyZXNcIjogJGZhLXZhci1saXN0LXNxdWFyZXMsXG4gIFwic3F1YXJlLXBob25lLWZsaXBcIjogJGZhLXZhci1zcXVhcmUtcGhvbmUtZmxpcCxcbiAgXCJwaG9uZS1zcXVhcmUtYWx0XCI6ICRmYS12YXItcGhvbmUtc3F1YXJlLWFsdCxcbiAgXCJjYXJ0LXBsdXNcIjogJGZhLXZhci1jYXJ0LXBsdXMsXG4gIFwiZ2FtZXBhZFwiOiAkZmEtdmFyLWdhbWVwYWQsXG4gIFwiY2lyY2xlLWRvdFwiOiAkZmEtdmFyLWNpcmNsZS1kb3QsXG4gIFwiZG90LWNpcmNsZVwiOiAkZmEtdmFyLWRvdC1jaXJjbGUsXG4gIFwiZmFjZS1kaXp6eVwiOiAkZmEtdmFyLWZhY2UtZGl6enksXG4gIFwiZGl6enlcIjogJGZhLXZhci1kaXp6eSxcbiAgXCJlZ2dcIjogJGZhLXZhci1lZ2csXG4gIFwiaG91c2UtbWVkaWNhbC1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS14bWFyayxcbiAgXCJjYW1wZ3JvdW5kXCI6ICRmYS12YXItY2FtcGdyb3VuZCxcbiAgXCJmb2xkZXItcGx1c1wiOiAkZmEtdmFyLWZvbGRlci1wbHVzLFxuICBcImZ1dGJvbFwiOiAkZmEtdmFyLWZ1dGJvbCxcbiAgXCJmdXRib2wtYmFsbFwiOiAkZmEtdmFyLWZ1dGJvbC1iYWxsLFxuICBcInNvY2Nlci1iYWxsXCI6ICRmYS12YXItc29jY2VyLWJhbGwsXG4gIFwicGFpbnRicnVzaFwiOiAkZmEtdmFyLXBhaW50YnJ1c2gsXG4gIFwicGFpbnQtYnJ1c2hcIjogJGZhLXZhci1wYWludC1icnVzaCxcbiAgXCJsb2NrXCI6ICRmYS12YXItbG9jayxcbiAgXCJnYXMtcHVtcFwiOiAkZmEtdmFyLWdhcy1wdW1wLFxuICBcImhvdC10dWItcGVyc29uXCI6ICRmYS12YXItaG90LXR1Yi1wZXJzb24sXG4gIFwiaG90LXR1YlwiOiAkZmEtdmFyLWhvdC10dWIsXG4gIFwibWFwLWxvY2F0aW9uXCI6ICRmYS12YXItbWFwLWxvY2F0aW9uLFxuICBcIm1hcC1tYXJrZWRcIjogJGZhLXZhci1tYXAtbWFya2VkLFxuICBcImhvdXNlLWZsb29kLXdhdGVyXCI6ICRmYS12YXItaG91c2UtZmxvb2Qtd2F0ZXIsXG4gIFwidHJlZVwiOiAkZmEtdmFyLXRyZWUsXG4gIFwiYnJpZGdlLWxvY2tcIjogJGZhLXZhci1icmlkZ2UtbG9jayxcbiAgXCJzYWNrLWRvbGxhclwiOiAkZmEtdmFyLXNhY2stZG9sbGFyLFxuICBcInBlbi10by1zcXVhcmVcIjogJGZhLXZhci1wZW4tdG8tc3F1YXJlLFxuICBcImVkaXRcIjogJGZhLXZhci1lZGl0LFxuICBcImNhci1zaWRlXCI6ICRmYS12YXItY2FyLXNpZGUsXG4gIFwic2hhcmUtbm9kZXNcIjogJGZhLXZhci1zaGFyZS1ub2RlcyxcbiAgXCJzaGFyZS1hbHRcIjogJGZhLXZhci1zaGFyZS1hbHQsXG4gIFwiaGVhcnQtY2lyY2xlLW1pbnVzXCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLW1pbnVzLFxuICBcImhvdXJnbGFzcy1oYWxmXCI6ICRmYS12YXItaG91cmdsYXNzLWhhbGYsXG4gIFwiaG91cmdsYXNzLTJcIjogJGZhLXZhci1ob3VyZ2xhc3MtMixcbiAgXCJtaWNyb3Njb3BlXCI6ICRmYS12YXItbWljcm9zY29wZSxcbiAgXCJzaW5rXCI6ICRmYS12YXItc2luayxcbiAgXCJiYWctc2hvcHBpbmdcIjogJGZhLXZhci1iYWctc2hvcHBpbmcsXG4gIFwic2hvcHBpbmctYmFnXCI6ICRmYS12YXItc2hvcHBpbmctYmFnLFxuICBcImFycm93LWRvd24tei1hXCI6ICRmYS12YXItYXJyb3ctZG93bi16LWEsXG4gIFwic29ydC1hbHBoYS1kZXNjXCI6ICRmYS12YXItc29ydC1hbHBoYS1kZXNjLFxuICBcInNvcnQtYWxwaGEtZG93bi1hbHRcIjogJGZhLXZhci1zb3J0LWFscGhhLWRvd24tYWx0LFxuICBcIm1pdHRlblwiOiAkZmEtdmFyLW1pdHRlbixcbiAgXCJwZXJzb24tcmF5c1wiOiAkZmEtdmFyLXBlcnNvbi1yYXlzLFxuICBcInVzZXJzXCI6ICRmYS12YXItdXNlcnMsXG4gIFwiZXllLXNsYXNoXCI6ICRmYS12YXItZXllLXNsYXNoLFxuICBcImZsYXNrLXZpYWxcIjogJGZhLXZhci1mbGFzay12aWFsLFxuICBcImhhbmRcIjogJGZhLXZhci1oYW5kLFxuICBcImhhbmQtcGFwZXJcIjogJGZhLXZhci1oYW5kLXBhcGVyLFxuICBcIm9tXCI6ICRmYS12YXItb20sXG4gIFwid29ybVwiOiAkZmEtdmFyLXdvcm0sXG4gIFwiaG91c2UtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItaG91c2UtY2lyY2xlLXhtYXJrLFxuICBcInBsdWdcIjogJGZhLXZhci1wbHVnLFxuICBcImNoZXZyb24tdXBcIjogJGZhLXZhci1jaGV2cm9uLXVwLFxuICBcImhhbmQtc3BvY2tcIjogJGZhLXZhci1oYW5kLXNwb2NrLFxuICBcInN0b3B3YXRjaFwiOiAkZmEtdmFyLXN0b3B3YXRjaCxcbiAgXCJmYWNlLWtpc3NcIjogJGZhLXZhci1mYWNlLWtpc3MsXG4gIFwia2lzc1wiOiAkZmEtdmFyLWtpc3MsXG4gIFwiYnJpZGdlLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWJyaWRnZS1jaXJjbGUteG1hcmssXG4gIFwiZmFjZS1ncmluLXRvbmd1ZVwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi10b25ndWUsXG4gIFwiZ3Jpbi10b25ndWVcIjogJGZhLXZhci1ncmluLXRvbmd1ZSxcbiAgXCJjaGVzcy1iaXNob3BcIjogJGZhLXZhci1jaGVzcy1iaXNob3AsXG4gIFwiZmFjZS1ncmluLXdpbmtcIjogJGZhLXZhci1mYWNlLWdyaW4td2luayxcbiAgXCJncmluLXdpbmtcIjogJGZhLXZhci1ncmluLXdpbmssXG4gIFwiZWFyLWRlYWZcIjogJGZhLXZhci1lYXItZGVhZixcbiAgXCJkZWFmXCI6ICRmYS12YXItZGVhZixcbiAgXCJkZWFmbmVzc1wiOiAkZmEtdmFyLWRlYWZuZXNzLFxuICBcImhhcmQtb2YtaGVhcmluZ1wiOiAkZmEtdmFyLWhhcmQtb2YtaGVhcmluZyxcbiAgXCJyb2FkLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXJvYWQtY2lyY2xlLWNoZWNrLFxuICBcImRpY2UtZml2ZVwiOiAkZmEtdmFyLWRpY2UtZml2ZSxcbiAgXCJzcXVhcmUtcnNzXCI6ICRmYS12YXItc3F1YXJlLXJzcyxcbiAgXCJyc3Mtc3F1YXJlXCI6ICRmYS12YXItcnNzLXNxdWFyZSxcbiAgXCJsYW5kLW1pbmUtb25cIjogJGZhLXZhci1sYW5kLW1pbmUtb24sXG4gIFwiaS1jdXJzb3JcIjogJGZhLXZhci1pLWN1cnNvcixcbiAgXCJzdGFtcFwiOiAkZmEtdmFyLXN0YW1wLFxuICBcInN0YWlyc1wiOiAkZmEtdmFyLXN0YWlycyxcbiAgXCJpXCI6ICRmYS12YXItaSxcbiAgXCJocnl2bmlhLXNpZ25cIjogJGZhLXZhci1ocnl2bmlhLXNpZ24sXG4gIFwiaHJ5dm5pYVwiOiAkZmEtdmFyLWhyeXZuaWEsXG4gIFwicGlsbHNcIjogJGZhLXZhci1waWxscyxcbiAgXCJmYWNlLWdyaW4td2lkZVwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi13aWRlLFxuICBcImdyaW4tYWx0XCI6ICRmYS12YXItZ3Jpbi1hbHQsXG4gIFwidG9vdGhcIjogJGZhLXZhci10b290aCxcbiAgXCJ2XCI6ICRmYS12YXItdixcbiAgXCJiYW5nbGFkZXNoaS10YWthLXNpZ25cIjogJGZhLXZhci1iYW5nbGFkZXNoaS10YWthLXNpZ24sXG4gIFwiYmljeWNsZVwiOiAkZmEtdmFyLWJpY3ljbGUsXG4gIFwic3RhZmYtc25ha2VcIjogJGZhLXZhci1zdGFmZi1zbmFrZSxcbiAgXCJyb2QtYXNjbGVwaXVzXCI6ICRmYS12YXItcm9kLWFzY2xlcGl1cyxcbiAgXCJyb2Qtc25ha2VcIjogJGZhLXZhci1yb2Qtc25ha2UsXG4gIFwic3RhZmYtYWVzY3VsYXBpdXNcIjogJGZhLXZhci1zdGFmZi1hZXNjdWxhcGl1cyxcbiAgXCJoZWFkLXNpZGUtY291Z2gtc2xhc2hcIjogJGZhLXZhci1oZWFkLXNpZGUtY291Z2gtc2xhc2gsXG4gIFwidHJ1Y2stbWVkaWNhbFwiOiAkZmEtdmFyLXRydWNrLW1lZGljYWwsXG4gIFwiYW1idWxhbmNlXCI6ICRmYS12YXItYW1idWxhbmNlLFxuICBcIndoZWF0LWF3bi1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci13aGVhdC1hd24tY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcInNub3dtYW5cIjogJGZhLXZhci1zbm93bWFuLFxuICBcIm1vcnRhci1wZXN0bGVcIjogJGZhLXZhci1tb3J0YXItcGVzdGxlLFxuICBcInJvYWQtYmFycmllclwiOiAkZmEtdmFyLXJvYWQtYmFycmllcixcbiAgXCJzY2hvb2xcIjogJGZhLXZhci1zY2hvb2wsXG4gIFwiaWdsb29cIjogJGZhLXZhci1pZ2xvbyxcbiAgXCJqb2ludFwiOiAkZmEtdmFyLWpvaW50LFxuICBcImFuZ2xlLXJpZ2h0XCI6ICRmYS12YXItYW5nbGUtcmlnaHQsXG4gIFwiaG9yc2VcIjogJGZhLXZhci1ob3JzZSxcbiAgXCJxXCI6ICRmYS12YXItcSxcbiAgXCJnXCI6ICRmYS12YXItZyxcbiAgXCJub3Rlcy1tZWRpY2FsXCI6ICRmYS12YXItbm90ZXMtbWVkaWNhbCxcbiAgXCJ0ZW1wZXJhdHVyZS1oYWxmXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtaGFsZixcbiAgXCJ0ZW1wZXJhdHVyZS0yXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtMixcbiAgXCJ0aGVybW9tZXRlci0yXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItMixcbiAgXCJ0aGVybW9tZXRlci1oYWxmXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItaGFsZixcbiAgXCJkb25nLXNpZ25cIjogJGZhLXZhci1kb25nLXNpZ24sXG4gIFwiY2Fwc3VsZXNcIjogJGZhLXZhci1jYXBzdWxlcyxcbiAgXCJwb28tc3Rvcm1cIjogJGZhLXZhci1wb28tc3Rvcm0sXG4gIFwicG9vLWJvbHRcIjogJGZhLXZhci1wb28tYm9sdCxcbiAgXCJmYWNlLWZyb3duLW9wZW5cIjogJGZhLXZhci1mYWNlLWZyb3duLW9wZW4sXG4gIFwiZnJvd24tb3BlblwiOiAkZmEtdmFyLWZyb3duLW9wZW4sXG4gIFwiaGFuZC1wb2ludC11cFwiOiAkZmEtdmFyLWhhbmQtcG9pbnQtdXAsXG4gIFwibW9uZXktYmlsbFwiOiAkZmEtdmFyLW1vbmV5LWJpbGwsXG4gIFwiYm9va21hcmtcIjogJGZhLXZhci1ib29rbWFyayxcbiAgXCJhbGlnbi1qdXN0aWZ5XCI6ICRmYS12YXItYWxpZ24tanVzdGlmeSxcbiAgXCJ1bWJyZWxsYS1iZWFjaFwiOiAkZmEtdmFyLXVtYnJlbGxhLWJlYWNoLFxuICBcImhlbG1ldC11blwiOiAkZmEtdmFyLWhlbG1ldC11bixcbiAgXCJidWxsc2V5ZVwiOiAkZmEtdmFyLWJ1bGxzZXllLFxuICBcImJhY29uXCI6ICRmYS12YXItYmFjb24sXG4gIFwiaGFuZC1wb2ludC1kb3duXCI6ICRmYS12YXItaGFuZC1wb2ludC1kb3duLFxuICBcImFycm93LXVwLWZyb20tYnJhY2tldFwiOiAkZmEtdmFyLWFycm93LXVwLWZyb20tYnJhY2tldCxcbiAgXCJmb2xkZXJcIjogJGZhLXZhci1mb2xkZXIsXG4gIFwiZm9sZGVyLWJsYW5rXCI6ICRmYS12YXItZm9sZGVyLWJsYW5rLFxuICBcImZpbGUtd2F2ZWZvcm1cIjogJGZhLXZhci1maWxlLXdhdmVmb3JtLFxuICBcImZpbGUtbWVkaWNhbC1hbHRcIjogJGZhLXZhci1maWxlLW1lZGljYWwtYWx0LFxuICBcInJhZGlhdGlvblwiOiAkZmEtdmFyLXJhZGlhdGlvbixcbiAgXCJjaGFydC1zaW1wbGVcIjogJGZhLXZhci1jaGFydC1zaW1wbGUsXG4gIFwibWFycy1zdHJva2VcIjogJGZhLXZhci1tYXJzLXN0cm9rZSxcbiAgXCJ2aWFsXCI6ICRmYS12YXItdmlhbCxcbiAgXCJnYXVnZVwiOiAkZmEtdmFyLWdhdWdlLFxuICBcImRhc2hib2FyZFwiOiAkZmEtdmFyLWRhc2hib2FyZCxcbiAgXCJnYXVnZS1tZWRcIjogJGZhLXZhci1nYXVnZS1tZWQsXG4gIFwidGFjaG9tZXRlci1hbHQtYXZlcmFnZVwiOiAkZmEtdmFyLXRhY2hvbWV0ZXItYWx0LWF2ZXJhZ2UsXG4gIFwid2FuZC1tYWdpYy1zcGFya2xlc1wiOiAkZmEtdmFyLXdhbmQtbWFnaWMtc3BhcmtsZXMsXG4gIFwibWFnaWMtd2FuZC1zcGFya2xlc1wiOiAkZmEtdmFyLW1hZ2ljLXdhbmQtc3BhcmtsZXMsXG4gIFwiZVwiOiAkZmEtdmFyLWUsXG4gIFwicGVuLWNsaXBcIjogJGZhLXZhci1wZW4tY2xpcCxcbiAgXCJwZW4tYWx0XCI6ICRmYS12YXItcGVuLWFsdCxcbiAgXCJicmlkZ2UtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItYnJpZGdlLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJ1c2VyXCI6ICRmYS12YXItdXNlcixcbiAgXCJzY2hvb2wtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItc2Nob29sLWNpcmNsZS1jaGVjayxcbiAgXCJkdW1wc3RlclwiOiAkZmEtdmFyLWR1bXBzdGVyLFxuICBcInZhbi1zaHV0dGxlXCI6ICRmYS12YXItdmFuLXNodXR0bGUsXG4gIFwic2h1dHRsZS12YW5cIjogJGZhLXZhci1zaHV0dGxlLXZhbixcbiAgXCJidWlsZGluZy11c2VyXCI6ICRmYS12YXItYnVpbGRpbmctdXNlcixcbiAgXCJzcXVhcmUtY2FyZXQtbGVmdFwiOiAkZmEtdmFyLXNxdWFyZS1jYXJldC1sZWZ0LFxuICBcImNhcmV0LXNxdWFyZS1sZWZ0XCI6ICRmYS12YXItY2FyZXQtc3F1YXJlLWxlZnQsXG4gIFwiaGlnaGxpZ2h0ZXJcIjogJGZhLXZhci1oaWdobGlnaHRlcixcbiAgXCJrZXlcIjogJGZhLXZhci1rZXksXG4gIFwiYnVsbGhvcm5cIjogJGZhLXZhci1idWxsaG9ybixcbiAgXCJnbG9iZVwiOiAkZmEtdmFyLWdsb2JlLFxuICBcInN5bmFnb2d1ZVwiOiAkZmEtdmFyLXN5bmFnb2d1ZSxcbiAgXCJwZXJzb24taGFsZi1kcmVzc1wiOiAkZmEtdmFyLXBlcnNvbi1oYWxmLWRyZXNzLFxuICBcInJvYWQtYnJpZGdlXCI6ICRmYS12YXItcm9hZC1icmlkZ2UsXG4gIFwibG9jYXRpb24tYXJyb3dcIjogJGZhLXZhci1sb2NhdGlvbi1hcnJvdyxcbiAgXCJjXCI6ICRmYS12YXItYyxcbiAgXCJ0YWJsZXQtYnV0dG9uXCI6ICRmYS12YXItdGFibGV0LWJ1dHRvbixcbiAgXCJidWlsZGluZy1sb2NrXCI6ICRmYS12YXItYnVpbGRpbmctbG9jayxcbiAgXCJwaXp6YS1zbGljZVwiOiAkZmEtdmFyLXBpenphLXNsaWNlLFxuICBcIm1vbmV5LWJpbGwtd2F2ZVwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZSxcbiAgXCJjaGFydC1hcmVhXCI6ICRmYS12YXItY2hhcnQtYXJlYSxcbiAgXCJhcmVhLWNoYXJ0XCI6ICRmYS12YXItYXJlYS1jaGFydCxcbiAgXCJob3VzZS1mbGFnXCI6ICRmYS12YXItaG91c2UtZmxhZyxcbiAgXCJwZXJzb24tY2lyY2xlLW1pbnVzXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS1taW51cyxcbiAgXCJiYW5cIjogJGZhLXZhci1iYW4sXG4gIFwiY2FuY2VsXCI6ICRmYS12YXItY2FuY2VsLFxuICBcImNhbWVyYS1yb3RhdGVcIjogJGZhLXZhci1jYW1lcmEtcm90YXRlLFxuICBcInNwcmF5LWNhbi1zcGFya2xlc1wiOiAkZmEtdmFyLXNwcmF5LWNhbi1zcGFya2xlcyxcbiAgXCJhaXItZnJlc2hlbmVyXCI6ICRmYS12YXItYWlyLWZyZXNoZW5lcixcbiAgXCJzdGFyXCI6ICRmYS12YXItc3RhcixcbiAgXCJyZXBlYXRcIjogJGZhLXZhci1yZXBlYXQsXG4gIFwiY3Jvc3NcIjogJGZhLXZhci1jcm9zcyxcbiAgXCJib3hcIjogJGZhLXZhci1ib3gsXG4gIFwidmVudXMtbWFyc1wiOiAkZmEtdmFyLXZlbnVzLW1hcnMsXG4gIFwiYXJyb3ctcG9pbnRlclwiOiAkZmEtdmFyLWFycm93LXBvaW50ZXIsXG4gIFwibW91c2UtcG9pbnRlclwiOiAkZmEtdmFyLW1vdXNlLXBvaW50ZXIsXG4gIFwibWF4aW1pemVcIjogJGZhLXZhci1tYXhpbWl6ZSxcbiAgXCJleHBhbmQtYXJyb3dzLWFsdFwiOiAkZmEtdmFyLWV4cGFuZC1hcnJvd3MtYWx0LFxuICBcImNoYXJnaW5nLXN0YXRpb25cIjogJGZhLXZhci1jaGFyZ2luZy1zdGF0aW9uLFxuICBcInNoYXBlc1wiOiAkZmEtdmFyLXNoYXBlcyxcbiAgXCJ0cmlhbmdsZS1jaXJjbGUtc3F1YXJlXCI6ICRmYS12YXItdHJpYW5nbGUtY2lyY2xlLXNxdWFyZSxcbiAgXCJzaHVmZmxlXCI6ICRmYS12YXItc2h1ZmZsZSxcbiAgXCJyYW5kb21cIjogJGZhLXZhci1yYW5kb20sXG4gIFwicGVyc29uLXJ1bm5pbmdcIjogJGZhLXZhci1wZXJzb24tcnVubmluZyxcbiAgXCJydW5uaW5nXCI6ICRmYS12YXItcnVubmluZyxcbiAgXCJtb2JpbGUtcmV0cm9cIjogJGZhLXZhci1tb2JpbGUtcmV0cm8sXG4gIFwiZ3JpcC1saW5lcy12ZXJ0aWNhbFwiOiAkZmEtdmFyLWdyaXAtbGluZXMtdmVydGljYWwsXG4gIFwic3BpZGVyXCI6ICRmYS12YXItc3BpZGVyLFxuICBcImhhbmRzLWJvdW5kXCI6ICRmYS12YXItaGFuZHMtYm91bmQsXG4gIFwiZmlsZS1pbnZvaWNlLWRvbGxhclwiOiAkZmEtdmFyLWZpbGUtaW52b2ljZS1kb2xsYXIsXG4gIFwicGxhbmUtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItcGxhbmUtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcIngtcmF5XCI6ICRmYS12YXIteC1yYXksXG4gIFwic3BlbGwtY2hlY2tcIjogJGZhLXZhci1zcGVsbC1jaGVjayxcbiAgXCJzbGFzaFwiOiAkZmEtdmFyLXNsYXNoLFxuICBcImNvbXB1dGVyLW1vdXNlXCI6ICRmYS12YXItY29tcHV0ZXItbW91c2UsXG4gIFwibW91c2VcIjogJGZhLXZhci1tb3VzZSxcbiAgXCJhcnJvdy1yaWdodC10by1icmFja2V0XCI6ICRmYS12YXItYXJyb3ctcmlnaHQtdG8tYnJhY2tldCxcbiAgXCJzaWduLWluXCI6ICRmYS12YXItc2lnbi1pbixcbiAgXCJzaG9wLXNsYXNoXCI6ICRmYS12YXItc2hvcC1zbGFzaCxcbiAgXCJzdG9yZS1hbHQtc2xhc2hcIjogJGZhLXZhci1zdG9yZS1hbHQtc2xhc2gsXG4gIFwic2VydmVyXCI6ICRmYS12YXItc2VydmVyLFxuICBcInZpcnVzLWNvdmlkLXNsYXNoXCI6ICRmYS12YXItdmlydXMtY292aWQtc2xhc2gsXG4gIFwic2hvcC1sb2NrXCI6ICRmYS12YXItc2hvcC1sb2NrLFxuICBcImhvdXJnbGFzcy1zdGFydFwiOiAkZmEtdmFyLWhvdXJnbGFzcy1zdGFydCxcbiAgXCJob3VyZ2xhc3MtMVwiOiAkZmEtdmFyLWhvdXJnbGFzcy0xLFxuICBcImJsZW5kZXItcGhvbmVcIjogJGZhLXZhci1ibGVuZGVyLXBob25lLFxuICBcImJ1aWxkaW5nLXdoZWF0XCI6ICRmYS12YXItYnVpbGRpbmctd2hlYXQsXG4gIFwicGVyc29uLWJyZWFzdGZlZWRpbmdcIjogJGZhLXZhci1wZXJzb24tYnJlYXN0ZmVlZGluZyxcbiAgXCJyaWdodC10by1icmFja2V0XCI6ICRmYS12YXItcmlnaHQtdG8tYnJhY2tldCxcbiAgXCJzaWduLWluLWFsdFwiOiAkZmEtdmFyLXNpZ24taW4tYWx0LFxuICBcInZlbnVzXCI6ICRmYS12YXItdmVudXMsXG4gIFwicGFzc3BvcnRcIjogJGZhLXZhci1wYXNzcG9ydCxcbiAgXCJoZWFydC1wdWxzZVwiOiAkZmEtdmFyLWhlYXJ0LXB1bHNlLFxuICBcImhlYXJ0YmVhdFwiOiAkZmEtdmFyLWhlYXJ0YmVhdCxcbiAgXCJwZW9wbGUtY2FycnktYm94XCI6ICRmYS12YXItcGVvcGxlLWNhcnJ5LWJveCxcbiAgXCJwZW9wbGUtY2FycnlcIjogJGZhLXZhci1wZW9wbGUtY2FycnksXG4gIFwidGVtcGVyYXR1cmUtaGlnaFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWhpZ2gsXG4gIFwibWljcm9jaGlwXCI6ICRmYS12YXItbWljcm9jaGlwLFxuICBcImNyb3duXCI6ICRmYS12YXItY3Jvd24sXG4gIFwid2VpZ2h0LWhhbmdpbmdcIjogJGZhLXZhci13ZWlnaHQtaGFuZ2luZyxcbiAgXCJ4bWFya3MtbGluZXNcIjogJGZhLXZhci14bWFya3MtbGluZXMsXG4gIFwiZmlsZS1wcmVzY3JpcHRpb25cIjogJGZhLXZhci1maWxlLXByZXNjcmlwdGlvbixcbiAgXCJ3ZWlnaHQtc2NhbGVcIjogJGZhLXZhci13ZWlnaHQtc2NhbGUsXG4gIFwid2VpZ2h0XCI6ICRmYS12YXItd2VpZ2h0LFxuICBcInVzZXItZ3JvdXBcIjogJGZhLXZhci11c2VyLWdyb3VwLFxuICBcInVzZXItZnJpZW5kc1wiOiAkZmEtdmFyLXVzZXItZnJpZW5kcyxcbiAgXCJhcnJvdy11cC1hLXpcIjogJGZhLXZhci1hcnJvdy11cC1hLXosXG4gIFwic29ydC1hbHBoYS11cFwiOiAkZmEtdmFyLXNvcnQtYWxwaGEtdXAsXG4gIFwiY2hlc3Mta25pZ2h0XCI6ICRmYS12YXItY2hlc3Mta25pZ2h0LFxuICBcImZhY2UtbGF1Z2gtc3F1aW50XCI6ICRmYS12YXItZmFjZS1sYXVnaC1zcXVpbnQsXG4gIFwibGF1Z2gtc3F1aW50XCI6ICRmYS12YXItbGF1Z2gtc3F1aW50LFxuICBcIndoZWVsY2hhaXJcIjogJGZhLXZhci13aGVlbGNoYWlyLFxuICBcImNpcmNsZS1hcnJvdy11cFwiOiAkZmEtdmFyLWNpcmNsZS1hcnJvdy11cCxcbiAgXCJhcnJvdy1jaXJjbGUtdXBcIjogJGZhLXZhci1hcnJvdy1jaXJjbGUtdXAsXG4gIFwidG9nZ2xlLW9uXCI6ICRmYS12YXItdG9nZ2xlLW9uLFxuICBcInBlcnNvbi13YWxraW5nXCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmcsXG4gIFwid2Fsa2luZ1wiOiAkZmEtdmFyLXdhbGtpbmcsXG4gIFwibFwiOiAkZmEtdmFyLWwsXG4gIFwiZmlyZVwiOiAkZmEtdmFyLWZpcmUsXG4gIFwiYmVkLXB1bHNlXCI6ICRmYS12YXItYmVkLXB1bHNlLFxuICBcInByb2NlZHVyZXNcIjogJGZhLXZhci1wcm9jZWR1cmVzLFxuICBcInNodXR0bGUtc3BhY2VcIjogJGZhLXZhci1zaHV0dGxlLXNwYWNlLFxuICBcInNwYWNlLXNodXR0bGVcIjogJGZhLXZhci1zcGFjZS1zaHV0dGxlLFxuICBcImZhY2UtbGF1Z2hcIjogJGZhLXZhci1mYWNlLWxhdWdoLFxuICBcImxhdWdoXCI6ICRmYS12YXItbGF1Z2gsXG4gIFwiZm9sZGVyLW9wZW5cIjogJGZhLXZhci1mb2xkZXItb3BlbixcbiAgXCJoZWFydC1jaXJjbGUtcGx1c1wiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS1wbHVzLFxuICBcImNvZGUtZm9ya1wiOiAkZmEtdmFyLWNvZGUtZm9yayxcbiAgXCJjaXR5XCI6ICRmYS12YXItY2l0eSxcbiAgXCJtaWNyb3Bob25lLWxpbmVzXCI6ICRmYS12YXItbWljcm9waG9uZS1saW5lcyxcbiAgXCJtaWNyb3Bob25lLWFsdFwiOiAkZmEtdmFyLW1pY3JvcGhvbmUtYWx0LFxuICBcInBlcHBlci1ob3RcIjogJGZhLXZhci1wZXBwZXItaG90LFxuICBcInVubG9ja1wiOiAkZmEtdmFyLXVubG9jayxcbiAgXCJjb2xvbi1zaWduXCI6ICRmYS12YXItY29sb24tc2lnbixcbiAgXCJoZWFkc2V0XCI6ICRmYS12YXItaGVhZHNldCxcbiAgXCJzdG9yZS1zbGFzaFwiOiAkZmEtdmFyLXN0b3JlLXNsYXNoLFxuICBcInJvYWQtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItcm9hZC1jaXJjbGUteG1hcmssXG4gIFwidXNlci1taW51c1wiOiAkZmEtdmFyLXVzZXItbWludXMsXG4gIFwibWFycy1zdHJva2UtdXBcIjogJGZhLXZhci1tYXJzLXN0cm9rZS11cCxcbiAgXCJtYXJzLXN0cm9rZS12XCI6ICRmYS12YXItbWFycy1zdHJva2UtdixcbiAgXCJjaGFtcGFnbmUtZ2xhc3Nlc1wiOiAkZmEtdmFyLWNoYW1wYWduZS1nbGFzc2VzLFxuICBcImdsYXNzLWNoZWVyc1wiOiAkZmEtdmFyLWdsYXNzLWNoZWVycyxcbiAgXCJjbGlwYm9hcmRcIjogJGZhLXZhci1jbGlwYm9hcmQsXG4gIFwiaG91c2UtY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItaG91c2UtY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcImZpbGUtYXJyb3ctdXBcIjogJGZhLXZhci1maWxlLWFycm93LXVwLFxuICBcImZpbGUtdXBsb2FkXCI6ICRmYS12YXItZmlsZS11cGxvYWQsXG4gIFwid2lmaVwiOiAkZmEtdmFyLXdpZmksXG4gIFwid2lmaS0zXCI6ICRmYS12YXItd2lmaS0zLFxuICBcIndpZmktc3Ryb25nXCI6ICRmYS12YXItd2lmaS1zdHJvbmcsXG4gIFwiYmF0aFwiOiAkZmEtdmFyLWJhdGgsXG4gIFwiYmF0aHR1YlwiOiAkZmEtdmFyLWJhdGh0dWIsXG4gIFwidW5kZXJsaW5lXCI6ICRmYS12YXItdW5kZXJsaW5lLFxuICBcInVzZXItcGVuXCI6ICRmYS12YXItdXNlci1wZW4sXG4gIFwidXNlci1lZGl0XCI6ICRmYS12YXItdXNlci1lZGl0LFxuICBcInNpZ25hdHVyZVwiOiAkZmEtdmFyLXNpZ25hdHVyZSxcbiAgXCJzdHJvb3B3YWZlbFwiOiAkZmEtdmFyLXN0cm9vcHdhZmVsLFxuICBcImJvbGRcIjogJGZhLXZhci1ib2xkLFxuICBcImFuY2hvci1sb2NrXCI6ICRmYS12YXItYW5jaG9yLWxvY2ssXG4gIFwiYnVpbGRpbmctbmdvXCI6ICRmYS12YXItYnVpbGRpbmctbmdvLFxuICBcIm1hbmF0LXNpZ25cIjogJGZhLXZhci1tYW5hdC1zaWduLFxuICBcIm5vdC1lcXVhbFwiOiAkZmEtdmFyLW5vdC1lcXVhbCxcbiAgXCJib3JkZXItdG9wLWxlZnRcIjogJGZhLXZhci1ib3JkZXItdG9wLWxlZnQsXG4gIFwiYm9yZGVyLXN0eWxlXCI6ICRmYS12YXItYm9yZGVyLXN0eWxlLFxuICBcIm1hcC1sb2NhdGlvbi1kb3RcIjogJGZhLXZhci1tYXAtbG9jYXRpb24tZG90LFxuICBcIm1hcC1tYXJrZWQtYWx0XCI6ICRmYS12YXItbWFwLW1hcmtlZC1hbHQsXG4gIFwiamVkaVwiOiAkZmEtdmFyLWplZGksXG4gIFwic3F1YXJlLXBvbGwtdmVydGljYWxcIjogJGZhLXZhci1zcXVhcmUtcG9sbC12ZXJ0aWNhbCxcbiAgXCJwb2xsXCI6ICRmYS12YXItcG9sbCxcbiAgXCJtdWctaG90XCI6ICRmYS12YXItbXVnLWhvdCxcbiAgXCJjYXItYmF0dGVyeVwiOiAkZmEtdmFyLWNhci1iYXR0ZXJ5LFxuICBcImJhdHRlcnktY2FyXCI6ICRmYS12YXItYmF0dGVyeS1jYXIsXG4gIFwiZ2lmdFwiOiAkZmEtdmFyLWdpZnQsXG4gIFwiZGljZS10d29cIjogJGZhLXZhci1kaWNlLXR3byxcbiAgXCJjaGVzcy1xdWVlblwiOiAkZmEtdmFyLWNoZXNzLXF1ZWVuLFxuICBcImdsYXNzZXNcIjogJGZhLXZhci1nbGFzc2VzLFxuICBcImNoZXNzLWJvYXJkXCI6ICRmYS12YXItY2hlc3MtYm9hcmQsXG4gIFwiYnVpbGRpbmctY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItYnVpbGRpbmctY2lyY2xlLWNoZWNrLFxuICBcInBlcnNvbi1jaGFsa2JvYXJkXCI6ICRmYS12YXItcGVyc29uLWNoYWxrYm9hcmQsXG4gIFwibWFycy1zdHJva2UtcmlnaHRcIjogJGZhLXZhci1tYXJzLXN0cm9rZS1yaWdodCxcbiAgXCJtYXJzLXN0cm9rZS1oXCI6ICRmYS12YXItbWFycy1zdHJva2UtaCxcbiAgXCJoYW5kLWJhY2stZmlzdFwiOiAkZmEtdmFyLWhhbmQtYmFjay1maXN0LFxuICBcImhhbmQtcm9ja1wiOiAkZmEtdmFyLWhhbmQtcm9jayxcbiAgXCJzcXVhcmUtY2FyZXQtdXBcIjogJGZhLXZhci1zcXVhcmUtY2FyZXQtdXAsXG4gIFwiY2FyZXQtc3F1YXJlLXVwXCI6ICRmYS12YXItY2FyZXQtc3F1YXJlLXVwLFxuICBcImNsb3VkLXNob3dlcnMtd2F0ZXJcIjogJGZhLXZhci1jbG91ZC1zaG93ZXJzLXdhdGVyLFxuICBcImNoYXJ0LWJhclwiOiAkZmEtdmFyLWNoYXJ0LWJhcixcbiAgXCJiYXItY2hhcnRcIjogJGZhLXZhci1iYXItY2hhcnQsXG4gIFwiaGFuZHMtYnViYmxlc1wiOiAkZmEtdmFyLWhhbmRzLWJ1YmJsZXMsXG4gIFwiaGFuZHMtd2FzaFwiOiAkZmEtdmFyLWhhbmRzLXdhc2gsXG4gIFwibGVzcy10aGFuLWVxdWFsXCI6ICRmYS12YXItbGVzcy10aGFuLWVxdWFsLFxuICBcInRyYWluXCI6ICRmYS12YXItdHJhaW4sXG4gIFwiZXllLWxvdy12aXNpb25cIjogJGZhLXZhci1leWUtbG93LXZpc2lvbixcbiAgXCJsb3ctdmlzaW9uXCI6ICRmYS12YXItbG93LXZpc2lvbixcbiAgXCJjcm93XCI6ICRmYS12YXItY3JvdyxcbiAgXCJzYWlsYm9hdFwiOiAkZmEtdmFyLXNhaWxib2F0LFxuICBcIndpbmRvdy1yZXN0b3JlXCI6ICRmYS12YXItd2luZG93LXJlc3RvcmUsXG4gIFwic3F1YXJlLXBsdXNcIjogJGZhLXZhci1zcXVhcmUtcGx1cyxcbiAgXCJwbHVzLXNxdWFyZVwiOiAkZmEtdmFyLXBsdXMtc3F1YXJlLFxuICBcInRvcmlpLWdhdGVcIjogJGZhLXZhci10b3JpaS1nYXRlLFxuICBcImZyb2dcIjogJGZhLXZhci1mcm9nLFxuICBcImJ1Y2tldFwiOiAkZmEtdmFyLWJ1Y2tldCxcbiAgXCJpbWFnZVwiOiAkZmEtdmFyLWltYWdlLFxuICBcIm1pY3JvcGhvbmVcIjogJGZhLXZhci1taWNyb3Bob25lLFxuICBcImNvd1wiOiAkZmEtdmFyLWNvdyxcbiAgXCJjYXJldC11cFwiOiAkZmEtdmFyLWNhcmV0LXVwLFxuICBcInNjcmV3ZHJpdmVyXCI6ICRmYS12YXItc2NyZXdkcml2ZXIsXG4gIFwiZm9sZGVyLWNsb3NlZFwiOiAkZmEtdmFyLWZvbGRlci1jbG9zZWQsXG4gIFwiaG91c2UtdHN1bmFtaVwiOiAkZmEtdmFyLWhvdXNlLXRzdW5hbWksXG4gIFwic3F1YXJlLW5maVwiOiAkZmEtdmFyLXNxdWFyZS1uZmksXG4gIFwiYXJyb3ctdXAtZnJvbS1ncm91bmQtd2F0ZXJcIjogJGZhLXZhci1hcnJvdy11cC1mcm9tLWdyb3VuZC13YXRlcixcbiAgXCJtYXJ0aW5pLWdsYXNzXCI6ICRmYS12YXItbWFydGluaS1nbGFzcyxcbiAgXCJnbGFzcy1tYXJ0aW5pLWFsdFwiOiAkZmEtdmFyLWdsYXNzLW1hcnRpbmktYWx0LFxuICBcInJvdGF0ZS1sZWZ0XCI6ICRmYS12YXItcm90YXRlLWxlZnQsXG4gIFwicm90YXRlLWJhY2tcIjogJGZhLXZhci1yb3RhdGUtYmFjayxcbiAgXCJyb3RhdGUtYmFja3dhcmRcIjogJGZhLXZhci1yb3RhdGUtYmFja3dhcmQsXG4gIFwidW5kby1hbHRcIjogJGZhLXZhci11bmRvLWFsdCxcbiAgXCJ0YWJsZS1jb2x1bW5zXCI6ICRmYS12YXItdGFibGUtY29sdW1ucyxcbiAgXCJjb2x1bW5zXCI6ICRmYS12YXItY29sdW1ucyxcbiAgXCJsZW1vblwiOiAkZmEtdmFyLWxlbW9uLFxuICBcImhlYWQtc2lkZS1tYXNrXCI6ICRmYS12YXItaGVhZC1zaWRlLW1hc2ssXG4gIFwiaGFuZHNoYWtlXCI6ICRmYS12YXItaGFuZHNoYWtlLFxuICBcImdlbVwiOiAkZmEtdmFyLWdlbSxcbiAgXCJkb2xseVwiOiAkZmEtdmFyLWRvbGx5LFxuICBcImRvbGx5LWJveFwiOiAkZmEtdmFyLWRvbGx5LWJveCxcbiAgXCJzbW9raW5nXCI6ICRmYS12YXItc21va2luZyxcbiAgXCJtaW5pbWl6ZVwiOiAkZmEtdmFyLW1pbmltaXplLFxuICBcImNvbXByZXNzLWFycm93cy1hbHRcIjogJGZhLXZhci1jb21wcmVzcy1hcnJvd3MtYWx0LFxuICBcIm1vbnVtZW50XCI6ICRmYS12YXItbW9udW1lbnQsXG4gIFwic25vd3Bsb3dcIjogJGZhLXZhci1zbm93cGxvdyxcbiAgXCJhbmdsZXMtcmlnaHRcIjogJGZhLXZhci1hbmdsZXMtcmlnaHQsXG4gIFwiYW5nbGUtZG91YmxlLXJpZ2h0XCI6ICRmYS12YXItYW5nbGUtZG91YmxlLXJpZ2h0LFxuICBcImNhbm5hYmlzXCI6ICRmYS12YXItY2FubmFiaXMsXG4gIFwiY2lyY2xlLXBsYXlcIjogJGZhLXZhci1jaXJjbGUtcGxheSxcbiAgXCJwbGF5LWNpcmNsZVwiOiAkZmEtdmFyLXBsYXktY2lyY2xlLFxuICBcInRhYmxldHNcIjogJGZhLXZhci10YWJsZXRzLFxuICBcImV0aGVybmV0XCI6ICRmYS12YXItZXRoZXJuZXQsXG4gIFwiZXVyby1zaWduXCI6ICRmYS12YXItZXVyby1zaWduLFxuICBcImV1clwiOiAkZmEtdmFyLWV1cixcbiAgXCJldXJvXCI6ICRmYS12YXItZXVybyxcbiAgXCJjaGFpclwiOiAkZmEtdmFyLWNoYWlyLFxuICBcImNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWNpcmNsZS1jaGVjayxcbiAgXCJjaGVjay1jaXJjbGVcIjogJGZhLXZhci1jaGVjay1jaXJjbGUsXG4gIFwiY2lyY2xlLXN0b3BcIjogJGZhLXZhci1jaXJjbGUtc3RvcCxcbiAgXCJzdG9wLWNpcmNsZVwiOiAkZmEtdmFyLXN0b3AtY2lyY2xlLFxuICBcImNvbXBhc3MtZHJhZnRpbmdcIjogJGZhLXZhci1jb21wYXNzLWRyYWZ0aW5nLFxuICBcImRyYWZ0aW5nLWNvbXBhc3NcIjogJGZhLXZhci1kcmFmdGluZy1jb21wYXNzLFxuICBcInBsYXRlLXdoZWF0XCI6ICRmYS12YXItcGxhdGUtd2hlYXQsXG4gIFwiaWNpY2xlc1wiOiAkZmEtdmFyLWljaWNsZXMsXG4gIFwicGVyc29uLXNoZWx0ZXJcIjogJGZhLXZhci1wZXJzb24tc2hlbHRlcixcbiAgXCJuZXV0ZXJcIjogJGZhLXZhci1uZXV0ZXIsXG4gIFwiaWQtYmFkZ2VcIjogJGZhLXZhci1pZC1iYWRnZSxcbiAgXCJtYXJrZXJcIjogJGZhLXZhci1tYXJrZXIsXG4gIFwiZmFjZS1sYXVnaC1iZWFtXCI6ICRmYS12YXItZmFjZS1sYXVnaC1iZWFtLFxuICBcImxhdWdoLWJlYW1cIjogJGZhLXZhci1sYXVnaC1iZWFtLFxuICBcImhlbGljb3B0ZXItc3ltYm9sXCI6ICRmYS12YXItaGVsaWNvcHRlci1zeW1ib2wsXG4gIFwidW5pdmVyc2FsLWFjY2Vzc1wiOiAkZmEtdmFyLXVuaXZlcnNhbC1hY2Nlc3MsXG4gIFwiY2lyY2xlLWNoZXZyb24tdXBcIjogJGZhLXZhci1jaXJjbGUtY2hldnJvbi11cCxcbiAgXCJjaGV2cm9uLWNpcmNsZS11cFwiOiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLXVwLFxuICBcImxhcmktc2lnblwiOiAkZmEtdmFyLWxhcmktc2lnbixcbiAgXCJ2b2xjYW5vXCI6ICRmYS12YXItdm9sY2FubyxcbiAgXCJwZXJzb24td2Fsa2luZy1kYXNoZWQtbGluZS1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLWRhc2hlZC1saW5lLWFycm93LXJpZ2h0LFxuICBcInN0ZXJsaW5nLXNpZ25cIjogJGZhLXZhci1zdGVybGluZy1zaWduLFxuICBcImdicFwiOiAkZmEtdmFyLWdicCxcbiAgXCJwb3VuZC1zaWduXCI6ICRmYS12YXItcG91bmQtc2lnbixcbiAgXCJ2aXJ1c2VzXCI6ICRmYS12YXItdmlydXNlcyxcbiAgXCJzcXVhcmUtcGVyc29uLWNvbmZpbmVkXCI6ICRmYS12YXItc3F1YXJlLXBlcnNvbi1jb25maW5lZCxcbiAgXCJ1c2VyLXRpZVwiOiAkZmEtdmFyLXVzZXItdGllLFxuICBcImFycm93LWRvd24tbG9uZ1wiOiAkZmEtdmFyLWFycm93LWRvd24tbG9uZyxcbiAgXCJsb25nLWFycm93LWRvd25cIjogJGZhLXZhci1sb25nLWFycm93LWRvd24sXG4gIFwidGVudC1hcnJvdy1kb3duLXRvLWxpbmVcIjogJGZhLXZhci10ZW50LWFycm93LWRvd24tdG8tbGluZSxcbiAgXCJjZXJ0aWZpY2F0ZVwiOiAkZmEtdmFyLWNlcnRpZmljYXRlLFxuICBcInJlcGx5LWFsbFwiOiAkZmEtdmFyLXJlcGx5LWFsbCxcbiAgXCJtYWlsLXJlcGx5LWFsbFwiOiAkZmEtdmFyLW1haWwtcmVwbHktYWxsLFxuICBcInN1aXRjYXNlXCI6ICRmYS12YXItc3VpdGNhc2UsXG4gIFwicGVyc29uLXNrYXRpbmdcIjogJGZhLXZhci1wZXJzb24tc2thdGluZyxcbiAgXCJza2F0aW5nXCI6ICRmYS12YXItc2thdGluZyxcbiAgXCJmaWx0ZXItY2lyY2xlLWRvbGxhclwiOiAkZmEtdmFyLWZpbHRlci1jaXJjbGUtZG9sbGFyLFxuICBcImZ1bm5lbC1kb2xsYXJcIjogJGZhLXZhci1mdW5uZWwtZG9sbGFyLFxuICBcImNhbWVyYS1yZXRyb1wiOiAkZmEtdmFyLWNhbWVyYS1yZXRybyxcbiAgXCJjaXJjbGUtYXJyb3ctZG93blwiOiAkZmEtdmFyLWNpcmNsZS1hcnJvdy1kb3duLFxuICBcImFycm93LWNpcmNsZS1kb3duXCI6ICRmYS12YXItYXJyb3ctY2lyY2xlLWRvd24sXG4gIFwiZmlsZS1pbXBvcnRcIjogJGZhLXZhci1maWxlLWltcG9ydCxcbiAgXCJhcnJvdy1yaWdodC10by1maWxlXCI6ICRmYS12YXItYXJyb3ctcmlnaHQtdG8tZmlsZSxcbiAgXCJzcXVhcmUtYXJyb3ctdXAtcmlnaHRcIjogJGZhLXZhci1zcXVhcmUtYXJyb3ctdXAtcmlnaHQsXG4gIFwiZXh0ZXJuYWwtbGluay1zcXVhcmVcIjogJGZhLXZhci1leHRlcm5hbC1saW5rLXNxdWFyZSxcbiAgXCJib3gtb3BlblwiOiAkZmEtdmFyLWJveC1vcGVuLFxuICBcInNjcm9sbFwiOiAkZmEtdmFyLXNjcm9sbCxcbiAgXCJzcGFcIjogJGZhLXZhci1zcGEsXG4gIFwibG9jYXRpb24tcGluLWxvY2tcIjogJGZhLXZhci1sb2NhdGlvbi1waW4tbG9jayxcbiAgXCJwYXVzZVwiOiAkZmEtdmFyLXBhdXNlLFxuICBcImhpbGwtYXZhbGFuY2hlXCI6ICRmYS12YXItaGlsbC1hdmFsYW5jaGUsXG4gIFwidGVtcGVyYXR1cmUtZW1wdHlcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1lbXB0eSxcbiAgXCJ0ZW1wZXJhdHVyZS0wXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtMCxcbiAgXCJ0aGVybW9tZXRlci0wXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItMCxcbiAgXCJ0aGVybW9tZXRlci1lbXB0eVwiOiAkZmEtdmFyLXRoZXJtb21ldGVyLWVtcHR5LFxuICBcImJvbWJcIjogJGZhLXZhci1ib21iLFxuICBcInJlZ2lzdGVyZWRcIjogJGZhLXZhci1yZWdpc3RlcmVkLFxuICBcImFkZHJlc3MtY2FyZFwiOiAkZmEtdmFyLWFkZHJlc3MtY2FyZCxcbiAgXCJjb250YWN0LWNhcmRcIjogJGZhLXZhci1jb250YWN0LWNhcmQsXG4gIFwidmNhcmRcIjogJGZhLXZhci12Y2FyZCxcbiAgXCJzY2FsZS11bmJhbGFuY2VkLWZsaXBcIjogJGZhLXZhci1zY2FsZS11bmJhbGFuY2VkLWZsaXAsXG4gIFwiYmFsYW5jZS1zY2FsZS1yaWdodFwiOiAkZmEtdmFyLWJhbGFuY2Utc2NhbGUtcmlnaHQsXG4gIFwic3Vic2NyaXB0XCI6ICRmYS12YXItc3Vic2NyaXB0LFxuICBcImRpYW1vbmQtdHVybi1yaWdodFwiOiAkZmEtdmFyLWRpYW1vbmQtdHVybi1yaWdodCxcbiAgXCJkaXJlY3Rpb25zXCI6ICRmYS12YXItZGlyZWN0aW9ucyxcbiAgXCJidXJzdFwiOiAkZmEtdmFyLWJ1cnN0LFxuICBcImhvdXNlLWxhcHRvcFwiOiAkZmEtdmFyLWhvdXNlLWxhcHRvcCxcbiAgXCJsYXB0b3AtaG91c2VcIjogJGZhLXZhci1sYXB0b3AtaG91c2UsXG4gIFwiZmFjZS10aXJlZFwiOiAkZmEtdmFyLWZhY2UtdGlyZWQsXG4gIFwidGlyZWRcIjogJGZhLXZhci10aXJlZCxcbiAgXCJtb25leS1iaWxsc1wiOiAkZmEtdmFyLW1vbmV5LWJpbGxzLFxuICBcInNtb2dcIjogJGZhLXZhci1zbW9nLFxuICBcImNydXRjaFwiOiAkZmEtdmFyLWNydXRjaCxcbiAgXCJjbG91ZC1hcnJvdy11cFwiOiAkZmEtdmFyLWNsb3VkLWFycm93LXVwLFxuICBcImNsb3VkLXVwbG9hZFwiOiAkZmEtdmFyLWNsb3VkLXVwbG9hZCxcbiAgXCJjbG91ZC11cGxvYWQtYWx0XCI6ICRmYS12YXItY2xvdWQtdXBsb2FkLWFsdCxcbiAgXCJwYWxldHRlXCI6ICRmYS12YXItcGFsZXR0ZSxcbiAgXCJhcnJvd3MtdHVybi1yaWdodFwiOiAkZmEtdmFyLWFycm93cy10dXJuLXJpZ2h0LFxuICBcInZlc3RcIjogJGZhLXZhci12ZXN0LFxuICBcImZlcnJ5XCI6ICRmYS12YXItZmVycnksXG4gIFwiYXJyb3dzLWRvd24tdG8tcGVvcGxlXCI6ICRmYS12YXItYXJyb3dzLWRvd24tdG8tcGVvcGxlLFxuICBcInNlZWRsaW5nXCI6ICRmYS12YXItc2VlZGxpbmcsXG4gIFwic3Byb3V0XCI6ICRmYS12YXItc3Byb3V0LFxuICBcImxlZnQtcmlnaHRcIjogJGZhLXZhci1sZWZ0LXJpZ2h0LFxuICBcImFycm93cy1hbHQtaFwiOiAkZmEtdmFyLWFycm93cy1hbHQtaCxcbiAgXCJib3hlcy1wYWNraW5nXCI6ICRmYS12YXItYm94ZXMtcGFja2luZyxcbiAgXCJjaXJjbGUtYXJyb3ctbGVmdFwiOiAkZmEtdmFyLWNpcmNsZS1hcnJvdy1sZWZ0LFxuICBcImFycm93LWNpcmNsZS1sZWZ0XCI6ICRmYS12YXItYXJyb3ctY2lyY2xlLWxlZnQsXG4gIFwiZ3JvdXAtYXJyb3dzLXJvdGF0ZVwiOiAkZmEtdmFyLWdyb3VwLWFycm93cy1yb3RhdGUsXG4gIFwiYm93bC1mb29kXCI6ICRmYS12YXItYm93bC1mb29kLFxuICBcImNhbmR5LWNhbmVcIjogJGZhLXZhci1jYW5keS1jYW5lLFxuICBcImFycm93LWRvd24td2lkZS1zaG9ydFwiOiAkZmEtdmFyLWFycm93LWRvd24td2lkZS1zaG9ydCxcbiAgXCJzb3J0LWFtb3VudC1hc2NcIjogJGZhLXZhci1zb3J0LWFtb3VudC1hc2MsXG4gIFwic29ydC1hbW91bnQtZG93blwiOiAkZmEtdmFyLXNvcnQtYW1vdW50LWRvd24sXG4gIFwiY2xvdWQtYm9sdFwiOiAkZmEtdmFyLWNsb3VkLWJvbHQsXG4gIFwidGh1bmRlcnN0b3JtXCI6ICRmYS12YXItdGh1bmRlcnN0b3JtLFxuICBcInRleHQtc2xhc2hcIjogJGZhLXZhci10ZXh0LXNsYXNoLFxuICBcInJlbW92ZS1mb3JtYXRcIjogJGZhLXZhci1yZW1vdmUtZm9ybWF0LFxuICBcImZhY2Utc21pbGUtd2lua1wiOiAkZmEtdmFyLWZhY2Utc21pbGUtd2luayxcbiAgXCJzbWlsZS13aW5rXCI6ICRmYS12YXItc21pbGUtd2luayxcbiAgXCJmaWxlLXdvcmRcIjogJGZhLXZhci1maWxlLXdvcmQsXG4gIFwiZmlsZS1wb3dlcnBvaW50XCI6ICRmYS12YXItZmlsZS1wb3dlcnBvaW50LFxuICBcImFycm93cy1sZWZ0LXJpZ2h0XCI6ICRmYS12YXItYXJyb3dzLWxlZnQtcmlnaHQsXG4gIFwiYXJyb3dzLWhcIjogJGZhLXZhci1hcnJvd3MtaCxcbiAgXCJob3VzZS1sb2NrXCI6ICRmYS12YXItaG91c2UtbG9jayxcbiAgXCJjbG91ZC1hcnJvdy1kb3duXCI6ICRmYS12YXItY2xvdWQtYXJyb3ctZG93bixcbiAgXCJjbG91ZC1kb3dubG9hZFwiOiAkZmEtdmFyLWNsb3VkLWRvd25sb2FkLFxuICBcImNsb3VkLWRvd25sb2FkLWFsdFwiOiAkZmEtdmFyLWNsb3VkLWRvd25sb2FkLWFsdCxcbiAgXCJjaGlsZHJlblwiOiAkZmEtdmFyLWNoaWxkcmVuLFxuICBcImNoYWxrYm9hcmRcIjogJGZhLXZhci1jaGFsa2JvYXJkLFxuICBcImJsYWNrYm9hcmRcIjogJGZhLXZhci1ibGFja2JvYXJkLFxuICBcInVzZXItbGFyZ2Utc2xhc2hcIjogJGZhLXZhci11c2VyLWxhcmdlLXNsYXNoLFxuICBcInVzZXItYWx0LXNsYXNoXCI6ICRmYS12YXItdXNlci1hbHQtc2xhc2gsXG4gIFwiZW52ZWxvcGUtb3BlblwiOiAkZmEtdmFyLWVudmVsb3BlLW9wZW4sXG4gIFwiaGFuZHNoYWtlLXNpbXBsZS1zbGFzaFwiOiAkZmEtdmFyLWhhbmRzaGFrZS1zaW1wbGUtc2xhc2gsXG4gIFwiaGFuZHNoYWtlLWFsdC1zbGFzaFwiOiAkZmEtdmFyLWhhbmRzaGFrZS1hbHQtc2xhc2gsXG4gIFwibWF0dHJlc3MtcGlsbG93XCI6ICRmYS12YXItbWF0dHJlc3MtcGlsbG93LFxuICBcImd1YXJhbmktc2lnblwiOiAkZmEtdmFyLWd1YXJhbmktc2lnbixcbiAgXCJhcnJvd3Mtcm90YXRlXCI6ICRmYS12YXItYXJyb3dzLXJvdGF0ZSxcbiAgXCJyZWZyZXNoXCI6ICRmYS12YXItcmVmcmVzaCxcbiAgXCJzeW5jXCI6ICRmYS12YXItc3luYyxcbiAgXCJmaXJlLWV4dGluZ3Vpc2hlclwiOiAkZmEtdmFyLWZpcmUtZXh0aW5ndWlzaGVyLFxuICBcImNydXplaXJvLXNpZ25cIjogJGZhLXZhci1jcnV6ZWlyby1zaWduLFxuICBcImdyZWF0ZXItdGhhbi1lcXVhbFwiOiAkZmEtdmFyLWdyZWF0ZXItdGhhbi1lcXVhbCxcbiAgXCJzaGllbGQtaGFsdmVkXCI6ICRmYS12YXItc2hpZWxkLWhhbHZlZCxcbiAgXCJzaGllbGQtYWx0XCI6ICRmYS12YXItc2hpZWxkLWFsdCxcbiAgXCJib29rLWF0bGFzXCI6ICRmYS12YXItYm9vay1hdGxhcyxcbiAgXCJhdGxhc1wiOiAkZmEtdmFyLWF0bGFzLFxuICBcInZpcnVzXCI6ICRmYS12YXItdmlydXMsXG4gIFwiZW52ZWxvcGUtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItZW52ZWxvcGUtY2lyY2xlLWNoZWNrLFxuICBcImxheWVyLWdyb3VwXCI6ICRmYS12YXItbGF5ZXItZ3JvdXAsXG4gIFwiYXJyb3dzLXRvLWRvdFwiOiAkZmEtdmFyLWFycm93cy10by1kb3QsXG4gIFwiYXJjaHdheVwiOiAkZmEtdmFyLWFyY2h3YXksXG4gIFwiaGVhcnQtY2lyY2xlLWNoZWNrXCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLWNoZWNrLFxuICBcImhvdXNlLWNoaW1uZXktY3JhY2tcIjogJGZhLXZhci1ob3VzZS1jaGltbmV5LWNyYWNrLFxuICBcImhvdXNlLWRhbWFnZVwiOiAkZmEtdmFyLWhvdXNlLWRhbWFnZSxcbiAgXCJmaWxlLXppcHBlclwiOiAkZmEtdmFyLWZpbGUtemlwcGVyLFxuICBcImZpbGUtYXJjaGl2ZVwiOiAkZmEtdmFyLWZpbGUtYXJjaGl2ZSxcbiAgXCJzcXVhcmVcIjogJGZhLXZhci1zcXVhcmUsXG4gIFwibWFydGluaS1nbGFzcy1lbXB0eVwiOiAkZmEtdmFyLW1hcnRpbmktZ2xhc3MtZW1wdHksXG4gIFwiZ2xhc3MtbWFydGluaVwiOiAkZmEtdmFyLWdsYXNzLW1hcnRpbmksXG4gIFwiY291Y2hcIjogJGZhLXZhci1jb3VjaCxcbiAgXCJjZWRpLXNpZ25cIjogJGZhLXZhci1jZWRpLXNpZ24sXG4gIFwiaXRhbGljXCI6ICRmYS12YXItaXRhbGljLFxuICBcImNodXJjaFwiOiAkZmEtdmFyLWNodXJjaCxcbiAgXCJjb21tZW50cy1kb2xsYXJcIjogJGZhLXZhci1jb21tZW50cy1kb2xsYXIsXG4gIFwiZGVtb2NyYXRcIjogJGZhLXZhci1kZW1vY3JhdCxcbiAgXCJ6XCI6ICRmYS12YXIteixcbiAgXCJwZXJzb24tc2tpaW5nXCI6ICRmYS12YXItcGVyc29uLXNraWluZyxcbiAgXCJza2lpbmdcIjogJGZhLXZhci1za2lpbmcsXG4gIFwicm9hZC1sb2NrXCI6ICRmYS12YXItcm9hZC1sb2NrLFxuICBcImFcIjogJGZhLXZhci1hLFxuICBcInRlbXBlcmF0dXJlLWFycm93LWRvd25cIjogJGZhLXZhci10ZW1wZXJhdHVyZS1hcnJvdy1kb3duLFxuICBcInRlbXBlcmF0dXJlLWRvd25cIjogJGZhLXZhci10ZW1wZXJhdHVyZS1kb3duLFxuICBcImZlYXRoZXItcG9pbnRlZFwiOiAkZmEtdmFyLWZlYXRoZXItcG9pbnRlZCxcbiAgXCJmZWF0aGVyLWFsdFwiOiAkZmEtdmFyLWZlYXRoZXItYWx0LFxuICBcInBcIjogJGZhLXZhci1wLFxuICBcInNub3dmbGFrZVwiOiAkZmEtdmFyLXNub3dmbGFrZSxcbiAgXCJuZXdzcGFwZXJcIjogJGZhLXZhci1uZXdzcGFwZXIsXG4gIFwicmVjdGFuZ2xlLWFkXCI6ICRmYS12YXItcmVjdGFuZ2xlLWFkLFxuICBcImFkXCI6ICRmYS12YXItYWQsXG4gIFwiY2lyY2xlLWFycm93LXJpZ2h0XCI6ICRmYS12YXItY2lyY2xlLWFycm93LXJpZ2h0LFxuICBcImFycm93LWNpcmNsZS1yaWdodFwiOiAkZmEtdmFyLWFycm93LWNpcmNsZS1yaWdodCxcbiAgXCJmaWx0ZXItY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItZmlsdGVyLWNpcmNsZS14bWFyayxcbiAgXCJsb2N1c3RcIjogJGZhLXZhci1sb2N1c3QsXG4gIFwic29ydFwiOiAkZmEtdmFyLXNvcnQsXG4gIFwidW5zb3J0ZWRcIjogJGZhLXZhci11bnNvcnRlZCxcbiAgXCJsaXN0LW9sXCI6ICRmYS12YXItbGlzdC1vbCxcbiAgXCJsaXN0LTEtMlwiOiAkZmEtdmFyLWxpc3QtMS0yLFxuICBcImxpc3QtbnVtZXJpY1wiOiAkZmEtdmFyLWxpc3QtbnVtZXJpYyxcbiAgXCJwZXJzb24tZHJlc3MtYnVyc3RcIjogJGZhLXZhci1wZXJzb24tZHJlc3MtYnVyc3QsXG4gIFwibW9uZXktY2hlY2stZG9sbGFyXCI6ICRmYS12YXItbW9uZXktY2hlY2stZG9sbGFyLFxuICBcIm1vbmV5LWNoZWNrLWFsdFwiOiAkZmEtdmFyLW1vbmV5LWNoZWNrLWFsdCxcbiAgXCJ2ZWN0b3Itc3F1YXJlXCI6ICRmYS12YXItdmVjdG9yLXNxdWFyZSxcbiAgXCJicmVhZC1zbGljZVwiOiAkZmEtdmFyLWJyZWFkLXNsaWNlLFxuICBcImxhbmd1YWdlXCI6ICRmYS12YXItbGFuZ3VhZ2UsXG4gIFwiZmFjZS1raXNzLXdpbmstaGVhcnRcIjogJGZhLXZhci1mYWNlLWtpc3Mtd2luay1oZWFydCxcbiAgXCJraXNzLXdpbmstaGVhcnRcIjogJGZhLXZhci1raXNzLXdpbmstaGVhcnQsXG4gIFwiZmlsdGVyXCI6ICRmYS12YXItZmlsdGVyLFxuICBcInF1ZXN0aW9uXCI6ICRmYS12YXItcXVlc3Rpb24sXG4gIFwiZmlsZS1zaWduYXR1cmVcIjogJGZhLXZhci1maWxlLXNpZ25hdHVyZSxcbiAgXCJ1cC1kb3duLWxlZnQtcmlnaHRcIjogJGZhLXZhci11cC1kb3duLWxlZnQtcmlnaHQsXG4gIFwiYXJyb3dzLWFsdFwiOiAkZmEtdmFyLWFycm93cy1hbHQsXG4gIFwiaG91c2UtY2hpbW5leS11c2VyXCI6ICRmYS12YXItaG91c2UtY2hpbW5leS11c2VyLFxuICBcImhhbmQtaG9sZGluZy1oZWFydFwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy1oZWFydCxcbiAgXCJwdXp6bGUtcGllY2VcIjogJGZhLXZhci1wdXp6bGUtcGllY2UsXG4gIFwibW9uZXktY2hlY2tcIjogJGZhLXZhci1tb25leS1jaGVjayxcbiAgXCJzdGFyLWhhbGYtc3Ryb2tlXCI6ICRmYS12YXItc3Rhci1oYWxmLXN0cm9rZSxcbiAgXCJzdGFyLWhhbGYtYWx0XCI6ICRmYS12YXItc3Rhci1oYWxmLWFsdCxcbiAgXCJjb2RlXCI6ICRmYS12YXItY29kZSxcbiAgXCJ3aGlza2V5LWdsYXNzXCI6ICRmYS12YXItd2hpc2tleS1nbGFzcyxcbiAgXCJnbGFzcy13aGlza2V5XCI6ICRmYS12YXItZ2xhc3Mtd2hpc2tleSxcbiAgXCJidWlsZGluZy1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1idWlsZGluZy1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwibWFnbmlmeWluZy1nbGFzcy1jaGFydFwiOiAkZmEtdmFyLW1hZ25pZnlpbmctZ2xhc3MtY2hhcnQsXG4gIFwiYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmVcIjogJGZhLXZhci1hcnJvdy11cC1yaWdodC1mcm9tLXNxdWFyZSxcbiAgXCJleHRlcm5hbC1saW5rXCI6ICRmYS12YXItZXh0ZXJuYWwtbGluayxcbiAgXCJjdWJlcy1zdGFja2VkXCI6ICRmYS12YXItY3ViZXMtc3RhY2tlZCxcbiAgXCJ3b24tc2lnblwiOiAkZmEtdmFyLXdvbi1zaWduLFxuICBcImtyd1wiOiAkZmEtdmFyLWtydyxcbiAgXCJ3b25cIjogJGZhLXZhci13b24sXG4gIFwidmlydXMtY292aWRcIjogJGZhLXZhci12aXJ1cy1jb3ZpZCxcbiAgXCJhdXN0cmFsLXNpZ25cIjogJGZhLXZhci1hdXN0cmFsLXNpZ24sXG4gIFwiZlwiOiAkZmEtdmFyLWYsXG4gIFwibGVhZlwiOiAkZmEtdmFyLWxlYWYsXG4gIFwicm9hZFwiOiAkZmEtdmFyLXJvYWQsXG4gIFwidGF4aVwiOiAkZmEtdmFyLXRheGksXG4gIFwiY2FiXCI6ICRmYS12YXItY2FiLFxuICBcInBlcnNvbi1jaXJjbGUtcGx1c1wiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUtcGx1cyxcbiAgXCJjaGFydC1waWVcIjogJGZhLXZhci1jaGFydC1waWUsXG4gIFwicGllLWNoYXJ0XCI6ICRmYS12YXItcGllLWNoYXJ0LFxuICBcImJvbHQtbGlnaHRuaW5nXCI6ICRmYS12YXItYm9sdC1saWdodG5pbmcsXG4gIFwic2Fjay14bWFya1wiOiAkZmEtdmFyLXNhY2steG1hcmssXG4gIFwiZmlsZS1leGNlbFwiOiAkZmEtdmFyLWZpbGUtZXhjZWwsXG4gIFwiZmlsZS1jb250cmFjdFwiOiAkZmEtdmFyLWZpbGUtY29udHJhY3QsXG4gIFwiZmlzaC1maW5zXCI6ICRmYS12YXItZmlzaC1maW5zLFxuICBcImJ1aWxkaW5nLWZsYWdcIjogJGZhLXZhci1idWlsZGluZy1mbGFnLFxuICBcImZhY2UtZ3Jpbi1iZWFtXCI6ICRmYS12YXItZmFjZS1ncmluLWJlYW0sXG4gIFwiZ3Jpbi1iZWFtXCI6ICRmYS12YXItZ3Jpbi1iZWFtLFxuICBcIm9iamVjdC11bmdyb3VwXCI6ICRmYS12YXItb2JqZWN0LXVuZ3JvdXAsXG4gIFwicG9vcFwiOiAkZmEtdmFyLXBvb3AsXG4gIFwibG9jYXRpb24tcGluXCI6ICRmYS12YXItbG9jYXRpb24tcGluLFxuICBcIm1hcC1tYXJrZXJcIjogJGZhLXZhci1tYXAtbWFya2VyLFxuICBcImthYWJhXCI6ICRmYS12YXIta2FhYmEsXG4gIFwidG9pbGV0LXBhcGVyXCI6ICRmYS12YXItdG9pbGV0LXBhcGVyLFxuICBcImhlbG1ldC1zYWZldHlcIjogJGZhLXZhci1oZWxtZXQtc2FmZXR5LFxuICBcImhhcmQtaGF0XCI6ICRmYS12YXItaGFyZC1oYXQsXG4gIFwiaGF0LWhhcmRcIjogJGZhLXZhci1oYXQtaGFyZCxcbiAgXCJlamVjdFwiOiAkZmEtdmFyLWVqZWN0LFxuICBcImNpcmNsZS1yaWdodFwiOiAkZmEtdmFyLWNpcmNsZS1yaWdodCxcbiAgXCJhcnJvdy1hbHQtY2lyY2xlLXJpZ2h0XCI6ICRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS1yaWdodCxcbiAgXCJwbGFuZS1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1wbGFuZS1jaXJjbGUtY2hlY2ssXG4gIFwiZmFjZS1yb2xsaW5nLWV5ZXNcIjogJGZhLXZhci1mYWNlLXJvbGxpbmctZXllcyxcbiAgXCJtZWgtcm9sbGluZy1leWVzXCI6ICRmYS12YXItbWVoLXJvbGxpbmctZXllcyxcbiAgXCJvYmplY3QtZ3JvdXBcIjogJGZhLXZhci1vYmplY3QtZ3JvdXAsXG4gIFwiY2hhcnQtbGluZVwiOiAkZmEtdmFyLWNoYXJ0LWxpbmUsXG4gIFwibGluZS1jaGFydFwiOiAkZmEtdmFyLWxpbmUtY2hhcnQsXG4gIFwibWFzay12ZW50aWxhdG9yXCI6ICRmYS12YXItbWFzay12ZW50aWxhdG9yLFxuICBcImFycm93LXJpZ2h0XCI6ICRmYS12YXItYXJyb3ctcmlnaHQsXG4gIFwic2lnbnMtcG9zdFwiOiAkZmEtdmFyLXNpZ25zLXBvc3QsXG4gIFwibWFwLXNpZ25zXCI6ICRmYS12YXItbWFwLXNpZ25zLFxuICBcImNhc2gtcmVnaXN0ZXJcIjogJGZhLXZhci1jYXNoLXJlZ2lzdGVyLFxuICBcInBlcnNvbi1jaXJjbGUtcXVlc3Rpb25cIjogJGZhLXZhci1wZXJzb24tY2lyY2xlLXF1ZXN0aW9uLFxuICBcImhcIjogJGZhLXZhci1oLFxuICBcInRhcnBcIjogJGZhLXZhci10YXJwLFxuICBcInNjcmV3ZHJpdmVyLXdyZW5jaFwiOiAkZmEtdmFyLXNjcmV3ZHJpdmVyLXdyZW5jaCxcbiAgXCJ0b29sc1wiOiAkZmEtdmFyLXRvb2xzLFxuICBcImFycm93cy10by1leWVcIjogJGZhLXZhci1hcnJvd3MtdG8tZXllLFxuICBcInBsdWctY2lyY2xlLWJvbHRcIjogJGZhLXZhci1wbHVnLWNpcmNsZS1ib2x0LFxuICBcImhlYXJ0XCI6ICRmYS12YXItaGVhcnQsXG4gIFwibWFycy1hbmQtdmVudXNcIjogJGZhLXZhci1tYXJzLWFuZC12ZW51cyxcbiAgXCJob3VzZS11c2VyXCI6ICRmYS12YXItaG91c2UtdXNlcixcbiAgXCJob21lLXVzZXJcIjogJGZhLXZhci1ob21lLXVzZXIsXG4gIFwiZHVtcHN0ZXItZmlyZVwiOiAkZmEtdmFyLWR1bXBzdGVyLWZpcmUsXG4gIFwiaG91c2UtY3JhY2tcIjogJGZhLXZhci1ob3VzZS1jcmFjayxcbiAgXCJtYXJ0aW5pLWdsYXNzLWNpdHJ1c1wiOiAkZmEtdmFyLW1hcnRpbmktZ2xhc3MtY2l0cnVzLFxuICBcImNvY2t0YWlsXCI6ICRmYS12YXItY29ja3RhaWwsXG4gIFwiZmFjZS1zdXJwcmlzZVwiOiAkZmEtdmFyLWZhY2Utc3VycHJpc2UsXG4gIFwic3VycHJpc2VcIjogJGZhLXZhci1zdXJwcmlzZSxcbiAgXCJib3R0bGUtd2F0ZXJcIjogJGZhLXZhci1ib3R0bGUtd2F0ZXIsXG4gIFwiY2lyY2xlLXBhdXNlXCI6ICRmYS12YXItY2lyY2xlLXBhdXNlLFxuICBcInBhdXNlLWNpcmNsZVwiOiAkZmEtdmFyLXBhdXNlLWNpcmNsZSxcbiAgXCJ0b2lsZXQtcGFwZXItc2xhc2hcIjogJGZhLXZhci10b2lsZXQtcGFwZXItc2xhc2gsXG4gIFwiYXBwbGUtd2hvbGVcIjogJGZhLXZhci1hcHBsZS13aG9sZSxcbiAgXCJhcHBsZS1hbHRcIjogJGZhLXZhci1hcHBsZS1hbHQsXG4gIFwia2l0Y2hlbi1zZXRcIjogJGZhLXZhci1raXRjaGVuLXNldCxcbiAgXCJyXCI6ICRmYS12YXItcixcbiAgXCJ0ZW1wZXJhdHVyZS1xdWFydGVyXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtcXVhcnRlcixcbiAgXCJ0ZW1wZXJhdHVyZS0xXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtMSxcbiAgXCJ0aGVybW9tZXRlci0xXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItMSxcbiAgXCJ0aGVybW9tZXRlci1xdWFydGVyXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItcXVhcnRlcixcbiAgXCJjdWJlXCI6ICRmYS12YXItY3ViZSxcbiAgXCJiaXRjb2luLXNpZ25cIjogJGZhLXZhci1iaXRjb2luLXNpZ24sXG4gIFwic2hpZWxkLWRvZ1wiOiAkZmEtdmFyLXNoaWVsZC1kb2csXG4gIFwic29sYXItcGFuZWxcIjogJGZhLXZhci1zb2xhci1wYW5lbCxcbiAgXCJsb2NrLW9wZW5cIjogJGZhLXZhci1sb2NrLW9wZW4sXG4gIFwiZWxldmF0b3JcIjogJGZhLXZhci1lbGV2YXRvcixcbiAgXCJtb25leS1iaWxsLXRyYW5zZmVyXCI6ICRmYS12YXItbW9uZXktYmlsbC10cmFuc2ZlcixcbiAgXCJtb25leS1iaWxsLXRyZW5kLXVwXCI6ICRmYS12YXItbW9uZXktYmlsbC10cmVuZC11cCxcbiAgXCJob3VzZS1mbG9vZC13YXRlci1jaXJjbGUtYXJyb3ctcmlnaHRcIjogJGZhLXZhci1ob3VzZS1mbG9vZC13YXRlci1jaXJjbGUtYXJyb3ctcmlnaHQsXG4gIFwic3F1YXJlLXBvbGwtaG9yaXpvbnRhbFwiOiAkZmEtdmFyLXNxdWFyZS1wb2xsLWhvcml6b250YWwsXG4gIFwicG9sbC1oXCI6ICRmYS12YXItcG9sbC1oLFxuICBcImNpcmNsZVwiOiAkZmEtdmFyLWNpcmNsZSxcbiAgXCJiYWNrd2FyZC1mYXN0XCI6ICRmYS12YXItYmFja3dhcmQtZmFzdCxcbiAgXCJmYXN0LWJhY2t3YXJkXCI6ICRmYS12YXItZmFzdC1iYWNrd2FyZCxcbiAgXCJyZWN5Y2xlXCI6ICRmYS12YXItcmVjeWNsZSxcbiAgXCJ1c2VyLWFzdHJvbmF1dFwiOiAkZmEtdmFyLXVzZXItYXN0cm9uYXV0LFxuICBcInBsYW5lLXNsYXNoXCI6ICRmYS12YXItcGxhbmUtc2xhc2gsXG4gIFwidHJhZGVtYXJrXCI6ICRmYS12YXItdHJhZGVtYXJrLFxuICBcImJhc2tldGJhbGxcIjogJGZhLXZhci1iYXNrZXRiYWxsLFxuICBcImJhc2tldGJhbGwtYmFsbFwiOiAkZmEtdmFyLWJhc2tldGJhbGwtYmFsbCxcbiAgXCJzYXRlbGxpdGUtZGlzaFwiOiAkZmEtdmFyLXNhdGVsbGl0ZS1kaXNoLFxuICBcImNpcmNsZS11cFwiOiAkZmEtdmFyLWNpcmNsZS11cCxcbiAgXCJhcnJvdy1hbHQtY2lyY2xlLXVwXCI6ICRmYS12YXItYXJyb3ctYWx0LWNpcmNsZS11cCxcbiAgXCJtb2JpbGUtc2NyZWVuLWJ1dHRvblwiOiAkZmEtdmFyLW1vYmlsZS1zY3JlZW4tYnV0dG9uLFxuICBcIm1vYmlsZS1hbHRcIjogJGZhLXZhci1tb2JpbGUtYWx0LFxuICBcInZvbHVtZS1oaWdoXCI6ICRmYS12YXItdm9sdW1lLWhpZ2gsXG4gIFwidm9sdW1lLXVwXCI6ICRmYS12YXItdm9sdW1lLXVwLFxuICBcInVzZXJzLXJheXNcIjogJGZhLXZhci11c2Vycy1yYXlzLFxuICBcIndhbGxldFwiOiAkZmEtdmFyLXdhbGxldCxcbiAgXCJjbGlwYm9hcmQtY2hlY2tcIjogJGZhLXZhci1jbGlwYm9hcmQtY2hlY2ssXG4gIFwiZmlsZS1hdWRpb1wiOiAkZmEtdmFyLWZpbGUtYXVkaW8sXG4gIFwiYnVyZ2VyXCI6ICRmYS12YXItYnVyZ2VyLFxuICBcImhhbWJ1cmdlclwiOiAkZmEtdmFyLWhhbWJ1cmdlcixcbiAgXCJ3cmVuY2hcIjogJGZhLXZhci13cmVuY2gsXG4gIFwiYnVnc1wiOiAkZmEtdmFyLWJ1Z3MsXG4gIFwicnVwZWUtc2lnblwiOiAkZmEtdmFyLXJ1cGVlLXNpZ24sXG4gIFwicnVwZWVcIjogJGZhLXZhci1ydXBlZSxcbiAgXCJmaWxlLWltYWdlXCI6ICRmYS12YXItZmlsZS1pbWFnZSxcbiAgXCJjaXJjbGUtcXVlc3Rpb25cIjogJGZhLXZhci1jaXJjbGUtcXVlc3Rpb24sXG4gIFwicXVlc3Rpb24tY2lyY2xlXCI6ICRmYS12YXItcXVlc3Rpb24tY2lyY2xlLFxuICBcInBsYW5lLWRlcGFydHVyZVwiOiAkZmEtdmFyLXBsYW5lLWRlcGFydHVyZSxcbiAgXCJoYW5kc2hha2Utc2xhc2hcIjogJGZhLXZhci1oYW5kc2hha2Utc2xhc2gsXG4gIFwiYm9vay1ib29rbWFya1wiOiAkZmEtdmFyLWJvb2stYm9va21hcmssXG4gIFwiY29kZS1icmFuY2hcIjogJGZhLXZhci1jb2RlLWJyYW5jaCxcbiAgXCJoYXQtY293Ym95XCI6ICRmYS12YXItaGF0LWNvd2JveSxcbiAgXCJicmlkZ2VcIjogJGZhLXZhci1icmlkZ2UsXG4gIFwicGhvbmUtZmxpcFwiOiAkZmEtdmFyLXBob25lLWZsaXAsXG4gIFwicGhvbmUtYWx0XCI6ICRmYS12YXItcGhvbmUtYWx0LFxuICBcInRydWNrLWZyb250XCI6ICRmYS12YXItdHJ1Y2stZnJvbnQsXG4gIFwiY2F0XCI6ICRmYS12YXItY2F0LFxuICBcImFuY2hvci1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1hbmNob3ItY2lyY2xlLWV4Y2xhbWF0aW9uLFxuICBcInRydWNrLWZpZWxkXCI6ICRmYS12YXItdHJ1Y2stZmllbGQsXG4gIFwicm91dGVcIjogJGZhLXZhci1yb3V0ZSxcbiAgXCJjbGlwYm9hcmQtcXVlc3Rpb25cIjogJGZhLXZhci1jbGlwYm9hcmQtcXVlc3Rpb24sXG4gIFwicGFub3JhbWFcIjogJGZhLXZhci1wYW5vcmFtYSxcbiAgXCJjb21tZW50LW1lZGljYWxcIjogJGZhLXZhci1jb21tZW50LW1lZGljYWwsXG4gIFwidGVldGgtb3BlblwiOiAkZmEtdmFyLXRlZXRoLW9wZW4sXG4gIFwiZmlsZS1jaXJjbGUtbWludXNcIjogJGZhLXZhci1maWxlLWNpcmNsZS1taW51cyxcbiAgXCJ0YWdzXCI6ICRmYS12YXItdGFncyxcbiAgXCJ3aW5lLWdsYXNzXCI6ICRmYS12YXItd2luZS1nbGFzcyxcbiAgXCJmb3J3YXJkLWZhc3RcIjogJGZhLXZhci1mb3J3YXJkLWZhc3QsXG4gIFwiZmFzdC1mb3J3YXJkXCI6ICRmYS12YXItZmFzdC1mb3J3YXJkLFxuICBcImZhY2UtbWVoLWJsYW5rXCI6ICRmYS12YXItZmFjZS1tZWgtYmxhbmssXG4gIFwibWVoLWJsYW5rXCI6ICRmYS12YXItbWVoLWJsYW5rLFxuICBcInNxdWFyZS1wYXJraW5nXCI6ICRmYS12YXItc3F1YXJlLXBhcmtpbmcsXG4gIFwicGFya2luZ1wiOiAkZmEtdmFyLXBhcmtpbmcsXG4gIFwiaG91c2Utc2lnbmFsXCI6ICRmYS12YXItaG91c2Utc2lnbmFsLFxuICBcImJhcnMtcHJvZ3Jlc3NcIjogJGZhLXZhci1iYXJzLXByb2dyZXNzLFxuICBcInRhc2tzLWFsdFwiOiAkZmEtdmFyLXRhc2tzLWFsdCxcbiAgXCJmYXVjZXQtZHJpcFwiOiAkZmEtdmFyLWZhdWNldC1kcmlwLFxuICBcImNhcnQtZmxhdGJlZFwiOiAkZmEtdmFyLWNhcnQtZmxhdGJlZCxcbiAgXCJkb2xseS1mbGF0YmVkXCI6ICRmYS12YXItZG9sbHktZmxhdGJlZCxcbiAgXCJiYW4tc21va2luZ1wiOiAkZmEtdmFyLWJhbi1zbW9raW5nLFxuICBcInNtb2tpbmctYmFuXCI6ICRmYS12YXItc21va2luZy1iYW4sXG4gIFwidGVybWluYWxcIjogJGZhLXZhci10ZXJtaW5hbCxcbiAgXCJtb2JpbGUtYnV0dG9uXCI6ICRmYS12YXItbW9iaWxlLWJ1dHRvbixcbiAgXCJob3VzZS1tZWRpY2FsLWZsYWdcIjogJGZhLXZhci1ob3VzZS1tZWRpY2FsLWZsYWcsXG4gIFwiYmFza2V0LXNob3BwaW5nXCI6ICRmYS12YXItYmFza2V0LXNob3BwaW5nLFxuICBcInNob3BwaW5nLWJhc2tldFwiOiAkZmEtdmFyLXNob3BwaW5nLWJhc2tldCxcbiAgXCJ0YXBlXCI6ICRmYS12YXItdGFwZSxcbiAgXCJidXMtc2ltcGxlXCI6ICRmYS12YXItYnVzLXNpbXBsZSxcbiAgXCJidXMtYWx0XCI6ICRmYS12YXItYnVzLWFsdCxcbiAgXCJleWVcIjogJGZhLXZhci1leWUsXG4gIFwiZmFjZS1zYWQtY3J5XCI6ICRmYS12YXItZmFjZS1zYWQtY3J5LFxuICBcInNhZC1jcnlcIjogJGZhLXZhci1zYWQtY3J5LFxuICBcImF1ZGlvLWRlc2NyaXB0aW9uXCI6ICRmYS12YXItYXVkaW8tZGVzY3JpcHRpb24sXG4gIFwicGVyc29uLW1pbGl0YXJ5LXRvLXBlcnNvblwiOiAkZmEtdmFyLXBlcnNvbi1taWxpdGFyeS10by1wZXJzb24sXG4gIFwiZmlsZS1zaGllbGRcIjogJGZhLXZhci1maWxlLXNoaWVsZCxcbiAgXCJ1c2VyLXNsYXNoXCI6ICRmYS12YXItdXNlci1zbGFzaCxcbiAgXCJwZW5cIjogJGZhLXZhci1wZW4sXG4gIFwidG93ZXItb2JzZXJ2YXRpb25cIjogJGZhLXZhci10b3dlci1vYnNlcnZhdGlvbixcbiAgXCJmaWxlLWNvZGVcIjogJGZhLXZhci1maWxlLWNvZGUsXG4gIFwic2lnbmFsXCI6ICRmYS12YXItc2lnbmFsLFxuICBcInNpZ25hbC01XCI6ICRmYS12YXItc2lnbmFsLTUsXG4gIFwic2lnbmFsLXBlcmZlY3RcIjogJGZhLXZhci1zaWduYWwtcGVyZmVjdCxcbiAgXCJidXNcIjogJGZhLXZhci1idXMsXG4gIFwiaGVhcnQtY2lyY2xlLXhtYXJrXCI6ICRmYS12YXItaGVhcnQtY2lyY2xlLXhtYXJrLFxuICBcImhvdXNlLWNoaW1uZXlcIjogJGZhLXZhci1ob3VzZS1jaGltbmV5LFxuICBcImhvbWUtbGdcIjogJGZhLXZhci1ob21lLWxnLFxuICBcIndpbmRvdy1tYXhpbWl6ZVwiOiAkZmEtdmFyLXdpbmRvdy1tYXhpbWl6ZSxcbiAgXCJmYWNlLWZyb3duXCI6ICRmYS12YXItZmFjZS1mcm93bixcbiAgXCJmcm93blwiOiAkZmEtdmFyLWZyb3duLFxuICBcInByZXNjcmlwdGlvblwiOiAkZmEtdmFyLXByZXNjcmlwdGlvbixcbiAgXCJzaG9wXCI6ICRmYS12YXItc2hvcCxcbiAgXCJzdG9yZS1hbHRcIjogJGZhLXZhci1zdG9yZS1hbHQsXG4gIFwiZmxvcHB5LWRpc2tcIjogJGZhLXZhci1mbG9wcHktZGlzayxcbiAgXCJzYXZlXCI6ICRmYS12YXItc2F2ZSxcbiAgXCJ2aWhhcmFcIjogJGZhLXZhci12aWhhcmEsXG4gIFwic2NhbGUtdW5iYWxhbmNlZFwiOiAkZmEtdmFyLXNjYWxlLXVuYmFsYW5jZWQsXG4gIFwiYmFsYW5jZS1zY2FsZS1sZWZ0XCI6ICRmYS12YXItYmFsYW5jZS1zY2FsZS1sZWZ0LFxuICBcInNvcnQtdXBcIjogJGZhLXZhci1zb3J0LXVwLFxuICBcInNvcnQtYXNjXCI6ICRmYS12YXItc29ydC1hc2MsXG4gIFwiY29tbWVudC1kb3RzXCI6ICRmYS12YXItY29tbWVudC1kb3RzLFxuICBcImNvbW1lbnRpbmdcIjogJGZhLXZhci1jb21tZW50aW5nLFxuICBcInBsYW50LXdpbHRcIjogJGZhLXZhci1wbGFudC13aWx0LFxuICBcImRpYW1vbmRcIjogJGZhLXZhci1kaWFtb25kLFxuICBcImZhY2UtZ3Jpbi1zcXVpbnRcIjogJGZhLXZhci1mYWNlLWdyaW4tc3F1aW50LFxuICBcImdyaW4tc3F1aW50XCI6ICRmYS12YXItZ3Jpbi1zcXVpbnQsXG4gIFwiaGFuZC1ob2xkaW5nLWRvbGxhclwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy1kb2xsYXIsXG4gIFwiaGFuZC1ob2xkaW5nLXVzZFwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy11c2QsXG4gIFwiYmFjdGVyaXVtXCI6ICRmYS12YXItYmFjdGVyaXVtLFxuICBcImhhbmQtcG9pbnRlclwiOiAkZmEtdmFyLWhhbmQtcG9pbnRlcixcbiAgXCJkcnVtLXN0ZWVscGFuXCI6ICRmYS12YXItZHJ1bS1zdGVlbHBhbixcbiAgXCJoYW5kLXNjaXNzb3JzXCI6ICRmYS12YXItaGFuZC1zY2lzc29ycyxcbiAgXCJoYW5kcy1wcmF5aW5nXCI6ICRmYS12YXItaGFuZHMtcHJheWluZyxcbiAgXCJwcmF5aW5nLWhhbmRzXCI6ICRmYS12YXItcHJheWluZy1oYW5kcyxcbiAgXCJhcnJvdy1yb3RhdGUtcmlnaHRcIjogJGZhLXZhci1hcnJvdy1yb3RhdGUtcmlnaHQsXG4gIFwiYXJyb3ctcmlnaHQtcm90YXRlXCI6ICRmYS12YXItYXJyb3ctcmlnaHQtcm90YXRlLFxuICBcImFycm93LXJvdGF0ZS1mb3J3YXJkXCI6ICRmYS12YXItYXJyb3ctcm90YXRlLWZvcndhcmQsXG4gIFwicmVkb1wiOiAkZmEtdmFyLXJlZG8sXG4gIFwiYmlvaGF6YXJkXCI6ICRmYS12YXItYmlvaGF6YXJkLFxuICBcImxvY2F0aW9uLWNyb3NzaGFpcnNcIjogJGZhLXZhci1sb2NhdGlvbi1jcm9zc2hhaXJzLFxuICBcImxvY2F0aW9uXCI6ICRmYS12YXItbG9jYXRpb24sXG4gIFwibWFycy1kb3VibGVcIjogJGZhLXZhci1tYXJzLWRvdWJsZSxcbiAgXCJjaGlsZC1kcmVzc1wiOiAkZmEtdmFyLWNoaWxkLWRyZXNzLFxuICBcInVzZXJzLWJldHdlZW4tbGluZXNcIjogJGZhLXZhci11c2Vycy1iZXR3ZWVuLWxpbmVzLFxuICBcImx1bmdzLXZpcnVzXCI6ICRmYS12YXItbHVuZ3MtdmlydXMsXG4gIFwiZmFjZS1ncmluLXRlYXJzXCI6ICRmYS12YXItZmFjZS1ncmluLXRlYXJzLFxuICBcImdyaW4tdGVhcnNcIjogJGZhLXZhci1ncmluLXRlYXJzLFxuICBcInBob25lXCI6ICRmYS12YXItcGhvbmUsXG4gIFwiY2FsZW5kYXIteG1hcmtcIjogJGZhLXZhci1jYWxlbmRhci14bWFyayxcbiAgXCJjYWxlbmRhci10aW1lc1wiOiAkZmEtdmFyLWNhbGVuZGFyLXRpbWVzLFxuICBcImNoaWxkLXJlYWNoaW5nXCI6ICRmYS12YXItY2hpbGQtcmVhY2hpbmcsXG4gIFwiaGVhZC1zaWRlLXZpcnVzXCI6ICRmYS12YXItaGVhZC1zaWRlLXZpcnVzLFxuICBcInVzZXItZ2VhclwiOiAkZmEtdmFyLXVzZXItZ2VhcixcbiAgXCJ1c2VyLWNvZ1wiOiAkZmEtdmFyLXVzZXItY29nLFxuICBcImFycm93LXVwLTEtOVwiOiAkZmEtdmFyLWFycm93LXVwLTEtOSxcbiAgXCJzb3J0LW51bWVyaWMtdXBcIjogJGZhLXZhci1zb3J0LW51bWVyaWMtdXAsXG4gIFwiZG9vci1jbG9zZWRcIjogJGZhLXZhci1kb29yLWNsb3NlZCxcbiAgXCJzaGllbGQtdmlydXNcIjogJGZhLXZhci1zaGllbGQtdmlydXMsXG4gIFwiZGljZS1zaXhcIjogJGZhLXZhci1kaWNlLXNpeCxcbiAgXCJtb3NxdWl0by1uZXRcIjogJGZhLXZhci1tb3NxdWl0by1uZXQsXG4gIFwiYnJpZGdlLXdhdGVyXCI6ICRmYS12YXItYnJpZGdlLXdhdGVyLFxuICBcInBlcnNvbi1ib290aFwiOiAkZmEtdmFyLXBlcnNvbi1ib290aCxcbiAgXCJ0ZXh0LXdpZHRoXCI6ICRmYS12YXItdGV4dC13aWR0aCxcbiAgXCJoYXQtd2l6YXJkXCI6ICRmYS12YXItaGF0LXdpemFyZCxcbiAgXCJwZW4tZmFuY3lcIjogJGZhLXZhci1wZW4tZmFuY3ksXG4gIFwicGVyc29uLWRpZ2dpbmdcIjogJGZhLXZhci1wZXJzb24tZGlnZ2luZyxcbiAgXCJkaWdnaW5nXCI6ICRmYS12YXItZGlnZ2luZyxcbiAgXCJ0cmFzaFwiOiAkZmEtdmFyLXRyYXNoLFxuICBcImdhdWdlLXNpbXBsZVwiOiAkZmEtdmFyLWdhdWdlLXNpbXBsZSxcbiAgXCJnYXVnZS1zaW1wbGUtbWVkXCI6ICRmYS12YXItZ2F1Z2Utc2ltcGxlLW1lZCxcbiAgXCJ0YWNob21ldGVyLWF2ZXJhZ2VcIjogJGZhLXZhci10YWNob21ldGVyLWF2ZXJhZ2UsXG4gIFwiYm9vay1tZWRpY2FsXCI6ICRmYS12YXItYm9vay1tZWRpY2FsLFxuICBcInBvb1wiOiAkZmEtdmFyLXBvbyxcbiAgXCJxdW90ZS1yaWdodFwiOiAkZmEtdmFyLXF1b3RlLXJpZ2h0LFxuICBcInF1b3RlLXJpZ2h0LWFsdFwiOiAkZmEtdmFyLXF1b3RlLXJpZ2h0LWFsdCxcbiAgXCJzaGlydFwiOiAkZmEtdmFyLXNoaXJ0LFxuICBcInQtc2hpcnRcIjogJGZhLXZhci10LXNoaXJ0LFxuICBcInRzaGlydFwiOiAkZmEtdmFyLXRzaGlydCxcbiAgXCJjdWJlc1wiOiAkZmEtdmFyLWN1YmVzLFxuICBcImRpdmlkZVwiOiAkZmEtdmFyLWRpdmlkZSxcbiAgXCJ0ZW5nZS1zaWduXCI6ICRmYS12YXItdGVuZ2Utc2lnbixcbiAgXCJ0ZW5nZVwiOiAkZmEtdmFyLXRlbmdlLFxuICBcImhlYWRwaG9uZXNcIjogJGZhLXZhci1oZWFkcGhvbmVzLFxuICBcImhhbmRzLWhvbGRpbmdcIjogJGZhLXZhci1oYW5kcy1ob2xkaW5nLFxuICBcImhhbmRzLWNsYXBwaW5nXCI6ICRmYS12YXItaGFuZHMtY2xhcHBpbmcsXG4gIFwicmVwdWJsaWNhblwiOiAkZmEtdmFyLXJlcHVibGljYW4sXG4gIFwiYXJyb3ctbGVmdFwiOiAkZmEtdmFyLWFycm93LWxlZnQsXG4gIFwicGVyc29uLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUteG1hcmssXG4gIFwicnVsZXJcIjogJGZhLXZhci1ydWxlcixcbiAgXCJhbGlnbi1sZWZ0XCI6ICRmYS12YXItYWxpZ24tbGVmdCxcbiAgXCJkaWNlLWQ2XCI6ICRmYS12YXItZGljZS1kNixcbiAgXCJyZXN0cm9vbVwiOiAkZmEtdmFyLXJlc3Ryb29tLFxuICBcImpcIjogJGZhLXZhci1qLFxuICBcInVzZXJzLXZpZXdmaW5kZXJcIjogJGZhLXZhci11c2Vycy12aWV3ZmluZGVyLFxuICBcImZpbGUtdmlkZW9cIjogJGZhLXZhci1maWxlLXZpZGVvLFxuICBcInVwLXJpZ2h0LWZyb20tc3F1YXJlXCI6ICRmYS12YXItdXAtcmlnaHQtZnJvbS1zcXVhcmUsXG4gIFwiZXh0ZXJuYWwtbGluay1hbHRcIjogJGZhLXZhci1leHRlcm5hbC1saW5rLWFsdCxcbiAgXCJ0YWJsZS1jZWxsc1wiOiAkZmEtdmFyLXRhYmxlLWNlbGxzLFxuICBcInRoXCI6ICRmYS12YXItdGgsXG4gIFwiZmlsZS1wZGZcIjogJGZhLXZhci1maWxlLXBkZixcbiAgXCJib29rLWJpYmxlXCI6ICRmYS12YXItYm9vay1iaWJsZSxcbiAgXCJiaWJsZVwiOiAkZmEtdmFyLWJpYmxlLFxuICBcIm9cIjogJGZhLXZhci1vLFxuICBcInN1aXRjYXNlLW1lZGljYWxcIjogJGZhLXZhci1zdWl0Y2FzZS1tZWRpY2FsLFxuICBcIm1lZGtpdFwiOiAkZmEtdmFyLW1lZGtpdCxcbiAgXCJ1c2VyLXNlY3JldFwiOiAkZmEtdmFyLXVzZXItc2VjcmV0LFxuICBcIm90dGVyXCI6ICRmYS12YXItb3R0ZXIsXG4gIFwicGVyc29uLWRyZXNzXCI6ICRmYS12YXItcGVyc29uLWRyZXNzLFxuICBcImZlbWFsZVwiOiAkZmEtdmFyLWZlbWFsZSxcbiAgXCJjb21tZW50LWRvbGxhclwiOiAkZmEtdmFyLWNvbW1lbnQtZG9sbGFyLFxuICBcImJ1c2luZXNzLXRpbWVcIjogJGZhLXZhci1idXNpbmVzcy10aW1lLFxuICBcImJyaWVmY2FzZS1jbG9ja1wiOiAkZmEtdmFyLWJyaWVmY2FzZS1jbG9jayxcbiAgXCJ0YWJsZS1jZWxscy1sYXJnZVwiOiAkZmEtdmFyLXRhYmxlLWNlbGxzLWxhcmdlLFxuICBcInRoLWxhcmdlXCI6ICRmYS12YXItdGgtbGFyZ2UsXG4gIFwiYm9vay10YW5ha2hcIjogJGZhLXZhci1ib29rLXRhbmFraCxcbiAgXCJ0YW5ha2hcIjogJGZhLXZhci10YW5ha2gsXG4gIFwicGhvbmUtdm9sdW1lXCI6ICRmYS12YXItcGhvbmUtdm9sdW1lLFxuICBcInZvbHVtZS1jb250cm9sLXBob25lXCI6ICRmYS12YXItdm9sdW1lLWNvbnRyb2wtcGhvbmUsXG4gIFwiaGF0LWNvd2JveS1zaWRlXCI6ICRmYS12YXItaGF0LWNvd2JveS1zaWRlLFxuICBcImNsaXBib2FyZC11c2VyXCI6ICRmYS12YXItY2xpcGJvYXJkLXVzZXIsXG4gIFwiY2hpbGRcIjogJGZhLXZhci1jaGlsZCxcbiAgXCJsaXJhLXNpZ25cIjogJGZhLXZhci1saXJhLXNpZ24sXG4gIFwic2F0ZWxsaXRlXCI6ICRmYS12YXItc2F0ZWxsaXRlLFxuICBcInBsYW5lLWxvY2tcIjogJGZhLXZhci1wbGFuZS1sb2NrLFxuICBcInRhZ1wiOiAkZmEtdmFyLXRhZyxcbiAgXCJjb21tZW50XCI6ICRmYS12YXItY29tbWVudCxcbiAgXCJjYWtlLWNhbmRsZXNcIjogJGZhLXZhci1jYWtlLWNhbmRsZXMsXG4gIFwiYmlydGhkYXktY2FrZVwiOiAkZmEtdmFyLWJpcnRoZGF5LWNha2UsXG4gIFwiY2FrZVwiOiAkZmEtdmFyLWNha2UsXG4gIFwiZW52ZWxvcGVcIjogJGZhLXZhci1lbnZlbG9wZSxcbiAgXCJhbmdsZXMtdXBcIjogJGZhLXZhci1hbmdsZXMtdXAsXG4gIFwiYW5nbGUtZG91YmxlLXVwXCI6ICRmYS12YXItYW5nbGUtZG91YmxlLXVwLFxuICBcInBhcGVyY2xpcFwiOiAkZmEtdmFyLXBhcGVyY2xpcCxcbiAgXCJhcnJvdy1yaWdodC10by1jaXR5XCI6ICRmYS12YXItYXJyb3ctcmlnaHQtdG8tY2l0eSxcbiAgXCJyaWJib25cIjogJGZhLXZhci1yaWJib24sXG4gIFwibHVuZ3NcIjogJGZhLXZhci1sdW5ncyxcbiAgXCJhcnJvdy11cC05LTFcIjogJGZhLXZhci1hcnJvdy11cC05LTEsXG4gIFwic29ydC1udW1lcmljLXVwLWFsdFwiOiAkZmEtdmFyLXNvcnQtbnVtZXJpYy11cC1hbHQsXG4gIFwibGl0ZWNvaW4tc2lnblwiOiAkZmEtdmFyLWxpdGVjb2luLXNpZ24sXG4gIFwiYm9yZGVyLW5vbmVcIjogJGZhLXZhci1ib3JkZXItbm9uZSxcbiAgXCJjaXJjbGUtbm9kZXNcIjogJGZhLXZhci1jaXJjbGUtbm9kZXMsXG4gIFwicGFyYWNodXRlLWJveFwiOiAkZmEtdmFyLXBhcmFjaHV0ZS1ib3gsXG4gIFwiaW5kZW50XCI6ICRmYS12YXItaW5kZW50LFxuICBcInRydWNrLWZpZWxkLXVuXCI6ICRmYS12YXItdHJ1Y2stZmllbGQtdW4sXG4gIFwiaG91cmdsYXNzXCI6ICRmYS12YXItaG91cmdsYXNzLFxuICBcImhvdXJnbGFzcy1lbXB0eVwiOiAkZmEtdmFyLWhvdXJnbGFzcy1lbXB0eSxcbiAgXCJtb3VudGFpblwiOiAkZmEtdmFyLW1vdW50YWluLFxuICBcInVzZXItZG9jdG9yXCI6ICRmYS12YXItdXNlci1kb2N0b3IsXG4gIFwidXNlci1tZFwiOiAkZmEtdmFyLXVzZXItbWQsXG4gIFwiY2lyY2xlLWluZm9cIjogJGZhLXZhci1jaXJjbGUtaW5mbyxcbiAgXCJpbmZvLWNpcmNsZVwiOiAkZmEtdmFyLWluZm8tY2lyY2xlLFxuICBcImNsb3VkLW1lYXRiYWxsXCI6ICRmYS12YXItY2xvdWQtbWVhdGJhbGwsXG4gIFwiY2FtZXJhXCI6ICRmYS12YXItY2FtZXJhLFxuICBcImNhbWVyYS1hbHRcIjogJGZhLXZhci1jYW1lcmEtYWx0LFxuICBcInNxdWFyZS12aXJ1c1wiOiAkZmEtdmFyLXNxdWFyZS12aXJ1cyxcbiAgXCJtZXRlb3JcIjogJGZhLXZhci1tZXRlb3IsXG4gIFwiY2FyLW9uXCI6ICRmYS12YXItY2FyLW9uLFxuICBcInNsZWlnaFwiOiAkZmEtdmFyLXNsZWlnaCxcbiAgXCJhcnJvdy1kb3duLTEtOVwiOiAkZmEtdmFyLWFycm93LWRvd24tMS05LFxuICBcInNvcnQtbnVtZXJpYy1hc2NcIjogJGZhLXZhci1zb3J0LW51bWVyaWMtYXNjLFxuICBcInNvcnQtbnVtZXJpYy1kb3duXCI6ICRmYS12YXItc29ydC1udW1lcmljLWRvd24sXG4gIFwiaGFuZC1ob2xkaW5nLWRyb3BsZXRcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctZHJvcGxldCxcbiAgXCJoYW5kLWhvbGRpbmctd2F0ZXJcIjogJGZhLXZhci1oYW5kLWhvbGRpbmctd2F0ZXIsXG4gIFwid2F0ZXJcIjogJGZhLXZhci13YXRlcixcbiAgXCJjYWxlbmRhci1jaGVja1wiOiAkZmEtdmFyLWNhbGVuZGFyLWNoZWNrLFxuICBcImJyYWlsbGVcIjogJGZhLXZhci1icmFpbGxlLFxuICBcInByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbFwiOiAkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbCxcbiAgXCJwcmVzY3JpcHRpb24tYm90dGxlLWFsdFwiOiAkZmEtdmFyLXByZXNjcmlwdGlvbi1ib3R0bGUtYWx0LFxuICBcImxhbmRtYXJrXCI6ICRmYS12YXItbGFuZG1hcmssXG4gIFwidHJ1Y2tcIjogJGZhLXZhci10cnVjayxcbiAgXCJjcm9zc2hhaXJzXCI6ICRmYS12YXItY3Jvc3NoYWlycyxcbiAgXCJwZXJzb24tY2FuZVwiOiAkZmEtdmFyLXBlcnNvbi1jYW5lLFxuICBcInRlbnRcIjogJGZhLXZhci10ZW50LFxuICBcInZlc3QtcGF0Y2hlc1wiOiAkZmEtdmFyLXZlc3QtcGF0Y2hlcyxcbiAgXCJjaGVjay1kb3VibGVcIjogJGZhLXZhci1jaGVjay1kb3VibGUsXG4gIFwiYXJyb3ctZG93bi1hLXpcIjogJGZhLXZhci1hcnJvdy1kb3duLWEteixcbiAgXCJzb3J0LWFscGhhLWFzY1wiOiAkZmEtdmFyLXNvcnQtYWxwaGEtYXNjLFxuICBcInNvcnQtYWxwaGEtZG93blwiOiAkZmEtdmFyLXNvcnQtYWxwaGEtZG93bixcbiAgXCJtb25leS1iaWxsLXdoZWF0XCI6ICRmYS12YXItbW9uZXktYmlsbC13aGVhdCxcbiAgXCJjb29raWVcIjogJGZhLXZhci1jb29raWUsXG4gIFwiYXJyb3ctcm90YXRlLWxlZnRcIjogJGZhLXZhci1hcnJvdy1yb3RhdGUtbGVmdCxcbiAgXCJhcnJvdy1sZWZ0LXJvdGF0ZVwiOiAkZmEtdmFyLWFycm93LWxlZnQtcm90YXRlLFxuICBcImFycm93LXJvdGF0ZS1iYWNrXCI6ICRmYS12YXItYXJyb3ctcm90YXRlLWJhY2ssXG4gIFwiYXJyb3ctcm90YXRlLWJhY2t3YXJkXCI6ICRmYS12YXItYXJyb3ctcm90YXRlLWJhY2t3YXJkLFxuICBcInVuZG9cIjogJGZhLXZhci11bmRvLFxuICBcImhhcmQtZHJpdmVcIjogJGZhLXZhci1oYXJkLWRyaXZlLFxuICBcImhkZFwiOiAkZmEtdmFyLWhkZCxcbiAgXCJmYWNlLWdyaW4tc3F1aW50LXRlYXJzXCI6ICRmYS12YXItZmFjZS1ncmluLXNxdWludC10ZWFycyxcbiAgXCJncmluLXNxdWludC10ZWFyc1wiOiAkZmEtdmFyLWdyaW4tc3F1aW50LXRlYXJzLFxuICBcImR1bWJiZWxsXCI6ICRmYS12YXItZHVtYmJlbGwsXG4gIFwicmVjdGFuZ2xlLWxpc3RcIjogJGZhLXZhci1yZWN0YW5nbGUtbGlzdCxcbiAgXCJsaXN0LWFsdFwiOiAkZmEtdmFyLWxpc3QtYWx0LFxuICBcInRhcnAtZHJvcGxldFwiOiAkZmEtdmFyLXRhcnAtZHJvcGxldCxcbiAgXCJob3VzZS1tZWRpY2FsLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLWhvdXNlLW1lZGljYWwtY2lyY2xlLWNoZWNrLFxuICBcInBlcnNvbi1za2lpbmctbm9yZGljXCI6ICRmYS12YXItcGVyc29uLXNraWluZy1ub3JkaWMsXG4gIFwic2tpaW5nLW5vcmRpY1wiOiAkZmEtdmFyLXNraWluZy1ub3JkaWMsXG4gIFwiY2FsZW5kYXItcGx1c1wiOiAkZmEtdmFyLWNhbGVuZGFyLXBsdXMsXG4gIFwicGxhbmUtYXJyaXZhbFwiOiAkZmEtdmFyLXBsYW5lLWFycml2YWwsXG4gIFwiY2lyY2xlLWxlZnRcIjogJGZhLXZhci1jaXJjbGUtbGVmdCxcbiAgXCJhcnJvdy1hbHQtY2lyY2xlLWxlZnRcIjogJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWxlZnQsXG4gIFwidHJhaW4tc3Vid2F5XCI6ICRmYS12YXItdHJhaW4tc3Vid2F5LFxuICBcInN1YndheVwiOiAkZmEtdmFyLXN1YndheSxcbiAgXCJjaGFydC1nYW50dFwiOiAkZmEtdmFyLWNoYXJ0LWdhbnR0LFxuICBcImluZGlhbi1ydXBlZS1zaWduXCI6ICRmYS12YXItaW5kaWFuLXJ1cGVlLXNpZ24sXG4gIFwiaW5kaWFuLXJ1cGVlXCI6ICRmYS12YXItaW5kaWFuLXJ1cGVlLFxuICBcImluclwiOiAkZmEtdmFyLWlucixcbiAgXCJjcm9wLXNpbXBsZVwiOiAkZmEtdmFyLWNyb3Atc2ltcGxlLFxuICBcImNyb3AtYWx0XCI6ICRmYS12YXItY3JvcC1hbHQsXG4gIFwibW9uZXktYmlsbC0xXCI6ICRmYS12YXItbW9uZXktYmlsbC0xLFxuICBcIm1vbmV5LWJpbGwtYWx0XCI6ICRmYS12YXItbW9uZXktYmlsbC1hbHQsXG4gIFwibGVmdC1sb25nXCI6ICRmYS12YXItbGVmdC1sb25nLFxuICBcImxvbmctYXJyb3ctYWx0LWxlZnRcIjogJGZhLXZhci1sb25nLWFycm93LWFsdC1sZWZ0LFxuICBcImRuYVwiOiAkZmEtdmFyLWRuYSxcbiAgXCJ2aXJ1cy1zbGFzaFwiOiAkZmEtdmFyLXZpcnVzLXNsYXNoLFxuICBcIm1pbnVzXCI6ICRmYS12YXItbWludXMsXG4gIFwic3VidHJhY3RcIjogJGZhLXZhci1zdWJ0cmFjdCxcbiAgXCJjaGVzc1wiOiAkZmEtdmFyLWNoZXNzLFxuICBcImFycm93LWxlZnQtbG9uZ1wiOiAkZmEtdmFyLWFycm93LWxlZnQtbG9uZyxcbiAgXCJsb25nLWFycm93LWxlZnRcIjogJGZhLXZhci1sb25nLWFycm93LWxlZnQsXG4gIFwicGx1Zy1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1wbHVnLWNpcmNsZS1jaGVjayxcbiAgXCJzdHJlZXQtdmlld1wiOiAkZmEtdmFyLXN0cmVldC12aWV3LFxuICBcImZyYW5jLXNpZ25cIjogJGZhLXZhci1mcmFuYy1zaWduLFxuICBcInZvbHVtZS1vZmZcIjogJGZhLXZhci12b2x1bWUtb2ZmLFxuICBcImhhbmRzLWFzbC1pbnRlcnByZXRpbmdcIjogJGZhLXZhci1oYW5kcy1hc2wtaW50ZXJwcmV0aW5nLFxuICBcImFtZXJpY2FuLXNpZ24tbGFuZ3VhZ2UtaW50ZXJwcmV0aW5nXCI6ICRmYS12YXItYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmcsXG4gIFwiYXNsLWludGVycHJldGluZ1wiOiAkZmEtdmFyLWFzbC1pbnRlcnByZXRpbmcsXG4gIFwiaGFuZHMtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmdcIjogJGZhLXZhci1oYW5kcy1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyxcbiAgXCJnZWFyXCI6ICRmYS12YXItZ2VhcixcbiAgXCJjb2dcIjogJGZhLXZhci1jb2csXG4gIFwiZHJvcGxldC1zbGFzaFwiOiAkZmEtdmFyLWRyb3BsZXQtc2xhc2gsXG4gIFwidGludC1zbGFzaFwiOiAkZmEtdmFyLXRpbnQtc2xhc2gsXG4gIFwibW9zcXVlXCI6ICRmYS12YXItbW9zcXVlLFxuICBcIm1vc3F1aXRvXCI6ICRmYS12YXItbW9zcXVpdG8sXG4gIFwic3Rhci1vZi1kYXZpZFwiOiAkZmEtdmFyLXN0YXItb2YtZGF2aWQsXG4gIFwicGVyc29uLW1pbGl0YXJ5LXJpZmxlXCI6ICRmYS12YXItcGVyc29uLW1pbGl0YXJ5LXJpZmxlLFxuICBcImNhcnQtc2hvcHBpbmdcIjogJGZhLXZhci1jYXJ0LXNob3BwaW5nLFxuICBcInNob3BwaW5nLWNhcnRcIjogJGZhLXZhci1zaG9wcGluZy1jYXJ0LFxuICBcInZpYWxzXCI6ICRmYS12YXItdmlhbHMsXG4gIFwicGx1Zy1jaXJjbGUtcGx1c1wiOiAkZmEtdmFyLXBsdWctY2lyY2xlLXBsdXMsXG4gIFwicGxhY2Utb2Ytd29yc2hpcFwiOiAkZmEtdmFyLXBsYWNlLW9mLXdvcnNoaXAsXG4gIFwiZ3JpcC12ZXJ0aWNhbFwiOiAkZmEtdmFyLWdyaXAtdmVydGljYWwsXG4gIFwiYXJyb3ctdHVybi11cFwiOiAkZmEtdmFyLWFycm93LXR1cm4tdXAsXG4gIFwibGV2ZWwtdXBcIjogJGZhLXZhci1sZXZlbC11cCxcbiAgXCJ1XCI6ICRmYS12YXItdSxcbiAgXCJzcXVhcmUtcm9vdC12YXJpYWJsZVwiOiAkZmEtdmFyLXNxdWFyZS1yb290LXZhcmlhYmxlLFxuICBcInNxdWFyZS1yb290LWFsdFwiOiAkZmEtdmFyLXNxdWFyZS1yb290LWFsdCxcbiAgXCJjbG9ja1wiOiAkZmEtdmFyLWNsb2NrLFxuICBcImNsb2NrLWZvdXJcIjogJGZhLXZhci1jbG9jay1mb3VyLFxuICBcImJhY2t3YXJkLXN0ZXBcIjogJGZhLXZhci1iYWNrd2FyZC1zdGVwLFxuICBcInN0ZXAtYmFja3dhcmRcIjogJGZhLXZhci1zdGVwLWJhY2t3YXJkLFxuICBcInBhbGxldFwiOiAkZmEtdmFyLXBhbGxldCxcbiAgXCJmYXVjZXRcIjogJGZhLXZhci1mYXVjZXQsXG4gIFwiYmFzZWJhbGwtYmF0LWJhbGxcIjogJGZhLXZhci1iYXNlYmFsbC1iYXQtYmFsbCxcbiAgXCJzXCI6ICRmYS12YXItcyxcbiAgXCJ0aW1lbGluZVwiOiAkZmEtdmFyLXRpbWVsaW5lLFxuICBcImtleWJvYXJkXCI6ICRmYS12YXIta2V5Ym9hcmQsXG4gIFwiY2FyZXQtZG93blwiOiAkZmEtdmFyLWNhcmV0LWRvd24sXG4gIFwiaG91c2UtY2hpbW5leS1tZWRpY2FsXCI6ICRmYS12YXItaG91c2UtY2hpbW5leS1tZWRpY2FsLFxuICBcImNsaW5pYy1tZWRpY2FsXCI6ICRmYS12YXItY2xpbmljLW1lZGljYWwsXG4gIFwidGVtcGVyYXR1cmUtdGhyZWUtcXVhcnRlcnNcIjogJGZhLXZhci10ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVycyxcbiAgXCJ0ZW1wZXJhdHVyZS0zXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtMyxcbiAgXCJ0aGVybW9tZXRlci0zXCI6ICRmYS12YXItdGhlcm1vbWV0ZXItMyxcbiAgXCJ0aGVybW9tZXRlci10aHJlZS1xdWFydGVyc1wiOiAkZmEtdmFyLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzLFxuICBcIm1vYmlsZS1zY3JlZW5cIjogJGZhLXZhci1tb2JpbGUtc2NyZWVuLFxuICBcIm1vYmlsZS1hbmRyb2lkLWFsdFwiOiAkZmEtdmFyLW1vYmlsZS1hbmRyb2lkLWFsdCxcbiAgXCJwbGFuZS11cFwiOiAkZmEtdmFyLXBsYW5lLXVwLFxuICBcInBpZ2d5LWJhbmtcIjogJGZhLXZhci1waWdneS1iYW5rLFxuICBcImJhdHRlcnktaGFsZlwiOiAkZmEtdmFyLWJhdHRlcnktaGFsZixcbiAgXCJiYXR0ZXJ5LTNcIjogJGZhLXZhci1iYXR0ZXJ5LTMsXG4gIFwibW91bnRhaW4tY2l0eVwiOiAkZmEtdmFyLW1vdW50YWluLWNpdHksXG4gIFwiY29pbnNcIjogJGZhLXZhci1jb2lucyxcbiAgXCJraGFuZGFcIjogJGZhLXZhci1raGFuZGEsXG4gIFwic2xpZGVyc1wiOiAkZmEtdmFyLXNsaWRlcnMsXG4gIFwic2xpZGVycy1oXCI6ICRmYS12YXItc2xpZGVycy1oLFxuICBcImZvbGRlci10cmVlXCI6ICRmYS12YXItZm9sZGVyLXRyZWUsXG4gIFwibmV0d29yay13aXJlZFwiOiAkZmEtdmFyLW5ldHdvcmstd2lyZWQsXG4gIFwibWFwLXBpblwiOiAkZmEtdmFyLW1hcC1waW4sXG4gIFwiaGFtc2FcIjogJGZhLXZhci1oYW1zYSxcbiAgXCJjZW50LXNpZ25cIjogJGZhLXZhci1jZW50LXNpZ24sXG4gIFwiZmxhc2tcIjogJGZhLXZhci1mbGFzayxcbiAgXCJwZXJzb24tcHJlZ25hbnRcIjogJGZhLXZhci1wZXJzb24tcHJlZ25hbnQsXG4gIFwid2FuZC1zcGFya2xlc1wiOiAkZmEtdmFyLXdhbmQtc3BhcmtsZXMsXG4gIFwiZWxsaXBzaXMtdmVydGljYWxcIjogJGZhLXZhci1lbGxpcHNpcy12ZXJ0aWNhbCxcbiAgXCJlbGxpcHNpcy12XCI6ICRmYS12YXItZWxsaXBzaXMtdixcbiAgXCJ0aWNrZXRcIjogJGZhLXZhci10aWNrZXQsXG4gIFwicG93ZXItb2ZmXCI6ICRmYS12YXItcG93ZXItb2ZmLFxuICBcInJpZ2h0LWxvbmdcIjogJGZhLXZhci1yaWdodC1sb25nLFxuICBcImxvbmctYXJyb3ctYWx0LXJpZ2h0XCI6ICRmYS12YXItbG9uZy1hcnJvdy1hbHQtcmlnaHQsXG4gIFwiZmxhZy11c2FcIjogJGZhLXZhci1mbGFnLXVzYSxcbiAgXCJsYXB0b3AtZmlsZVwiOiAkZmEtdmFyLWxhcHRvcC1maWxlLFxuICBcInR0eVwiOiAkZmEtdmFyLXR0eSxcbiAgXCJ0ZWxldHlwZVwiOiAkZmEtdmFyLXRlbGV0eXBlLFxuICBcImRpYWdyYW0tbmV4dFwiOiAkZmEtdmFyLWRpYWdyYW0tbmV4dCxcbiAgXCJwZXJzb24tcmlmbGVcIjogJGZhLXZhci1wZXJzb24tcmlmbGUsXG4gIFwiaG91c2UtbWVkaWNhbC1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1ob3VzZS1tZWRpY2FsLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJjbG9zZWQtY2FwdGlvbmluZ1wiOiAkZmEtdmFyLWNsb3NlZC1jYXB0aW9uaW5nLFxuICBcInBlcnNvbi1oaWtpbmdcIjogJGZhLXZhci1wZXJzb24taGlraW5nLFxuICBcImhpa2luZ1wiOiAkZmEtdmFyLWhpa2luZyxcbiAgXCJ2ZW51cy1kb3VibGVcIjogJGZhLXZhci12ZW51cy1kb3VibGUsXG4gIFwiaW1hZ2VzXCI6ICRmYS12YXItaW1hZ2VzLFxuICBcImNhbGN1bGF0b3JcIjogJGZhLXZhci1jYWxjdWxhdG9yLFxuICBcInBlb3BsZS1wdWxsaW5nXCI6ICRmYS12YXItcGVvcGxlLXB1bGxpbmcsXG4gIFwiblwiOiAkZmEtdmFyLW4sXG4gIFwiY2FibGUtY2FyXCI6ICRmYS12YXItY2FibGUtY2FyLFxuICBcInRyYW1cIjogJGZhLXZhci10cmFtLFxuICBcImNsb3VkLXJhaW5cIjogJGZhLXZhci1jbG91ZC1yYWluLFxuICBcImJ1aWxkaW5nLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWJ1aWxkaW5nLWNpcmNsZS14bWFyayxcbiAgXCJzaGlwXCI6ICRmYS12YXItc2hpcCxcbiAgXCJhcnJvd3MtZG93bi10by1saW5lXCI6ICRmYS12YXItYXJyb3dzLWRvd24tdG8tbGluZSxcbiAgXCJkb3dubG9hZFwiOiAkZmEtdmFyLWRvd25sb2FkLFxuICBcImZhY2UtZ3JpblwiOiAkZmEtdmFyLWZhY2UtZ3JpbixcbiAgXCJncmluXCI6ICRmYS12YXItZ3JpbixcbiAgXCJkZWxldGUtbGVmdFwiOiAkZmEtdmFyLWRlbGV0ZS1sZWZ0LFxuICBcImJhY2tzcGFjZVwiOiAkZmEtdmFyLWJhY2tzcGFjZSxcbiAgXCJleWUtZHJvcHBlclwiOiAkZmEtdmFyLWV5ZS1kcm9wcGVyLFxuICBcImV5ZS1kcm9wcGVyLWVtcHR5XCI6ICRmYS12YXItZXllLWRyb3BwZXItZW1wdHksXG4gIFwiZXllZHJvcHBlclwiOiAkZmEtdmFyLWV5ZWRyb3BwZXIsXG4gIFwiZmlsZS1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1maWxlLWNpcmNsZS1jaGVjayxcbiAgXCJmb3J3YXJkXCI6ICRmYS12YXItZm9yd2FyZCxcbiAgXCJtb2JpbGVcIjogJGZhLXZhci1tb2JpbGUsXG4gIFwibW9iaWxlLWFuZHJvaWRcIjogJGZhLXZhci1tb2JpbGUtYW5kcm9pZCxcbiAgXCJtb2JpbGUtcGhvbmVcIjogJGZhLXZhci1tb2JpbGUtcGhvbmUsXG4gIFwiZmFjZS1tZWhcIjogJGZhLXZhci1mYWNlLW1laCxcbiAgXCJtZWhcIjogJGZhLXZhci1tZWgsXG4gIFwiYWxpZ24tY2VudGVyXCI6ICRmYS12YXItYWxpZ24tY2VudGVyLFxuICBcImJvb2stc2t1bGxcIjogJGZhLXZhci1ib29rLXNrdWxsLFxuICBcImJvb2stZGVhZFwiOiAkZmEtdmFyLWJvb2stZGVhZCxcbiAgXCJpZC1jYXJkXCI6ICRmYS12YXItaWQtY2FyZCxcbiAgXCJkcml2ZXJzLWxpY2Vuc2VcIjogJGZhLXZhci1kcml2ZXJzLWxpY2Vuc2UsXG4gIFwib3V0ZGVudFwiOiAkZmEtdmFyLW91dGRlbnQsXG4gIFwiZGVkZW50XCI6ICRmYS12YXItZGVkZW50LFxuICBcImhlYXJ0LWNpcmNsZS1leGNsYW1hdGlvblwiOiAkZmEtdmFyLWhlYXJ0LWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJob3VzZVwiOiAkZmEtdmFyLWhvdXNlLFxuICBcImhvbWVcIjogJGZhLXZhci1ob21lLFxuICBcImhvbWUtYWx0XCI6ICRmYS12YXItaG9tZS1hbHQsXG4gIFwiaG9tZS1sZy1hbHRcIjogJGZhLXZhci1ob21lLWxnLWFsdCxcbiAgXCJjYWxlbmRhci13ZWVrXCI6ICRmYS12YXItY2FsZW5kYXItd2VlayxcbiAgXCJsYXB0b3AtbWVkaWNhbFwiOiAkZmEtdmFyLWxhcHRvcC1tZWRpY2FsLFxuICBcImJcIjogJGZhLXZhci1iLFxuICBcImZpbGUtbWVkaWNhbFwiOiAkZmEtdmFyLWZpbGUtbWVkaWNhbCxcbiAgXCJkaWNlLW9uZVwiOiAkZmEtdmFyLWRpY2Utb25lLFxuICBcImtpd2ktYmlyZFwiOiAkZmEtdmFyLWtpd2ktYmlyZCxcbiAgXCJhcnJvdy1yaWdodC1hcnJvdy1sZWZ0XCI6ICRmYS12YXItYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCxcbiAgXCJleGNoYW5nZVwiOiAkZmEtdmFyLWV4Y2hhbmdlLFxuICBcInJvdGF0ZS1yaWdodFwiOiAkZmEtdmFyLXJvdGF0ZS1yaWdodCxcbiAgXCJyZWRvLWFsdFwiOiAkZmEtdmFyLXJlZG8tYWx0LFxuICBcInJvdGF0ZS1mb3J3YXJkXCI6ICRmYS12YXItcm90YXRlLWZvcndhcmQsXG4gIFwidXRlbnNpbHNcIjogJGZhLXZhci11dGVuc2lscyxcbiAgXCJjdXRsZXJ5XCI6ICRmYS12YXItY3V0bGVyeSxcbiAgXCJhcnJvdy11cC13aWRlLXNob3J0XCI6ICRmYS12YXItYXJyb3ctdXAtd2lkZS1zaG9ydCxcbiAgXCJzb3J0LWFtb3VudC11cFwiOiAkZmEtdmFyLXNvcnQtYW1vdW50LXVwLFxuICBcIm1pbGwtc2lnblwiOiAkZmEtdmFyLW1pbGwtc2lnbixcbiAgXCJib3dsLXJpY2VcIjogJGZhLXZhci1ib3dsLXJpY2UsXG4gIFwic2t1bGxcIjogJGZhLXZhci1za3VsbCxcbiAgXCJ0b3dlci1icm9hZGNhc3RcIjogJGZhLXZhci10b3dlci1icm9hZGNhc3QsXG4gIFwiYnJvYWRjYXN0LXRvd2VyXCI6ICRmYS12YXItYnJvYWRjYXN0LXRvd2VyLFxuICBcInRydWNrLXBpY2t1cFwiOiAkZmEtdmFyLXRydWNrLXBpY2t1cCxcbiAgXCJ1cC1sb25nXCI6ICRmYS12YXItdXAtbG9uZyxcbiAgXCJsb25nLWFycm93LWFsdC11cFwiOiAkZmEtdmFyLWxvbmctYXJyb3ctYWx0LXVwLFxuICBcInN0b3BcIjogJGZhLXZhci1zdG9wLFxuICBcImNvZGUtbWVyZ2VcIjogJGZhLXZhci1jb2RlLW1lcmdlLFxuICBcInVwbG9hZFwiOiAkZmEtdmFyLXVwbG9hZCxcbiAgXCJodXJyaWNhbmVcIjogJGZhLXZhci1odXJyaWNhbmUsXG4gIFwibW91bmRcIjogJGZhLXZhci1tb3VuZCxcbiAgXCJ0b2lsZXQtcG9ydGFibGVcIjogJGZhLXZhci10b2lsZXQtcG9ydGFibGUsXG4gIFwiY29tcGFjdC1kaXNjXCI6ICRmYS12YXItY29tcGFjdC1kaXNjLFxuICBcImZpbGUtYXJyb3ctZG93blwiOiAkZmEtdmFyLWZpbGUtYXJyb3ctZG93bixcbiAgXCJmaWxlLWRvd25sb2FkXCI6ICRmYS12YXItZmlsZS1kb3dubG9hZCxcbiAgXCJjYXJhdmFuXCI6ICRmYS12YXItY2FyYXZhbixcbiAgXCJzaGllbGQtY2F0XCI6ICRmYS12YXItc2hpZWxkLWNhdCxcbiAgXCJib2x0XCI6ICRmYS12YXItYm9sdCxcbiAgXCJ6YXBcIjogJGZhLXZhci16YXAsXG4gIFwiZ2xhc3Mtd2F0ZXJcIjogJGZhLXZhci1nbGFzcy13YXRlcixcbiAgXCJvaWwtd2VsbFwiOiAkZmEtdmFyLW9pbC13ZWxsLFxuICBcInZhdWx0XCI6ICRmYS12YXItdmF1bHQsXG4gIFwibWFyc1wiOiAkZmEtdmFyLW1hcnMsXG4gIFwidG9pbGV0XCI6ICRmYS12YXItdG9pbGV0LFxuICBcInBsYW5lLWNpcmNsZS14bWFya1wiOiAkZmEtdmFyLXBsYW5lLWNpcmNsZS14bWFyayxcbiAgXCJ5ZW4tc2lnblwiOiAkZmEtdmFyLXllbi1zaWduLFxuICBcImNueVwiOiAkZmEtdmFyLWNueSxcbiAgXCJqcHlcIjogJGZhLXZhci1qcHksXG4gIFwicm1iXCI6ICRmYS12YXItcm1iLFxuICBcInllblwiOiAkZmEtdmFyLXllbixcbiAgXCJydWJsZS1zaWduXCI6ICRmYS12YXItcnVibGUtc2lnbixcbiAgXCJyb3VibGVcIjogJGZhLXZhci1yb3VibGUsXG4gIFwicnViXCI6ICRmYS12YXItcnViLFxuICBcInJ1YmxlXCI6ICRmYS12YXItcnVibGUsXG4gIFwic3VuXCI6ICRmYS12YXItc3VuLFxuICBcImd1aXRhclwiOiAkZmEtdmFyLWd1aXRhcixcbiAgXCJmYWNlLWxhdWdoLXdpbmtcIjogJGZhLXZhci1mYWNlLWxhdWdoLXdpbmssXG4gIFwibGF1Z2gtd2lua1wiOiAkZmEtdmFyLWxhdWdoLXdpbmssXG4gIFwiaG9yc2UtaGVhZFwiOiAkZmEtdmFyLWhvcnNlLWhlYWQsXG4gIFwiYm9yZS1ob2xlXCI6ICRmYS12YXItYm9yZS1ob2xlLFxuICBcImluZHVzdHJ5XCI6ICRmYS12YXItaW5kdXN0cnksXG4gIFwiY2lyY2xlLWRvd25cIjogJGZhLXZhci1jaXJjbGUtZG93bixcbiAgXCJhcnJvdy1hbHQtY2lyY2xlLWRvd25cIjogJGZhLXZhci1hcnJvdy1hbHQtY2lyY2xlLWRvd24sXG4gIFwiYXJyb3dzLXR1cm4tdG8tZG90c1wiOiAkZmEtdmFyLWFycm93cy10dXJuLXRvLWRvdHMsXG4gIFwiZmxvcmluLXNpZ25cIjogJGZhLXZhci1mbG9yaW4tc2lnbixcbiAgXCJhcnJvdy1kb3duLXNob3J0LXdpZGVcIjogJGZhLXZhci1hcnJvdy1kb3duLXNob3J0LXdpZGUsXG4gIFwic29ydC1hbW91bnQtZGVzY1wiOiAkZmEtdmFyLXNvcnQtYW1vdW50LWRlc2MsXG4gIFwic29ydC1hbW91bnQtZG93bi1hbHRcIjogJGZhLXZhci1zb3J0LWFtb3VudC1kb3duLWFsdCxcbiAgXCJsZXNzLXRoYW5cIjogJGZhLXZhci1sZXNzLXRoYW4sXG4gIFwiYW5nbGUtZG93blwiOiAkZmEtdmFyLWFuZ2xlLWRvd24sXG4gIFwiY2FyLXR1bm5lbFwiOiAkZmEtdmFyLWNhci10dW5uZWwsXG4gIFwiaGVhZC1zaWRlLWNvdWdoXCI6ICRmYS12YXItaGVhZC1zaWRlLWNvdWdoLFxuICBcImdyaXAtbGluZXNcIjogJGZhLXZhci1ncmlwLWxpbmVzLFxuICBcInRodW1icy1kb3duXCI6ICRmYS12YXItdGh1bWJzLWRvd24sXG4gIFwidXNlci1sb2NrXCI6ICRmYS12YXItdXNlci1sb2NrLFxuICBcImFycm93LXJpZ2h0LWxvbmdcIjogJGZhLXZhci1hcnJvdy1yaWdodC1sb25nLFxuICBcImxvbmctYXJyb3ctcmlnaHRcIjogJGZhLXZhci1sb25nLWFycm93LXJpZ2h0LFxuICBcImFuY2hvci1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1hbmNob3ItY2lyY2xlLXhtYXJrLFxuICBcImVsbGlwc2lzXCI6ICRmYS12YXItZWxsaXBzaXMsXG4gIFwiZWxsaXBzaXMtaFwiOiAkZmEtdmFyLWVsbGlwc2lzLWgsXG4gIFwiY2hlc3MtcGF3blwiOiAkZmEtdmFyLWNoZXNzLXBhd24sXG4gIFwia2l0LW1lZGljYWxcIjogJGZhLXZhci1raXQtbWVkaWNhbCxcbiAgXCJmaXJzdC1haWRcIjogJGZhLXZhci1maXJzdC1haWQsXG4gIFwicGVyc29uLXRocm91Z2gtd2luZG93XCI6ICRmYS12YXItcGVyc29uLXRocm91Z2gtd2luZG93LFxuICBcInRvb2xib3hcIjogJGZhLXZhci10b29sYm94LFxuICBcImhhbmRzLWhvbGRpbmctY2lyY2xlXCI6ICRmYS12YXItaGFuZHMtaG9sZGluZy1jaXJjbGUsXG4gIFwiYnVnXCI6ICRmYS12YXItYnVnLFxuICBcImNyZWRpdC1jYXJkXCI6ICRmYS12YXItY3JlZGl0LWNhcmQsXG4gIFwiY3JlZGl0LWNhcmQtYWx0XCI6ICRmYS12YXItY3JlZGl0LWNhcmQtYWx0LFxuICBcImNhclwiOiAkZmEtdmFyLWNhcixcbiAgXCJhdXRvbW9iaWxlXCI6ICRmYS12YXItYXV0b21vYmlsZSxcbiAgXCJoYW5kLWhvbGRpbmctaGFuZFwiOiAkZmEtdmFyLWhhbmQtaG9sZGluZy1oYW5kLFxuICBcImJvb2stb3Blbi1yZWFkZXJcIjogJGZhLXZhci1ib29rLW9wZW4tcmVhZGVyLFxuICBcImJvb2stcmVhZGVyXCI6ICRmYS12YXItYm9vay1yZWFkZXIsXG4gIFwibW91bnRhaW4tc3VuXCI6ICRmYS12YXItbW91bnRhaW4tc3VuLFxuICBcImFycm93cy1sZWZ0LXJpZ2h0LXRvLWxpbmVcIjogJGZhLXZhci1hcnJvd3MtbGVmdC1yaWdodC10by1saW5lLFxuICBcImRpY2UtZDIwXCI6ICRmYS12YXItZGljZS1kMjAsXG4gIFwidHJ1Y2stZHJvcGxldFwiOiAkZmEtdmFyLXRydWNrLWRyb3BsZXQsXG4gIFwiZmlsZS1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1maWxlLWNpcmNsZS14bWFyayxcbiAgXCJ0ZW1wZXJhdHVyZS1hcnJvdy11cFwiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWFycm93LXVwLFxuICBcInRlbXBlcmF0dXJlLXVwXCI6ICRmYS12YXItdGVtcGVyYXR1cmUtdXAsXG4gIFwibWVkYWxcIjogJGZhLXZhci1tZWRhbCxcbiAgXCJiZWRcIjogJGZhLXZhci1iZWQsXG4gIFwic3F1YXJlLWhcIjogJGZhLXZhci1zcXVhcmUtaCxcbiAgXCJoLXNxdWFyZVwiOiAkZmEtdmFyLWgtc3F1YXJlLFxuICBcInBvZGNhc3RcIjogJGZhLXZhci1wb2RjYXN0LFxuICBcInRlbXBlcmF0dXJlLWZ1bGxcIjogJGZhLXZhci10ZW1wZXJhdHVyZS1mdWxsLFxuICBcInRlbXBlcmF0dXJlLTRcIjogJGZhLXZhci10ZW1wZXJhdHVyZS00LFxuICBcInRoZXJtb21ldGVyLTRcIjogJGZhLXZhci10aGVybW9tZXRlci00LFxuICBcInRoZXJtb21ldGVyLWZ1bGxcIjogJGZhLXZhci10aGVybW9tZXRlci1mdWxsLFxuICBcImJlbGxcIjogJGZhLXZhci1iZWxsLFxuICBcInN1cGVyc2NyaXB0XCI6ICRmYS12YXItc3VwZXJzY3JpcHQsXG4gIFwicGx1Zy1jaXJjbGUteG1hcmtcIjogJGZhLXZhci1wbHVnLWNpcmNsZS14bWFyayxcbiAgXCJzdGFyLW9mLWxpZmVcIjogJGZhLXZhci1zdGFyLW9mLWxpZmUsXG4gIFwicGhvbmUtc2xhc2hcIjogJGZhLXZhci1waG9uZS1zbGFzaCxcbiAgXCJwYWludC1yb2xsZXJcIjogJGZhLXZhci1wYWludC1yb2xsZXIsXG4gIFwiaGFuZHNoYWtlLWFuZ2xlXCI6ICRmYS12YXItaGFuZHNoYWtlLWFuZ2xlLFxuICBcImhhbmRzLWhlbHBpbmdcIjogJGZhLXZhci1oYW5kcy1oZWxwaW5nLFxuICBcImxvY2F0aW9uLWRvdFwiOiAkZmEtdmFyLWxvY2F0aW9uLWRvdCxcbiAgXCJtYXAtbWFya2VyLWFsdFwiOiAkZmEtdmFyLW1hcC1tYXJrZXItYWx0LFxuICBcImZpbGVcIjogJGZhLXZhci1maWxlLFxuICBcImdyZWF0ZXItdGhhblwiOiAkZmEtdmFyLWdyZWF0ZXItdGhhbixcbiAgXCJwZXJzb24tc3dpbW1pbmdcIjogJGZhLXZhci1wZXJzb24tc3dpbW1pbmcsXG4gIFwic3dpbW1lclwiOiAkZmEtdmFyLXN3aW1tZXIsXG4gIFwiYXJyb3ctZG93blwiOiAkZmEtdmFyLWFycm93LWRvd24sXG4gIFwiZHJvcGxldFwiOiAkZmEtdmFyLWRyb3BsZXQsXG4gIFwidGludFwiOiAkZmEtdmFyLXRpbnQsXG4gIFwiZXJhc2VyXCI6ICRmYS12YXItZXJhc2VyLFxuICBcImVhcnRoLWFtZXJpY2FzXCI6ICRmYS12YXItZWFydGgtYW1lcmljYXMsXG4gIFwiZWFydGhcIjogJGZhLXZhci1lYXJ0aCxcbiAgXCJlYXJ0aC1hbWVyaWNhXCI6ICRmYS12YXItZWFydGgtYW1lcmljYSxcbiAgXCJnbG9iZS1hbWVyaWNhc1wiOiAkZmEtdmFyLWdsb2JlLWFtZXJpY2FzLFxuICBcInBlcnNvbi1idXJzdFwiOiAkZmEtdmFyLXBlcnNvbi1idXJzdCxcbiAgXCJkb3ZlXCI6ICRmYS12YXItZG92ZSxcbiAgXCJiYXR0ZXJ5LWVtcHR5XCI6ICRmYS12YXItYmF0dGVyeS1lbXB0eSxcbiAgXCJiYXR0ZXJ5LTBcIjogJGZhLXZhci1iYXR0ZXJ5LTAsXG4gIFwic29ja3NcIjogJGZhLXZhci1zb2NrcyxcbiAgXCJpbmJveFwiOiAkZmEtdmFyLWluYm94LFxuICBcInNlY3Rpb25cIjogJGZhLXZhci1zZWN0aW9uLFxuICBcImdhdWdlLWhpZ2hcIjogJGZhLXZhci1nYXVnZS1oaWdoLFxuICBcInRhY2hvbWV0ZXItYWx0XCI6ICRmYS12YXItdGFjaG9tZXRlci1hbHQsXG4gIFwidGFjaG9tZXRlci1hbHQtZmFzdFwiOiAkZmEtdmFyLXRhY2hvbWV0ZXItYWx0LWZhc3QsXG4gIFwiZW52ZWxvcGUtb3Blbi10ZXh0XCI6ICRmYS12YXItZW52ZWxvcGUtb3Blbi10ZXh0LFxuICBcImhvc3BpdGFsXCI6ICRmYS12YXItaG9zcGl0YWwsXG4gIFwiaG9zcGl0YWwtYWx0XCI6ICRmYS12YXItaG9zcGl0YWwtYWx0LFxuICBcImhvc3BpdGFsLXdpZGVcIjogJGZhLXZhci1ob3NwaXRhbC13aWRlLFxuICBcIndpbmUtYm90dGxlXCI6ICRmYS12YXItd2luZS1ib3R0bGUsXG4gIFwiY2hlc3Mtcm9va1wiOiAkZmEtdmFyLWNoZXNzLXJvb2ssXG4gIFwiYmFycy1zdGFnZ2VyZWRcIjogJGZhLXZhci1iYXJzLXN0YWdnZXJlZCxcbiAgXCJyZW9yZGVyXCI6ICRmYS12YXItcmVvcmRlcixcbiAgXCJzdHJlYW1cIjogJGZhLXZhci1zdHJlYW0sXG4gIFwiZGhhcm1hY2hha3JhXCI6ICRmYS12YXItZGhhcm1hY2hha3JhLFxuICBcImhvdGRvZ1wiOiAkZmEtdmFyLWhvdGRvZyxcbiAgXCJwZXJzb24td2Fsa2luZy13aXRoLWNhbmVcIjogJGZhLXZhci1wZXJzb24td2Fsa2luZy13aXRoLWNhbmUsXG4gIFwiYmxpbmRcIjogJGZhLXZhci1ibGluZCxcbiAgXCJkcnVtXCI6ICRmYS12YXItZHJ1bSxcbiAgXCJpY2UtY3JlYW1cIjogJGZhLXZhci1pY2UtY3JlYW0sXG4gIFwiaGVhcnQtY2lyY2xlLWJvbHRcIjogJGZhLXZhci1oZWFydC1jaXJjbGUtYm9sdCxcbiAgXCJmYXhcIjogJGZhLXZhci1mYXgsXG4gIFwicGFyYWdyYXBoXCI6ICRmYS12YXItcGFyYWdyYXBoLFxuICBcImNoZWNrLXRvLXNsb3RcIjogJGZhLXZhci1jaGVjay10by1zbG90LFxuICBcInZvdGUteWVhXCI6ICRmYS12YXItdm90ZS15ZWEsXG4gIFwic3Rhci1oYWxmXCI6ICRmYS12YXItc3Rhci1oYWxmLFxuICBcImJveGVzLXN0YWNrZWRcIjogJGZhLXZhci1ib3hlcy1zdGFja2VkLFxuICBcImJveGVzXCI6ICRmYS12YXItYm94ZXMsXG4gIFwiYm94ZXMtYWx0XCI6ICRmYS12YXItYm94ZXMtYWx0LFxuICBcImxpbmtcIjogJGZhLXZhci1saW5rLFxuICBcImNoYWluXCI6ICRmYS12YXItY2hhaW4sXG4gIFwiZWFyLWxpc3RlblwiOiAkZmEtdmFyLWVhci1saXN0ZW4sXG4gIFwiYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zXCI6ICRmYS12YXItYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zLFxuICBcInRyZWUtY2l0eVwiOiAkZmEtdmFyLXRyZWUtY2l0eSxcbiAgXCJwbGF5XCI6ICRmYS12YXItcGxheSxcbiAgXCJmb250XCI6ICRmYS12YXItZm9udCxcbiAgXCJydXBpYWgtc2lnblwiOiAkZmEtdmFyLXJ1cGlhaC1zaWduLFxuICBcIm1hZ25pZnlpbmctZ2xhc3NcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLFxuICBcInNlYXJjaFwiOiAkZmEtdmFyLXNlYXJjaCxcbiAgXCJ0YWJsZS10ZW5uaXMtcGFkZGxlLWJhbGxcIjogJGZhLXZhci10YWJsZS10ZW5uaXMtcGFkZGxlLWJhbGwsXG4gIFwicGluZy1wb25nLXBhZGRsZS1iYWxsXCI6ICRmYS12YXItcGluZy1wb25nLXBhZGRsZS1iYWxsLFxuICBcInRhYmxlLXRlbm5pc1wiOiAkZmEtdmFyLXRhYmxlLXRlbm5pcyxcbiAgXCJwZXJzb24tZG90cy1mcm9tLWxpbmVcIjogJGZhLXZhci1wZXJzb24tZG90cy1mcm9tLWxpbmUsXG4gIFwiZGlhZ25vc2VzXCI6ICRmYS12YXItZGlhZ25vc2VzLFxuICBcInRyYXNoLWNhbi1hcnJvdy11cFwiOiAkZmEtdmFyLXRyYXNoLWNhbi1hcnJvdy11cCxcbiAgXCJ0cmFzaC1yZXN0b3JlLWFsdFwiOiAkZmEtdmFyLXRyYXNoLXJlc3RvcmUtYWx0LFxuICBcIm5haXJhLXNpZ25cIjogJGZhLXZhci1uYWlyYS1zaWduLFxuICBcImNhcnQtYXJyb3ctZG93blwiOiAkZmEtdmFyLWNhcnQtYXJyb3ctZG93bixcbiAgXCJ3YWxraWUtdGFsa2llXCI6ICRmYS12YXItd2Fsa2llLXRhbGtpZSxcbiAgXCJmaWxlLXBlblwiOiAkZmEtdmFyLWZpbGUtcGVuLFxuICBcImZpbGUtZWRpdFwiOiAkZmEtdmFyLWZpbGUtZWRpdCxcbiAgXCJyZWNlaXB0XCI6ICRmYS12YXItcmVjZWlwdCxcbiAgXCJzcXVhcmUtcGVuXCI6ICRmYS12YXItc3F1YXJlLXBlbixcbiAgXCJwZW4tc3F1YXJlXCI6ICRmYS12YXItcGVuLXNxdWFyZSxcbiAgXCJwZW5jaWwtc3F1YXJlXCI6ICRmYS12YXItcGVuY2lsLXNxdWFyZSxcbiAgXCJzdWl0Y2FzZS1yb2xsaW5nXCI6ICRmYS12YXItc3VpdGNhc2Utcm9sbGluZyxcbiAgXCJwZXJzb24tY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItcGVyc29uLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJjaGV2cm9uLWRvd25cIjogJGZhLXZhci1jaGV2cm9uLWRvd24sXG4gIFwiYmF0dGVyeS1mdWxsXCI6ICRmYS12YXItYmF0dGVyeS1mdWxsLFxuICBcImJhdHRlcnlcIjogJGZhLXZhci1iYXR0ZXJ5LFxuICBcImJhdHRlcnktNVwiOiAkZmEtdmFyLWJhdHRlcnktNSxcbiAgXCJza3VsbC1jcm9zc2JvbmVzXCI6ICRmYS12YXItc2t1bGwtY3Jvc3Nib25lcyxcbiAgXCJjb2RlLWNvbXBhcmVcIjogJGZhLXZhci1jb2RlLWNvbXBhcmUsXG4gIFwibGlzdC11bFwiOiAkZmEtdmFyLWxpc3QtdWwsXG4gIFwibGlzdC1kb3RzXCI6ICRmYS12YXItbGlzdC1kb3RzLFxuICBcInNjaG9vbC1sb2NrXCI6ICRmYS12YXItc2Nob29sLWxvY2ssXG4gIFwidG93ZXItY2VsbFwiOiAkZmEtdmFyLXRvd2VyLWNlbGwsXG4gIFwiZG93bi1sb25nXCI6ICRmYS12YXItZG93bi1sb25nLFxuICBcImxvbmctYXJyb3ctYWx0LWRvd25cIjogJGZhLXZhci1sb25nLWFycm93LWFsdC1kb3duLFxuICBcInJhbmtpbmctc3RhclwiOiAkZmEtdmFyLXJhbmtpbmctc3RhcixcbiAgXCJjaGVzcy1raW5nXCI6ICRmYS12YXItY2hlc3Mta2luZyxcbiAgXCJwZXJzb24taGFyYXNzaW5nXCI6ICRmYS12YXItcGVyc29uLWhhcmFzc2luZyxcbiAgXCJicmF6aWxpYW4tcmVhbC1zaWduXCI6ICRmYS12YXItYnJhemlsaWFuLXJlYWwtc2lnbixcbiAgXCJsYW5kbWFyay1kb21lXCI6ICRmYS12YXItbGFuZG1hcmstZG9tZSxcbiAgXCJsYW5kbWFyay1hbHRcIjogJGZhLXZhci1sYW5kbWFyay1hbHQsXG4gIFwiYXJyb3ctdXBcIjogJGZhLXZhci1hcnJvdy11cCxcbiAgXCJ0dlwiOiAkZmEtdmFyLXR2LFxuICBcInRlbGV2aXNpb25cIjogJGZhLXZhci10ZWxldmlzaW9uLFxuICBcInR2LWFsdFwiOiAkZmEtdmFyLXR2LWFsdCxcbiAgXCJzaHJpbXBcIjogJGZhLXZhci1zaHJpbXAsXG4gIFwibGlzdC1jaGVja1wiOiAkZmEtdmFyLWxpc3QtY2hlY2ssXG4gIFwidGFza3NcIjogJGZhLXZhci10YXNrcyxcbiAgXCJqdWctZGV0ZXJnZW50XCI6ICRmYS12YXItanVnLWRldGVyZ2VudCxcbiAgXCJjaXJjbGUtdXNlclwiOiAkZmEtdmFyLWNpcmNsZS11c2VyLFxuICBcInVzZXItY2lyY2xlXCI6ICRmYS12YXItdXNlci1jaXJjbGUsXG4gIFwidXNlci1zaGllbGRcIjogJGZhLXZhci11c2VyLXNoaWVsZCxcbiAgXCJ3aW5kXCI6ICRmYS12YXItd2luZCxcbiAgXCJjYXItYnVyc3RcIjogJGZhLXZhci1jYXItYnVyc3QsXG4gIFwiY2FyLWNyYXNoXCI6ICRmYS12YXItY2FyLWNyYXNoLFxuICBcInlcIjogJGZhLXZhci15LFxuICBcInBlcnNvbi1zbm93Ym9hcmRpbmdcIjogJGZhLXZhci1wZXJzb24tc25vd2JvYXJkaW5nLFxuICBcInNub3dib2FyZGluZ1wiOiAkZmEtdmFyLXNub3dib2FyZGluZyxcbiAgXCJ0cnVjay1mYXN0XCI6ICRmYS12YXItdHJ1Y2stZmFzdCxcbiAgXCJzaGlwcGluZy1mYXN0XCI6ICRmYS12YXItc2hpcHBpbmctZmFzdCxcbiAgXCJmaXNoXCI6ICRmYS12YXItZmlzaCxcbiAgXCJ1c2VyLWdyYWR1YXRlXCI6ICRmYS12YXItdXNlci1ncmFkdWF0ZSxcbiAgXCJjaXJjbGUtaGFsZi1zdHJva2VcIjogJGZhLXZhci1jaXJjbGUtaGFsZi1zdHJva2UsXG4gIFwiYWRqdXN0XCI6ICRmYS12YXItYWRqdXN0LFxuICBcImNsYXBwZXJib2FyZFwiOiAkZmEtdmFyLWNsYXBwZXJib2FyZCxcbiAgXCJjaXJjbGUtcmFkaWF0aW9uXCI6ICRmYS12YXItY2lyY2xlLXJhZGlhdGlvbixcbiAgXCJyYWRpYXRpb24tYWx0XCI6ICRmYS12YXItcmFkaWF0aW9uLWFsdCxcbiAgXCJiYXNlYmFsbFwiOiAkZmEtdmFyLWJhc2ViYWxsLFxuICBcImJhc2ViYWxsLWJhbGxcIjogJGZhLXZhci1iYXNlYmFsbC1iYWxsLFxuICBcImpldC1maWdodGVyLXVwXCI6ICRmYS12YXItamV0LWZpZ2h0ZXItdXAsXG4gIFwiZGlhZ3JhbS1wcm9qZWN0XCI6ICRmYS12YXItZGlhZ3JhbS1wcm9qZWN0LFxuICBcInByb2plY3QtZGlhZ3JhbVwiOiAkZmEtdmFyLXByb2plY3QtZGlhZ3JhbSxcbiAgXCJjb3B5XCI6ICRmYS12YXItY29weSxcbiAgXCJ2b2x1bWUteG1hcmtcIjogJGZhLXZhci12b2x1bWUteG1hcmssXG4gIFwidm9sdW1lLW11dGVcIjogJGZhLXZhci12b2x1bWUtbXV0ZSxcbiAgXCJ2b2x1bWUtdGltZXNcIjogJGZhLXZhci12b2x1bWUtdGltZXMsXG4gIFwiaGFuZC1zcGFya2xlc1wiOiAkZmEtdmFyLWhhbmQtc3BhcmtsZXMsXG4gIFwiZ3JpcFwiOiAkZmEtdmFyLWdyaXAsXG4gIFwiZ3JpcC1ob3Jpem9udGFsXCI6ICRmYS12YXItZ3JpcC1ob3Jpem9udGFsLFxuICBcInNoYXJlLWZyb20tc3F1YXJlXCI6ICRmYS12YXItc2hhcmUtZnJvbS1zcXVhcmUsXG4gIFwic2hhcmUtc3F1YXJlXCI6ICRmYS12YXItc2hhcmUtc3F1YXJlLFxuICBcImNoaWxkLWNvbWJhdGFudFwiOiAkZmEtdmFyLWNoaWxkLWNvbWJhdGFudCxcbiAgXCJjaGlsZC1yaWZsZVwiOiAkZmEtdmFyLWNoaWxkLXJpZmxlLFxuICBcImd1blwiOiAkZmEtdmFyLWd1bixcbiAgXCJzcXVhcmUtcGhvbmVcIjogJGZhLXZhci1zcXVhcmUtcGhvbmUsXG4gIFwicGhvbmUtc3F1YXJlXCI6ICRmYS12YXItcGhvbmUtc3F1YXJlLFxuICBcInBsdXNcIjogJGZhLXZhci1wbHVzLFxuICBcImFkZFwiOiAkZmEtdmFyLWFkZCxcbiAgXCJleHBhbmRcIjogJGZhLXZhci1leHBhbmQsXG4gIFwiY29tcHV0ZXJcIjogJGZhLXZhci1jb21wdXRlcixcbiAgXCJ4bWFya1wiOiAkZmEtdmFyLXhtYXJrLFxuICBcImNsb3NlXCI6ICRmYS12YXItY2xvc2UsXG4gIFwibXVsdGlwbHlcIjogJGZhLXZhci1tdWx0aXBseSxcbiAgXCJyZW1vdmVcIjogJGZhLXZhci1yZW1vdmUsXG4gIFwidGltZXNcIjogJGZhLXZhci10aW1lcyxcbiAgXCJhcnJvd3MtdXAtZG93bi1sZWZ0LXJpZ2h0XCI6ICRmYS12YXItYXJyb3dzLXVwLWRvd24tbGVmdC1yaWdodCxcbiAgXCJhcnJvd3NcIjogJGZhLXZhci1hcnJvd3MsXG4gIFwiY2hhbGtib2FyZC11c2VyXCI6ICRmYS12YXItY2hhbGtib2FyZC11c2VyLFxuICBcImNoYWxrYm9hcmQtdGVhY2hlclwiOiAkZmEtdmFyLWNoYWxrYm9hcmQtdGVhY2hlcixcbiAgXCJwZXNvLXNpZ25cIjogJGZhLXZhci1wZXNvLXNpZ24sXG4gIFwiYnVpbGRpbmctc2hpZWxkXCI6ICRmYS12YXItYnVpbGRpbmctc2hpZWxkLFxuICBcImJhYnlcIjogJGZhLXZhci1iYWJ5LFxuICBcInVzZXJzLWxpbmVcIjogJGZhLXZhci11c2Vycy1saW5lLFxuICBcInF1b3RlLWxlZnRcIjogJGZhLXZhci1xdW90ZS1sZWZ0LFxuICBcInF1b3RlLWxlZnQtYWx0XCI6ICRmYS12YXItcXVvdGUtbGVmdC1hbHQsXG4gIFwidHJhY3RvclwiOiAkZmEtdmFyLXRyYWN0b3IsXG4gIFwidHJhc2gtYXJyb3ctdXBcIjogJGZhLXZhci10cmFzaC1hcnJvdy11cCxcbiAgXCJ0cmFzaC1yZXN0b3JlXCI6ICRmYS12YXItdHJhc2gtcmVzdG9yZSxcbiAgXCJhcnJvdy1kb3duLXVwLWxvY2tcIjogJGZhLXZhci1hcnJvdy1kb3duLXVwLWxvY2ssXG4gIFwibGluZXMtbGVhbmluZ1wiOiAkZmEtdmFyLWxpbmVzLWxlYW5pbmcsXG4gIFwicnVsZXItY29tYmluZWRcIjogJGZhLXZhci1ydWxlci1jb21iaW5lZCxcbiAgXCJjb3B5cmlnaHRcIjogJGZhLXZhci1jb3B5cmlnaHQsXG4gIFwiZXF1YWxzXCI6ICRmYS12YXItZXF1YWxzLFxuICBcImJsZW5kZXJcIjogJGZhLXZhci1ibGVuZGVyLFxuICBcInRlZXRoXCI6ICRmYS12YXItdGVldGgsXG4gIFwic2hla2VsLXNpZ25cIjogJGZhLXZhci1zaGVrZWwtc2lnbixcbiAgXCJpbHNcIjogJGZhLXZhci1pbHMsXG4gIFwic2hla2VsXCI6ICRmYS12YXItc2hla2VsLFxuICBcInNoZXFlbFwiOiAkZmEtdmFyLXNoZXFlbCxcbiAgXCJzaGVxZWwtc2lnblwiOiAkZmEtdmFyLXNoZXFlbC1zaWduLFxuICBcIm1hcFwiOiAkZmEtdmFyLW1hcCxcbiAgXCJyb2NrZXRcIjogJGZhLXZhci1yb2NrZXQsXG4gIFwicGhvdG8tZmlsbVwiOiAkZmEtdmFyLXBob3RvLWZpbG0sXG4gIFwicGhvdG8tdmlkZW9cIjogJGZhLXZhci1waG90by12aWRlbyxcbiAgXCJmb2xkZXItbWludXNcIjogJGZhLXZhci1mb2xkZXItbWludXMsXG4gIFwic3RvcmVcIjogJGZhLXZhci1zdG9yZSxcbiAgXCJhcnJvdy10cmVuZC11cFwiOiAkZmEtdmFyLWFycm93LXRyZW5kLXVwLFxuICBcInBsdWctY2lyY2xlLW1pbnVzXCI6ICRmYS12YXItcGx1Zy1jaXJjbGUtbWludXMsXG4gIFwic2lnbi1oYW5naW5nXCI6ICRmYS12YXItc2lnbi1oYW5naW5nLFxuICBcInNpZ25cIjogJGZhLXZhci1zaWduLFxuICBcImJlemllci1jdXJ2ZVwiOiAkZmEtdmFyLWJlemllci1jdXJ2ZSxcbiAgXCJiZWxsLXNsYXNoXCI6ICRmYS12YXItYmVsbC1zbGFzaCxcbiAgXCJ0YWJsZXRcIjogJGZhLXZhci10YWJsZXQsXG4gIFwidGFibGV0LWFuZHJvaWRcIjogJGZhLXZhci10YWJsZXQtYW5kcm9pZCxcbiAgXCJzY2hvb2wtZmxhZ1wiOiAkZmEtdmFyLXNjaG9vbC1mbGFnLFxuICBcImZpbGxcIjogJGZhLXZhci1maWxsLFxuICBcImFuZ2xlLXVwXCI6ICRmYS12YXItYW5nbGUtdXAsXG4gIFwiZHJ1bXN0aWNrLWJpdGVcIjogJGZhLXZhci1kcnVtc3RpY2stYml0ZSxcbiAgXCJob2xseS1iZXJyeVwiOiAkZmEtdmFyLWhvbGx5LWJlcnJ5LFxuICBcImNoZXZyb24tbGVmdFwiOiAkZmEtdmFyLWNoZXZyb24tbGVmdCxcbiAgXCJiYWN0ZXJpYVwiOiAkZmEtdmFyLWJhY3RlcmlhLFxuICBcImhhbmQtbGl6YXJkXCI6ICRmYS12YXItaGFuZC1saXphcmQsXG4gIFwibm90ZGVmXCI6ICRmYS12YXItbm90ZGVmLFxuICBcImRpc2Vhc2VcIjogJGZhLXZhci1kaXNlYXNlLFxuICBcImJyaWVmY2FzZS1tZWRpY2FsXCI6ICRmYS12YXItYnJpZWZjYXNlLW1lZGljYWwsXG4gIFwiZ2VuZGVybGVzc1wiOiAkZmEtdmFyLWdlbmRlcmxlc3MsXG4gIFwiY2hldnJvbi1yaWdodFwiOiAkZmEtdmFyLWNoZXZyb24tcmlnaHQsXG4gIFwicmV0d2VldFwiOiAkZmEtdmFyLXJldHdlZXQsXG4gIFwiY2FyLXJlYXJcIjogJGZhLXZhci1jYXItcmVhcixcbiAgXCJjYXItYWx0XCI6ICRmYS12YXItY2FyLWFsdCxcbiAgXCJwdW1wLXNvYXBcIjogJGZhLXZhci1wdW1wLXNvYXAsXG4gIFwidmlkZW8tc2xhc2hcIjogJGZhLXZhci12aWRlby1zbGFzaCxcbiAgXCJiYXR0ZXJ5LXF1YXJ0ZXJcIjogJGZhLXZhci1iYXR0ZXJ5LXF1YXJ0ZXIsXG4gIFwiYmF0dGVyeS0yXCI6ICRmYS12YXItYmF0dGVyeS0yLFxuICBcInJhZGlvXCI6ICRmYS12YXItcmFkaW8sXG4gIFwiYmFieS1jYXJyaWFnZVwiOiAkZmEtdmFyLWJhYnktY2FycmlhZ2UsXG4gIFwiY2FycmlhZ2UtYmFieVwiOiAkZmEtdmFyLWNhcnJpYWdlLWJhYnksXG4gIFwidHJhZmZpYy1saWdodFwiOiAkZmEtdmFyLXRyYWZmaWMtbGlnaHQsXG4gIFwidGhlcm1vbWV0ZXJcIjogJGZhLXZhci10aGVybW9tZXRlcixcbiAgXCJ2ci1jYXJkYm9hcmRcIjogJGZhLXZhci12ci1jYXJkYm9hcmQsXG4gIFwiaGFuZC1taWRkbGUtZmluZ2VyXCI6ICRmYS12YXItaGFuZC1taWRkbGUtZmluZ2VyLFxuICBcInBlcmNlbnRcIjogJGZhLXZhci1wZXJjZW50LFxuICBcInBlcmNlbnRhZ2VcIjogJGZhLXZhci1wZXJjZW50YWdlLFxuICBcInRydWNrLW1vdmluZ1wiOiAkZmEtdmFyLXRydWNrLW1vdmluZyxcbiAgXCJnbGFzcy13YXRlci1kcm9wbGV0XCI6ICRmYS12YXItZ2xhc3Mtd2F0ZXItZHJvcGxldCxcbiAgXCJkaXNwbGF5XCI6ICRmYS12YXItZGlzcGxheSxcbiAgXCJmYWNlLXNtaWxlXCI6ICRmYS12YXItZmFjZS1zbWlsZSxcbiAgXCJzbWlsZVwiOiAkZmEtdmFyLXNtaWxlLFxuICBcInRodW1idGFja1wiOiAkZmEtdmFyLXRodW1idGFjayxcbiAgXCJ0aHVtYi10YWNrXCI6ICRmYS12YXItdGh1bWItdGFjayxcbiAgXCJ0cm9waHlcIjogJGZhLXZhci10cm9waHksXG4gIFwicGVyc29uLXByYXlpbmdcIjogJGZhLXZhci1wZXJzb24tcHJheWluZyxcbiAgXCJwcmF5XCI6ICRmYS12YXItcHJheSxcbiAgXCJoYW1tZXJcIjogJGZhLXZhci1oYW1tZXIsXG4gIFwiaGFuZC1wZWFjZVwiOiAkZmEtdmFyLWhhbmQtcGVhY2UsXG4gIFwicm90YXRlXCI6ICRmYS12YXItcm90YXRlLFxuICBcInN5bmMtYWx0XCI6ICRmYS12YXItc3luYy1hbHQsXG4gIFwic3Bpbm5lclwiOiAkZmEtdmFyLXNwaW5uZXIsXG4gIFwicm9ib3RcIjogJGZhLXZhci1yb2JvdCxcbiAgXCJwZWFjZVwiOiAkZmEtdmFyLXBlYWNlLFxuICBcImdlYXJzXCI6ICRmYS12YXItZ2VhcnMsXG4gIFwiY29nc1wiOiAkZmEtdmFyLWNvZ3MsXG4gIFwid2FyZWhvdXNlXCI6ICRmYS12YXItd2FyZWhvdXNlLFxuICBcImFycm93LXVwLXJpZ2h0LWRvdHNcIjogJGZhLXZhci1hcnJvdy11cC1yaWdodC1kb3RzLFxuICBcInNwbG90Y2hcIjogJGZhLXZhci1zcGxvdGNoLFxuICBcImZhY2UtZ3Jpbi1oZWFydHNcIjogJGZhLXZhci1mYWNlLWdyaW4taGVhcnRzLFxuICBcImdyaW4taGVhcnRzXCI6ICRmYS12YXItZ3Jpbi1oZWFydHMsXG4gIFwiZGljZS1mb3VyXCI6ICRmYS12YXItZGljZS1mb3VyLFxuICBcInNpbS1jYXJkXCI6ICRmYS12YXItc2ltLWNhcmQsXG4gIFwidHJhbnNnZW5kZXJcIjogJGZhLXZhci10cmFuc2dlbmRlcixcbiAgXCJ0cmFuc2dlbmRlci1hbHRcIjogJGZhLXZhci10cmFuc2dlbmRlci1hbHQsXG4gIFwibWVyY3VyeVwiOiAkZmEtdmFyLW1lcmN1cnksXG4gIFwiYXJyb3ctdHVybi1kb3duXCI6ICRmYS12YXItYXJyb3ctdHVybi1kb3duLFxuICBcImxldmVsLWRvd25cIjogJGZhLXZhci1sZXZlbC1kb3duLFxuICBcInBlcnNvbi1mYWxsaW5nLWJ1cnN0XCI6ICRmYS12YXItcGVyc29uLWZhbGxpbmctYnVyc3QsXG4gIFwiYXdhcmRcIjogJGZhLXZhci1hd2FyZCxcbiAgXCJ0aWNrZXQtc2ltcGxlXCI6ICRmYS12YXItdGlja2V0LXNpbXBsZSxcbiAgXCJ0aWNrZXQtYWx0XCI6ICRmYS12YXItdGlja2V0LWFsdCxcbiAgXCJidWlsZGluZ1wiOiAkZmEtdmFyLWJ1aWxkaW5nLFxuICBcImFuZ2xlcy1sZWZ0XCI6ICRmYS12YXItYW5nbGVzLWxlZnQsXG4gIFwiYW5nbGUtZG91YmxlLWxlZnRcIjogJGZhLXZhci1hbmdsZS1kb3VibGUtbGVmdCxcbiAgXCJxcmNvZGVcIjogJGZhLXZhci1xcmNvZGUsXG4gIFwiY2xvY2stcm90YXRlLWxlZnRcIjogJGZhLXZhci1jbG9jay1yb3RhdGUtbGVmdCxcbiAgXCJoaXN0b3J5XCI6ICRmYS12YXItaGlzdG9yeSxcbiAgXCJmYWNlLWdyaW4tYmVhbS1zd2VhdFwiOiAkZmEtdmFyLWZhY2UtZ3Jpbi1iZWFtLXN3ZWF0LFxuICBcImdyaW4tYmVhbS1zd2VhdFwiOiAkZmEtdmFyLWdyaW4tYmVhbS1zd2VhdCxcbiAgXCJmaWxlLWV4cG9ydFwiOiAkZmEtdmFyLWZpbGUtZXhwb3J0LFxuICBcImFycm93LXJpZ2h0LWZyb20tZmlsZVwiOiAkZmEtdmFyLWFycm93LXJpZ2h0LWZyb20tZmlsZSxcbiAgXCJzaGllbGRcIjogJGZhLXZhci1zaGllbGQsXG4gIFwic2hpZWxkLWJsYW5rXCI6ICRmYS12YXItc2hpZWxkLWJsYW5rLFxuICBcImFycm93LXVwLXNob3J0LXdpZGVcIjogJGZhLXZhci1hcnJvdy11cC1zaG9ydC13aWRlLFxuICBcInNvcnQtYW1vdW50LXVwLWFsdFwiOiAkZmEtdmFyLXNvcnQtYW1vdW50LXVwLWFsdCxcbiAgXCJob3VzZS1tZWRpY2FsXCI6ICRmYS12YXItaG91c2UtbWVkaWNhbCxcbiAgXCJnb2xmLWJhbGwtdGVlXCI6ICRmYS12YXItZ29sZi1iYWxsLXRlZSxcbiAgXCJnb2xmLWJhbGxcIjogJGZhLXZhci1nb2xmLWJhbGwsXG4gIFwiY2lyY2xlLWNoZXZyb24tbGVmdFwiOiAkZmEtdmFyLWNpcmNsZS1jaGV2cm9uLWxlZnQsXG4gIFwiY2hldnJvbi1jaXJjbGUtbGVmdFwiOiAkZmEtdmFyLWNoZXZyb24tY2lyY2xlLWxlZnQsXG4gIFwiaG91c2UtY2hpbW5leS13aW5kb3dcIjogJGZhLXZhci1ob3VzZS1jaGltbmV5LXdpbmRvdyxcbiAgXCJwZW4tbmliXCI6ICRmYS12YXItcGVuLW5pYixcbiAgXCJ0ZW50LWFycm93LXR1cm4tbGVmdFwiOiAkZmEtdmFyLXRlbnQtYXJyb3ctdHVybi1sZWZ0LFxuICBcInRlbnRzXCI6ICRmYS12YXItdGVudHMsXG4gIFwid2FuZC1tYWdpY1wiOiAkZmEtdmFyLXdhbmQtbWFnaWMsXG4gIFwibWFnaWNcIjogJGZhLXZhci1tYWdpYyxcbiAgXCJkb2dcIjogJGZhLXZhci1kb2csXG4gIFwiY2Fycm90XCI6ICRmYS12YXItY2Fycm90LFxuICBcIm1vb25cIjogJGZhLXZhci1tb29uLFxuICBcIndpbmUtZ2xhc3MtZW1wdHlcIjogJGZhLXZhci13aW5lLWdsYXNzLWVtcHR5LFxuICBcIndpbmUtZ2xhc3MtYWx0XCI6ICRmYS12YXItd2luZS1nbGFzcy1hbHQsXG4gIFwiY2hlZXNlXCI6ICRmYS12YXItY2hlZXNlLFxuICBcInlpbi15YW5nXCI6ICRmYS12YXIteWluLXlhbmcsXG4gIFwibXVzaWNcIjogJGZhLXZhci1tdXNpYyxcbiAgXCJjb2RlLWNvbW1pdFwiOiAkZmEtdmFyLWNvZGUtY29tbWl0LFxuICBcInRlbXBlcmF0dXJlLWxvd1wiOiAkZmEtdmFyLXRlbXBlcmF0dXJlLWxvdyxcbiAgXCJwZXJzb24tYmlraW5nXCI6ICRmYS12YXItcGVyc29uLWJpa2luZyxcbiAgXCJiaWtpbmdcIjogJGZhLXZhci1iaWtpbmcsXG4gIFwiYnJvb21cIjogJGZhLXZhci1icm9vbSxcbiAgXCJzaGllbGQtaGVhcnRcIjogJGZhLXZhci1zaGllbGQtaGVhcnQsXG4gIFwiZ29wdXJhbVwiOiAkZmEtdmFyLWdvcHVyYW0sXG4gIFwiZWFydGgtb2NlYW5pYVwiOiAkZmEtdmFyLWVhcnRoLW9jZWFuaWEsXG4gIFwiZ2xvYmUtb2NlYW5pYVwiOiAkZmEtdmFyLWdsb2JlLW9jZWFuaWEsXG4gIFwic3F1YXJlLXhtYXJrXCI6ICRmYS12YXItc3F1YXJlLXhtYXJrLFxuICBcInRpbWVzLXNxdWFyZVwiOiAkZmEtdmFyLXRpbWVzLXNxdWFyZSxcbiAgXCJ4bWFyay1zcXVhcmVcIjogJGZhLXZhci14bWFyay1zcXVhcmUsXG4gIFwiaGFzaHRhZ1wiOiAkZmEtdmFyLWhhc2h0YWcsXG4gIFwidXAtcmlnaHQtYW5kLWRvd24tbGVmdC1mcm9tLWNlbnRlclwiOiAkZmEtdmFyLXVwLXJpZ2h0LWFuZC1kb3duLWxlZnQtZnJvbS1jZW50ZXIsXG4gIFwiZXhwYW5kLWFsdFwiOiAkZmEtdmFyLWV4cGFuZC1hbHQsXG4gIFwib2lsLWNhblwiOiAkZmEtdmFyLW9pbC1jYW4sXG4gIFwidFwiOiAkZmEtdmFyLXQsXG4gIFwiaGlwcG9cIjogJGZhLXZhci1oaXBwbyxcbiAgXCJjaGFydC1jb2x1bW5cIjogJGZhLXZhci1jaGFydC1jb2x1bW4sXG4gIFwiaW5maW5pdHlcIjogJGZhLXZhci1pbmZpbml0eSxcbiAgXCJ2aWFsLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXZpYWwtY2lyY2xlLWNoZWNrLFxuICBcInBlcnNvbi1hcnJvdy1kb3duLXRvLWxpbmVcIjogJGZhLXZhci1wZXJzb24tYXJyb3ctZG93bi10by1saW5lLFxuICBcInZvaWNlbWFpbFwiOiAkZmEtdmFyLXZvaWNlbWFpbCxcbiAgXCJmYW5cIjogJGZhLXZhci1mYW4sXG4gIFwicGVyc29uLXdhbGtpbmctbHVnZ2FnZVwiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLWx1Z2dhZ2UsXG4gIFwidXAtZG93blwiOiAkZmEtdmFyLXVwLWRvd24sXG4gIFwiYXJyb3dzLWFsdC12XCI6ICRmYS12YXItYXJyb3dzLWFsdC12LFxuICBcImNsb3VkLW1vb24tcmFpblwiOiAkZmEtdmFyLWNsb3VkLW1vb24tcmFpbixcbiAgXCJjYWxlbmRhclwiOiAkZmEtdmFyLWNhbGVuZGFyLFxuICBcInRyYWlsZXJcIjogJGZhLXZhci10cmFpbGVyLFxuICBcImJhaGFpXCI6ICRmYS12YXItYmFoYWksXG4gIFwiaGF5a2FsXCI6ICRmYS12YXItaGF5a2FsLFxuICBcInNkLWNhcmRcIjogJGZhLXZhci1zZC1jYXJkLFxuICBcImRyYWdvblwiOiAkZmEtdmFyLWRyYWdvbixcbiAgXCJzaG9lLXByaW50c1wiOiAkZmEtdmFyLXNob2UtcHJpbnRzLFxuICBcImNpcmNsZS1wbHVzXCI6ICRmYS12YXItY2lyY2xlLXBsdXMsXG4gIFwicGx1cy1jaXJjbGVcIjogJGZhLXZhci1wbHVzLWNpcmNsZSxcbiAgXCJmYWNlLWdyaW4tdG9uZ3VlLXdpbmtcIjogJGZhLXZhci1mYWNlLWdyaW4tdG9uZ3VlLXdpbmssXG4gIFwiZ3Jpbi10b25ndWUtd2lua1wiOiAkZmEtdmFyLWdyaW4tdG9uZ3VlLXdpbmssXG4gIFwiaGFuZC1ob2xkaW5nXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLFxuICBcInBsdWctY2lyY2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItcGx1Zy1jaXJjbGUtZXhjbGFtYXRpb24sXG4gIFwibGluay1zbGFzaFwiOiAkZmEtdmFyLWxpbmstc2xhc2gsXG4gIFwiY2hhaW4tYnJva2VuXCI6ICRmYS12YXItY2hhaW4tYnJva2VuLFxuICBcImNoYWluLXNsYXNoXCI6ICRmYS12YXItY2hhaW4tc2xhc2gsXG4gIFwidW5saW5rXCI6ICRmYS12YXItdW5saW5rLFxuICBcImNsb25lXCI6ICRmYS12YXItY2xvbmUsXG4gIFwicGVyc29uLXdhbGtpbmctYXJyb3ctbG9vcC1sZWZ0XCI6ICRmYS12YXItcGVyc29uLXdhbGtpbmctYXJyb3ctbG9vcC1sZWZ0LFxuICBcImFycm93LXVwLXotYVwiOiAkZmEtdmFyLWFycm93LXVwLXotYSxcbiAgXCJzb3J0LWFscGhhLXVwLWFsdFwiOiAkZmEtdmFyLXNvcnQtYWxwaGEtdXAtYWx0LFxuICBcImZpcmUtZmxhbWUtY3VydmVkXCI6ICRmYS12YXItZmlyZS1mbGFtZS1jdXJ2ZWQsXG4gIFwiZmlyZS1hbHRcIjogJGZhLXZhci1maXJlLWFsdCxcbiAgXCJ0b3JuYWRvXCI6ICRmYS12YXItdG9ybmFkbyxcbiAgXCJmaWxlLWNpcmNsZS1wbHVzXCI6ICRmYS12YXItZmlsZS1jaXJjbGUtcGx1cyxcbiAgXCJib29rLXF1cmFuXCI6ICRmYS12YXItYm9vay1xdXJhbixcbiAgXCJxdXJhblwiOiAkZmEtdmFyLXF1cmFuLFxuICBcImFuY2hvclwiOiAkZmEtdmFyLWFuY2hvcixcbiAgXCJib3JkZXItYWxsXCI6ICRmYS12YXItYm9yZGVyLWFsbCxcbiAgXCJmYWNlLWFuZ3J5XCI6ICRmYS12YXItZmFjZS1hbmdyeSxcbiAgXCJhbmdyeVwiOiAkZmEtdmFyLWFuZ3J5LFxuICBcImNvb2tpZS1iaXRlXCI6ICRmYS12YXItY29va2llLWJpdGUsXG4gIFwiYXJyb3ctdHJlbmQtZG93blwiOiAkZmEtdmFyLWFycm93LXRyZW5kLWRvd24sXG4gIFwicnNzXCI6ICRmYS12YXItcnNzLFxuICBcImZlZWRcIjogJGZhLXZhci1mZWVkLFxuICBcImRyYXctcG9seWdvblwiOiAkZmEtdmFyLWRyYXctcG9seWdvbixcbiAgXCJzY2FsZS1iYWxhbmNlZFwiOiAkZmEtdmFyLXNjYWxlLWJhbGFuY2VkLFxuICBcImJhbGFuY2Utc2NhbGVcIjogJGZhLXZhci1iYWxhbmNlLXNjYWxlLFxuICBcImdhdWdlLXNpbXBsZS1oaWdoXCI6ICRmYS12YXItZ2F1Z2Utc2ltcGxlLWhpZ2gsXG4gIFwidGFjaG9tZXRlclwiOiAkZmEtdmFyLXRhY2hvbWV0ZXIsXG4gIFwidGFjaG9tZXRlci1mYXN0XCI6ICRmYS12YXItdGFjaG9tZXRlci1mYXN0LFxuICBcInNob3dlclwiOiAkZmEtdmFyLXNob3dlcixcbiAgXCJkZXNrdG9wXCI6ICRmYS12YXItZGVza3RvcCxcbiAgXCJkZXNrdG9wLWFsdFwiOiAkZmEtdmFyLWRlc2t0b3AtYWx0LFxuICBcIm1cIjogJGZhLXZhci1tLFxuICBcInRhYmxlLWxpc3RcIjogJGZhLXZhci10YWJsZS1saXN0LFxuICBcInRoLWxpc3RcIjogJGZhLXZhci10aC1saXN0LFxuICBcImNvbW1lbnQtc21zXCI6ICRmYS12YXItY29tbWVudC1zbXMsXG4gIFwic21zXCI6ICRmYS12YXItc21zLFxuICBcImJvb2tcIjogJGZhLXZhci1ib29rLFxuICBcInVzZXItcGx1c1wiOiAkZmEtdmFyLXVzZXItcGx1cyxcbiAgXCJjaGVja1wiOiAkZmEtdmFyLWNoZWNrLFxuICBcImJhdHRlcnktdGhyZWUtcXVhcnRlcnNcIjogJGZhLXZhci1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzLFxuICBcImJhdHRlcnktNFwiOiAkZmEtdmFyLWJhdHRlcnktNCxcbiAgXCJob3VzZS1jaXJjbGUtY2hlY2tcIjogJGZhLXZhci1ob3VzZS1jaXJjbGUtY2hlY2ssXG4gIFwiYW5nbGUtbGVmdFwiOiAkZmEtdmFyLWFuZ2xlLWxlZnQsXG4gIFwiZGlhZ3JhbS1zdWNjZXNzb3JcIjogJGZhLXZhci1kaWFncmFtLXN1Y2Nlc3NvcixcbiAgXCJ0cnVjay1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLXRydWNrLWFycm93LXJpZ2h0LFxuICBcImFycm93cy1zcGxpdC11cC1hbmQtbGVmdFwiOiAkZmEtdmFyLWFycm93cy1zcGxpdC11cC1hbmQtbGVmdCxcbiAgXCJoYW5kLWZpc3RcIjogJGZhLXZhci1oYW5kLWZpc3QsXG4gIFwiZmlzdC1yYWlzZWRcIjogJGZhLXZhci1maXN0LXJhaXNlZCxcbiAgXCJjbG91ZC1tb29uXCI6ICRmYS12YXItY2xvdWQtbW9vbixcbiAgXCJicmllZmNhc2VcIjogJGZhLXZhci1icmllZmNhc2UsXG4gIFwicGVyc29uLWZhbGxpbmdcIjogJGZhLXZhci1wZXJzb24tZmFsbGluZyxcbiAgXCJpbWFnZS1wb3J0cmFpdFwiOiAkZmEtdmFyLWltYWdlLXBvcnRyYWl0LFxuICBcInBvcnRyYWl0XCI6ICRmYS12YXItcG9ydHJhaXQsXG4gIFwidXNlci10YWdcIjogJGZhLXZhci11c2VyLXRhZyxcbiAgXCJydWdcIjogJGZhLXZhci1ydWcsXG4gIFwiZWFydGgtZXVyb3BlXCI6ICRmYS12YXItZWFydGgtZXVyb3BlLFxuICBcImdsb2JlLWV1cm9wZVwiOiAkZmEtdmFyLWdsb2JlLWV1cm9wZSxcbiAgXCJjYXJ0LWZsYXRiZWQtc3VpdGNhc2VcIjogJGZhLXZhci1jYXJ0LWZsYXRiZWQtc3VpdGNhc2UsXG4gIFwibHVnZ2FnZS1jYXJ0XCI6ICRmYS12YXItbHVnZ2FnZS1jYXJ0LFxuICBcInJlY3RhbmdsZS14bWFya1wiOiAkZmEtdmFyLXJlY3RhbmdsZS14bWFyayxcbiAgXCJyZWN0YW5nbGUtdGltZXNcIjogJGZhLXZhci1yZWN0YW5nbGUtdGltZXMsXG4gIFwidGltZXMtcmVjdGFuZ2xlXCI6ICRmYS12YXItdGltZXMtcmVjdGFuZ2xlLFxuICBcIndpbmRvdy1jbG9zZVwiOiAkZmEtdmFyLXdpbmRvdy1jbG9zZSxcbiAgXCJiYWh0LXNpZ25cIjogJGZhLXZhci1iYWh0LXNpZ24sXG4gIFwiYm9vay1vcGVuXCI6ICRmYS12YXItYm9vay1vcGVuLFxuICBcImJvb2stam91cm5hbC13aGlsbHNcIjogJGZhLXZhci1ib29rLWpvdXJuYWwtd2hpbGxzLFxuICBcImpvdXJuYWwtd2hpbGxzXCI6ICRmYS12YXItam91cm5hbC13aGlsbHMsXG4gIFwiaGFuZGN1ZmZzXCI6ICRmYS12YXItaGFuZGN1ZmZzLFxuICBcInRyaWFuZ2xlLWV4Y2xhbWF0aW9uXCI6ICRmYS12YXItdHJpYW5nbGUtZXhjbGFtYXRpb24sXG4gIFwiZXhjbGFtYXRpb24tdHJpYW5nbGVcIjogJGZhLXZhci1leGNsYW1hdGlvbi10cmlhbmdsZSxcbiAgXCJ3YXJuaW5nXCI6ICRmYS12YXItd2FybmluZyxcbiAgXCJkYXRhYmFzZVwiOiAkZmEtdmFyLWRhdGFiYXNlLFxuICBcInNoYXJlXCI6ICRmYS12YXItc2hhcmUsXG4gIFwibWFpbC1mb3J3YXJkXCI6ICRmYS12YXItbWFpbC1mb3J3YXJkLFxuICBcImJvdHRsZS1kcm9wbGV0XCI6ICRmYS12YXItYm90dGxlLWRyb3BsZXQsXG4gIFwibWFzay1mYWNlXCI6ICRmYS12YXItbWFzay1mYWNlLFxuICBcImhpbGwtcm9ja3NsaWRlXCI6ICRmYS12YXItaGlsbC1yb2Nrc2xpZGUsXG4gIFwicmlnaHQtbGVmdFwiOiAkZmEtdmFyLXJpZ2h0LWxlZnQsXG4gIFwiZXhjaGFuZ2UtYWx0XCI6ICRmYS12YXItZXhjaGFuZ2UtYWx0LFxuICBcInBhcGVyLXBsYW5lXCI6ICRmYS12YXItcGFwZXItcGxhbmUsXG4gIFwicm9hZC1jaXJjbGUtZXhjbGFtYXRpb25cIjogJGZhLXZhci1yb2FkLWNpcmNsZS1leGNsYW1hdGlvbixcbiAgXCJkdW5nZW9uXCI6ICRmYS12YXItZHVuZ2VvbixcbiAgXCJhbGlnbi1yaWdodFwiOiAkZmEtdmFyLWFsaWduLXJpZ2h0LFxuICBcIm1vbmV5LWJpbGwtMS13YXZlXCI6ICRmYS12YXItbW9uZXktYmlsbC0xLXdhdmUsXG4gIFwibW9uZXktYmlsbC13YXZlLWFsdFwiOiAkZmEtdmFyLW1vbmV5LWJpbGwtd2F2ZS1hbHQsXG4gIFwibGlmZS1yaW5nXCI6ICRmYS12YXItbGlmZS1yaW5nLFxuICBcImhhbmRzXCI6ICRmYS12YXItaGFuZHMsXG4gIFwic2lnbi1sYW5ndWFnZVwiOiAkZmEtdmFyLXNpZ24tbGFuZ3VhZ2UsXG4gIFwic2lnbmluZ1wiOiAkZmEtdmFyLXNpZ25pbmcsXG4gIFwiY2FsZW5kYXItZGF5XCI6ICRmYS12YXItY2FsZW5kYXItZGF5LFxuICBcIndhdGVyLWxhZGRlclwiOiAkZmEtdmFyLXdhdGVyLWxhZGRlcixcbiAgXCJsYWRkZXItd2F0ZXJcIjogJGZhLXZhci1sYWRkZXItd2F0ZXIsXG4gIFwic3dpbW1pbmctcG9vbFwiOiAkZmEtdmFyLXN3aW1taW5nLXBvb2wsXG4gIFwiYXJyb3dzLXVwLWRvd25cIjogJGZhLXZhci1hcnJvd3MtdXAtZG93bixcbiAgXCJhcnJvd3MtdlwiOiAkZmEtdmFyLWFycm93cy12LFxuICBcImZhY2UtZ3JpbWFjZVwiOiAkZmEtdmFyLWZhY2UtZ3JpbWFjZSxcbiAgXCJncmltYWNlXCI6ICRmYS12YXItZ3JpbWFjZSxcbiAgXCJ3aGVlbGNoYWlyLW1vdmVcIjogJGZhLXZhci13aGVlbGNoYWlyLW1vdmUsXG4gIFwid2hlZWxjaGFpci1hbHRcIjogJGZhLXZhci13aGVlbGNoYWlyLWFsdCxcbiAgXCJ0dXJuLWRvd25cIjogJGZhLXZhci10dXJuLWRvd24sXG4gIFwibGV2ZWwtZG93bi1hbHRcIjogJGZhLXZhci1sZXZlbC1kb3duLWFsdCxcbiAgXCJwZXJzb24td2Fsa2luZy1hcnJvdy1yaWdodFwiOiAkZmEtdmFyLXBlcnNvbi13YWxraW5nLWFycm93LXJpZ2h0LFxuICBcInNxdWFyZS1lbnZlbG9wZVwiOiAkZmEtdmFyLXNxdWFyZS1lbnZlbG9wZSxcbiAgXCJlbnZlbG9wZS1zcXVhcmVcIjogJGZhLXZhci1lbnZlbG9wZS1zcXVhcmUsXG4gIFwiZGljZVwiOiAkZmEtdmFyLWRpY2UsXG4gIFwiYm93bGluZy1iYWxsXCI6ICRmYS12YXItYm93bGluZy1iYWxsLFxuICBcImJyYWluXCI6ICRmYS12YXItYnJhaW4sXG4gIFwiYmFuZGFnZVwiOiAkZmEtdmFyLWJhbmRhZ2UsXG4gIFwiYmFuZC1haWRcIjogJGZhLXZhci1iYW5kLWFpZCxcbiAgXCJjYWxlbmRhci1taW51c1wiOiAkZmEtdmFyLWNhbGVuZGFyLW1pbnVzLFxuICBcImNpcmNsZS14bWFya1wiOiAkZmEtdmFyLWNpcmNsZS14bWFyayxcbiAgXCJ0aW1lcy1jaXJjbGVcIjogJGZhLXZhci10aW1lcy1jaXJjbGUsXG4gIFwieG1hcmstY2lyY2xlXCI6ICRmYS12YXIteG1hcmstY2lyY2xlLFxuICBcImdpZnRzXCI6ICRmYS12YXItZ2lmdHMsXG4gIFwiaG90ZWxcIjogJGZhLXZhci1ob3RlbCxcbiAgXCJlYXJ0aC1hc2lhXCI6ICRmYS12YXItZWFydGgtYXNpYSxcbiAgXCJnbG9iZS1hc2lhXCI6ICRmYS12YXItZ2xvYmUtYXNpYSxcbiAgXCJpZC1jYXJkLWNsaXBcIjogJGZhLXZhci1pZC1jYXJkLWNsaXAsXG4gIFwiaWQtY2FyZC1hbHRcIjogJGZhLXZhci1pZC1jYXJkLWFsdCxcbiAgXCJtYWduaWZ5aW5nLWdsYXNzLXBsdXNcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLXBsdXMsXG4gIFwic2VhcmNoLXBsdXNcIjogJGZhLXZhci1zZWFyY2gtcGx1cyxcbiAgXCJ0aHVtYnMtdXBcIjogJGZhLXZhci10aHVtYnMtdXAsXG4gIFwidXNlci1jbG9ja1wiOiAkZmEtdmFyLXVzZXItY2xvY2ssXG4gIFwiaGFuZC1kb3RzXCI6ICRmYS12YXItaGFuZC1kb3RzLFxuICBcImFsbGVyZ2llc1wiOiAkZmEtdmFyLWFsbGVyZ2llcyxcbiAgXCJmaWxlLWludm9pY2VcIjogJGZhLXZhci1maWxlLWludm9pY2UsXG4gIFwid2luZG93LW1pbmltaXplXCI6ICRmYS12YXItd2luZG93LW1pbmltaXplLFxuICBcIm11Zy1zYXVjZXJcIjogJGZhLXZhci1tdWctc2F1Y2VyLFxuICBcImNvZmZlZVwiOiAkZmEtdmFyLWNvZmZlZSxcbiAgXCJicnVzaFwiOiAkZmEtdmFyLWJydXNoLFxuICBcIm1hc2tcIjogJGZhLXZhci1tYXNrLFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtbWludXNcIjogJGZhLXZhci1tYWduaWZ5aW5nLWdsYXNzLW1pbnVzLFxuICBcInNlYXJjaC1taW51c1wiOiAkZmEtdmFyLXNlYXJjaC1taW51cyxcbiAgXCJydWxlci12ZXJ0aWNhbFwiOiAkZmEtdmFyLXJ1bGVyLXZlcnRpY2FsLFxuICBcInVzZXItbGFyZ2VcIjogJGZhLXZhci11c2VyLWxhcmdlLFxuICBcInVzZXItYWx0XCI6ICRmYS12YXItdXNlci1hbHQsXG4gIFwidHJhaW4tdHJhbVwiOiAkZmEtdmFyLXRyYWluLXRyYW0sXG4gIFwidXNlci1udXJzZVwiOiAkZmEtdmFyLXVzZXItbnVyc2UsXG4gIFwic3lyaW5nZVwiOiAkZmEtdmFyLXN5cmluZ2UsXG4gIFwiY2xvdWQtc3VuXCI6ICRmYS12YXItY2xvdWQtc3VuLFxuICBcInN0b3B3YXRjaC0yMFwiOiAkZmEtdmFyLXN0b3B3YXRjaC0yMCxcbiAgXCJzcXVhcmUtZnVsbFwiOiAkZmEtdmFyLXNxdWFyZS1mdWxsLFxuICBcIm1hZ25ldFwiOiAkZmEtdmFyLW1hZ25ldCxcbiAgXCJqYXJcIjogJGZhLXZhci1qYXIsXG4gIFwibm90ZS1zdGlja3lcIjogJGZhLXZhci1ub3RlLXN0aWNreSxcbiAgXCJzdGlja3ktbm90ZVwiOiAkZmEtdmFyLXN0aWNreS1ub3RlLFxuICBcImJ1Zy1zbGFzaFwiOiAkZmEtdmFyLWJ1Zy1zbGFzaCxcbiAgXCJhcnJvdy11cC1mcm9tLXdhdGVyLXB1bXBcIjogJGZhLXZhci1hcnJvdy11cC1mcm9tLXdhdGVyLXB1bXAsXG4gIFwiYm9uZVwiOiAkZmEtdmFyLWJvbmUsXG4gIFwidXNlci1pbmp1cmVkXCI6ICRmYS12YXItdXNlci1pbmp1cmVkLFxuICBcImZhY2Utc2FkLXRlYXJcIjogJGZhLXZhci1mYWNlLXNhZC10ZWFyLFxuICBcInNhZC10ZWFyXCI6ICRmYS12YXItc2FkLXRlYXIsXG4gIFwicGxhbmVcIjogJGZhLXZhci1wbGFuZSxcbiAgXCJ0ZW50LWFycm93cy1kb3duXCI6ICRmYS12YXItdGVudC1hcnJvd3MtZG93bixcbiAgXCJleGNsYW1hdGlvblwiOiAkZmEtdmFyLWV4Y2xhbWF0aW9uLFxuICBcImFycm93cy1zcGluXCI6ICRmYS12YXItYXJyb3dzLXNwaW4sXG4gIFwicHJpbnRcIjogJGZhLXZhci1wcmludCxcbiAgXCJ0dXJraXNoLWxpcmEtc2lnblwiOiAkZmEtdmFyLXR1cmtpc2gtbGlyYS1zaWduLFxuICBcInRyeVwiOiAkZmEtdmFyLXRyeSxcbiAgXCJ0dXJraXNoLWxpcmFcIjogJGZhLXZhci10dXJraXNoLWxpcmEsXG4gIFwiZG9sbGFyLXNpZ25cIjogJGZhLXZhci1kb2xsYXItc2lnbixcbiAgXCJkb2xsYXJcIjogJGZhLXZhci1kb2xsYXIsXG4gIFwidXNkXCI6ICRmYS12YXItdXNkLFxuICBcInhcIjogJGZhLXZhci14LFxuICBcIm1hZ25pZnlpbmctZ2xhc3MtZG9sbGFyXCI6ICRmYS12YXItbWFnbmlmeWluZy1nbGFzcy1kb2xsYXIsXG4gIFwic2VhcmNoLWRvbGxhclwiOiAkZmEtdmFyLXNlYXJjaC1kb2xsYXIsXG4gIFwidXNlcnMtZ2VhclwiOiAkZmEtdmFyLXVzZXJzLWdlYXIsXG4gIFwidXNlcnMtY29nXCI6ICRmYS12YXItdXNlcnMtY29nLFxuICBcInBlcnNvbi1taWxpdGFyeS1wb2ludGluZ1wiOiAkZmEtdmFyLXBlcnNvbi1taWxpdGFyeS1wb2ludGluZyxcbiAgXCJidWlsZGluZy1jb2x1bW5zXCI6ICRmYS12YXItYnVpbGRpbmctY29sdW1ucyxcbiAgXCJiYW5rXCI6ICRmYS12YXItYmFuayxcbiAgXCJpbnN0aXR1dGlvblwiOiAkZmEtdmFyLWluc3RpdHV0aW9uLFxuICBcIm11c2V1bVwiOiAkZmEtdmFyLW11c2V1bSxcbiAgXCJ1bml2ZXJzaXR5XCI6ICRmYS12YXItdW5pdmVyc2l0eSxcbiAgXCJ1bWJyZWxsYVwiOiAkZmEtdmFyLXVtYnJlbGxhLFxuICBcInRyb3dlbFwiOiAkZmEtdmFyLXRyb3dlbCxcbiAgXCJkXCI6ICRmYS12YXItZCxcbiAgXCJzdGFwbGVyXCI6ICRmYS12YXItc3RhcGxlcixcbiAgXCJtYXNrcy10aGVhdGVyXCI6ICRmYS12YXItbWFza3MtdGhlYXRlcixcbiAgXCJ0aGVhdGVyLW1hc2tzXCI6ICRmYS12YXItdGhlYXRlci1tYXNrcyxcbiAgXCJraXAtc2lnblwiOiAkZmEtdmFyLWtpcC1zaWduLFxuICBcImhhbmQtcG9pbnQtbGVmdFwiOiAkZmEtdmFyLWhhbmQtcG9pbnQtbGVmdCxcbiAgXCJoYW5kc2hha2Utc2ltcGxlXCI6ICRmYS12YXItaGFuZHNoYWtlLXNpbXBsZSxcbiAgXCJoYW5kc2hha2UtYWx0XCI6ICRmYS12YXItaGFuZHNoYWtlLWFsdCxcbiAgXCJqZXQtZmlnaHRlclwiOiAkZmEtdmFyLWpldC1maWdodGVyLFxuICBcImZpZ2h0ZXItamV0XCI6ICRmYS12YXItZmlnaHRlci1qZXQsXG4gIFwic3F1YXJlLXNoYXJlLW5vZGVzXCI6ICRmYS12YXItc3F1YXJlLXNoYXJlLW5vZGVzLFxuICBcInNoYXJlLWFsdC1zcXVhcmVcIjogJGZhLXZhci1zaGFyZS1hbHQtc3F1YXJlLFxuICBcImJhcmNvZGVcIjogJGZhLXZhci1iYXJjb2RlLFxuICBcInBsdXMtbWludXNcIjogJGZhLXZhci1wbHVzLW1pbnVzLFxuICBcInZpZGVvXCI6ICRmYS12YXItdmlkZW8sXG4gIFwidmlkZW8tY2FtZXJhXCI6ICRmYS12YXItdmlkZW8tY2FtZXJhLFxuICBcImdyYWR1YXRpb24tY2FwXCI6ICRmYS12YXItZ3JhZHVhdGlvbi1jYXAsXG4gIFwibW9ydGFyLWJvYXJkXCI6ICRmYS12YXItbW9ydGFyLWJvYXJkLFxuICBcImhhbmQtaG9sZGluZy1tZWRpY2FsXCI6ICRmYS12YXItaGFuZC1ob2xkaW5nLW1lZGljYWwsXG4gIFwicGVyc29uLWNpcmNsZS1jaGVja1wiOiAkZmEtdmFyLXBlcnNvbi1jaXJjbGUtY2hlY2ssXG4gIFwidHVybi11cFwiOiAkZmEtdmFyLXR1cm4tdXAsXG4gIFwibGV2ZWwtdXAtYWx0XCI6ICRmYS12YXItbGV2ZWwtdXAtYWx0LFxuKTtcblxuJGZhLWJyYW5kLWljb25zOiAoXG4gIFwibW9uZXJvXCI6ICRmYS12YXItbW9uZXJvLFxuICBcImhvb2xpXCI6ICRmYS12YXItaG9vbGksXG4gIFwieWVscFwiOiAkZmEtdmFyLXllbHAsXG4gIFwiY2MtdmlzYVwiOiAkZmEtdmFyLWNjLXZpc2EsXG4gIFwibGFzdGZtXCI6ICRmYS12YXItbGFzdGZtLFxuICBcInNob3B3YXJlXCI6ICRmYS12YXItc2hvcHdhcmUsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1uY1wiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtbmMsXG4gIFwiYXdzXCI6ICRmYS12YXItYXdzLFxuICBcInJlZGhhdFwiOiAkZmEtdmFyLXJlZGhhdCxcbiAgXCJ5b2FzdFwiOiAkZmEtdmFyLXlvYXN0LFxuICBcImNsb3VkZmxhcmVcIjogJGZhLXZhci1jbG91ZGZsYXJlLFxuICBcInVwc1wiOiAkZmEtdmFyLXVwcyxcbiAgXCJwaXhpdlwiOiAkZmEtdmFyLXBpeGl2LFxuICBcIndwZXhwbG9yZXJcIjogJGZhLXZhci13cGV4cGxvcmVyLFxuICBcImR5YWxvZ1wiOiAkZmEtdmFyLWR5YWxvZyxcbiAgXCJiaXR5XCI6ICRmYS12YXItYml0eSxcbiAgXCJzdGFja3BhdGhcIjogJGZhLXZhci1zdGFja3BhdGgsXG4gIFwiYnV5c2VsbGFkc1wiOiAkZmEtdmFyLWJ1eXNlbGxhZHMsXG4gIFwiZmlyc3Qtb3JkZXJcIjogJGZhLXZhci1maXJzdC1vcmRlcixcbiAgXCJtb2R4XCI6ICRmYS12YXItbW9keCxcbiAgXCJndWlsZGVkXCI6ICRmYS12YXItZ3VpbGRlZCxcbiAgXCJ2bnZcIjogJGZhLXZhci12bnYsXG4gIFwic3F1YXJlLWpzXCI6ICRmYS12YXItc3F1YXJlLWpzLFxuICBcImpzLXNxdWFyZVwiOiAkZmEtdmFyLWpzLXNxdWFyZSxcbiAgXCJtaWNyb3NvZnRcIjogJGZhLXZhci1taWNyb3NvZnQsXG4gIFwicXFcIjogJGZhLXZhci1xcSxcbiAgXCJvcmNpZFwiOiAkZmEtdmFyLW9yY2lkLFxuICBcImphdmFcIjogJGZhLXZhci1qYXZhLFxuICBcImludmlzaW9uXCI6ICRmYS12YXItaW52aXNpb24sXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1wZC1hbHRcIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXBkLWFsdCxcbiAgXCJjZW50ZXJjb2RlXCI6ICRmYS12YXItY2VudGVyY29kZSxcbiAgXCJnbGlkZS1nXCI6ICRmYS12YXItZ2xpZGUtZyxcbiAgXCJkcnVwYWxcIjogJGZhLXZhci1kcnVwYWwsXG4gIFwiaGlyZS1hLWhlbHBlclwiOiAkZmEtdmFyLWhpcmUtYS1oZWxwZXIsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1ieVwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtYnksXG4gIFwidW5pdHlcIjogJGZhLXZhci11bml0eSxcbiAgXCJ3aG1jc1wiOiAkZmEtdmFyLXdobWNzLFxuICBcInJvY2tldGNoYXRcIjogJGZhLXZhci1yb2NrZXRjaGF0LFxuICBcInZrXCI6ICRmYS12YXItdmssXG4gIFwidW50YXBwZFwiOiAkZmEtdmFyLXVudGFwcGQsXG4gIFwibWFpbGNoaW1wXCI6ICRmYS12YXItbWFpbGNoaW1wLFxuICBcImNzczMtYWx0XCI6ICRmYS12YXItY3NzMy1hbHQsXG4gIFwic3F1YXJlLXJlZGRpdFwiOiAkZmEtdmFyLXNxdWFyZS1yZWRkaXQsXG4gIFwicmVkZGl0LXNxdWFyZVwiOiAkZmEtdmFyLXJlZGRpdC1zcXVhcmUsXG4gIFwidmltZW8tdlwiOiAkZmEtdmFyLXZpbWVvLXYsXG4gIFwiY29udGFvXCI6ICRmYS12YXItY29udGFvLFxuICBcInNxdWFyZS1mb250LWF3ZXNvbWVcIjogJGZhLXZhci1zcXVhcmUtZm9udC1hd2Vzb21lLFxuICBcImRlc2twcm9cIjogJGZhLXZhci1kZXNrcHJvLFxuICBcImJyYXZlXCI6ICRmYS12YXItYnJhdmUsXG4gIFwic2lzdHJpeFwiOiAkZmEtdmFyLXNpc3RyaXgsXG4gIFwic3F1YXJlLWluc3RhZ3JhbVwiOiAkZmEtdmFyLXNxdWFyZS1pbnN0YWdyYW0sXG4gIFwiaW5zdGFncmFtLXNxdWFyZVwiOiAkZmEtdmFyLWluc3RhZ3JhbS1zcXVhcmUsXG4gIFwiYmF0dGxlLW5ldFwiOiAkZmEtdmFyLWJhdHRsZS1uZXQsXG4gIFwidGhlLXJlZC15ZXRpXCI6ICRmYS12YXItdGhlLXJlZC15ZXRpLFxuICBcInNxdWFyZS1oYWNrZXItbmV3c1wiOiAkZmEtdmFyLXNxdWFyZS1oYWNrZXItbmV3cyxcbiAgXCJoYWNrZXItbmV3cy1zcXVhcmVcIjogJGZhLXZhci1oYWNrZXItbmV3cy1zcXVhcmUsXG4gIFwiZWRnZVwiOiAkZmEtdmFyLWVkZ2UsXG4gIFwidGhyZWFkc1wiOiAkZmEtdmFyLXRocmVhZHMsXG4gIFwibmFwc3RlclwiOiAkZmEtdmFyLW5hcHN0ZXIsXG4gIFwic3F1YXJlLXNuYXBjaGF0XCI6ICRmYS12YXItc3F1YXJlLXNuYXBjaGF0LFxuICBcInNuYXBjaGF0LXNxdWFyZVwiOiAkZmEtdmFyLXNuYXBjaGF0LXNxdWFyZSxcbiAgXCJnb29nbGUtcGx1cy1nXCI6ICRmYS12YXItZ29vZ2xlLXBsdXMtZyxcbiAgXCJhcnRzdGF0aW9uXCI6ICRmYS12YXItYXJ0c3RhdGlvbixcbiAgXCJtYXJrZG93blwiOiAkZmEtdmFyLW1hcmtkb3duLFxuICBcInNvdXJjZXRyZWVcIjogJGZhLXZhci1zb3VyY2V0cmVlLFxuICBcImdvb2dsZS1wbHVzXCI6ICRmYS12YXItZ29vZ2xlLXBsdXMsXG4gIFwiZGlhc3BvcmFcIjogJGZhLXZhci1kaWFzcG9yYSxcbiAgXCJmb3Vyc3F1YXJlXCI6ICRmYS12YXItZm91cnNxdWFyZSxcbiAgXCJzdGFjay1vdmVyZmxvd1wiOiAkZmEtdmFyLXN0YWNrLW92ZXJmbG93LFxuICBcImdpdGh1Yi1hbHRcIjogJGZhLXZhci1naXRodWItYWx0LFxuICBcInBob2VuaXgtc3F1YWRyb25cIjogJGZhLXZhci1waG9lbml4LXNxdWFkcm9uLFxuICBcInBhZ2VsaW5lc1wiOiAkZmEtdmFyLXBhZ2VsaW5lcyxcbiAgXCJhbGdvbGlhXCI6ICRmYS12YXItYWxnb2xpYSxcbiAgXCJyZWQtcml2ZXJcIjogJGZhLXZhci1yZWQtcml2ZXIsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1zYVwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2EsXG4gIFwic2FmYXJpXCI6ICRmYS12YXItc2FmYXJpLFxuICBcImdvb2dsZVwiOiAkZmEtdmFyLWdvb2dsZSxcbiAgXCJzcXVhcmUtZm9udC1hd2Vzb21lLXN0cm9rZVwiOiAkZmEtdmFyLXNxdWFyZS1mb250LWF3ZXNvbWUtc3Ryb2tlLFxuICBcImZvbnQtYXdlc29tZS1hbHRcIjogJGZhLXZhci1mb250LWF3ZXNvbWUtYWx0LFxuICBcImF0bGFzc2lhblwiOiAkZmEtdmFyLWF0bGFzc2lhbixcbiAgXCJsaW5rZWRpbi1pblwiOiAkZmEtdmFyLWxpbmtlZGluLWluLFxuICBcImRpZ2l0YWwtb2NlYW5cIjogJGZhLXZhci1kaWdpdGFsLW9jZWFuLFxuICBcIm5pbWJsclwiOiAkZmEtdmFyLW5pbWJscixcbiAgXCJjaHJvbWVjYXN0XCI6ICRmYS12YXItY2hyb21lY2FzdCxcbiAgXCJldmVybm90ZVwiOiAkZmEtdmFyLWV2ZXJub3RlLFxuICBcImhhY2tlci1uZXdzXCI6ICRmYS12YXItaGFja2VyLW5ld3MsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZ1wiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2FtcGxpbmcsXG4gIFwiYWR2ZXJzYWxcIjogJGZhLXZhci1hZHZlcnNhbCxcbiAgXCJjcmVhdGl2ZS1jb21tb25zXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucyxcbiAgXCJ3YXRjaG1hbi1tb25pdG9yaW5nXCI6ICRmYS12YXItd2F0Y2htYW4tbW9uaXRvcmluZyxcbiAgXCJmb250aWNvbnNcIjogJGZhLXZhci1mb250aWNvbnMsXG4gIFwid2VpeGluXCI6ICRmYS12YXItd2VpeGluLFxuICBcInNoaXJ0c2luYnVsa1wiOiAkZmEtdmFyLXNoaXJ0c2luYnVsayxcbiAgXCJjb2RlcGVuXCI6ICRmYS12YXItY29kZXBlbixcbiAgXCJnaXQtYWx0XCI6ICRmYS12YXItZ2l0LWFsdCxcbiAgXCJseWZ0XCI6ICRmYS12YXItbHlmdCxcbiAgXCJyZXZcIjogJGZhLXZhci1yZXYsXG4gIFwid2luZG93c1wiOiAkZmEtdmFyLXdpbmRvd3MsXG4gIFwid2l6YXJkcy1vZi10aGUtY29hc3RcIjogJGZhLXZhci13aXphcmRzLW9mLXRoZS1jb2FzdCxcbiAgXCJzcXVhcmUtdmlhZGVvXCI6ICRmYS12YXItc3F1YXJlLXZpYWRlbyxcbiAgXCJ2aWFkZW8tc3F1YXJlXCI6ICRmYS12YXItdmlhZGVvLXNxdWFyZSxcbiAgXCJtZWV0dXBcIjogJGZhLXZhci1tZWV0dXAsXG4gIFwiY2VudG9zXCI6ICRmYS12YXItY2VudG9zLFxuICBcImFkblwiOiAkZmEtdmFyLWFkbixcbiAgXCJjbG91ZHNtaXRoXCI6ICRmYS12YXItY2xvdWRzbWl0aCxcbiAgXCJvcGVuc3VzZVwiOiAkZmEtdmFyLW9wZW5zdXNlLFxuICBcInBpZWQtcGlwZXItYWx0XCI6ICRmYS12YXItcGllZC1waXBlci1hbHQsXG4gIFwic3F1YXJlLWRyaWJiYmxlXCI6ICRmYS12YXItc3F1YXJlLWRyaWJiYmxlLFxuICBcImRyaWJiYmxlLXNxdWFyZVwiOiAkZmEtdmFyLWRyaWJiYmxlLXNxdWFyZSxcbiAgXCJjb2RpZXBpZVwiOiAkZmEtdmFyLWNvZGllcGllLFxuICBcIm5vZGVcIjogJGZhLXZhci1ub2RlLFxuICBcIm1peFwiOiAkZmEtdmFyLW1peCxcbiAgXCJzdGVhbVwiOiAkZmEtdmFyLXN0ZWFtLFxuICBcImNjLWFwcGxlLXBheVwiOiAkZmEtdmFyLWNjLWFwcGxlLXBheSxcbiAgXCJzY3JpYmRcIjogJGZhLXZhci1zY3JpYmQsXG4gIFwiZGViaWFuXCI6ICRmYS12YXItZGViaWFuLFxuICBcIm9wZW5pZFwiOiAkZmEtdmFyLW9wZW5pZCxcbiAgXCJpbnN0YWxvZFwiOiAkZmEtdmFyLWluc3RhbG9kLFxuICBcImV4cGVkaXRlZHNzbFwiOiAkZmEtdmFyLWV4cGVkaXRlZHNzbCxcbiAgXCJzZWxsY2FzdFwiOiAkZmEtdmFyLXNlbGxjYXN0LFxuICBcInNxdWFyZS10d2l0dGVyXCI6ICRmYS12YXItc3F1YXJlLXR3aXR0ZXIsXG4gIFwidHdpdHRlci1zcXVhcmVcIjogJGZhLXZhci10d2l0dGVyLXNxdWFyZSxcbiAgXCJyLXByb2plY3RcIjogJGZhLXZhci1yLXByb2plY3QsXG4gIFwiZGVsaWNpb3VzXCI6ICRmYS12YXItZGVsaWNpb3VzLFxuICBcImZyZWVic2RcIjogJGZhLXZhci1mcmVlYnNkLFxuICBcInZ1ZWpzXCI6ICRmYS12YXItdnVlanMsXG4gIFwiYWNjdXNvZnRcIjogJGZhLXZhci1hY2N1c29mdCxcbiAgXCJpb3hob3N0XCI6ICRmYS12YXItaW94aG9zdCxcbiAgXCJmb250aWNvbnMtZmlcIjogJGZhLXZhci1mb250aWNvbnMtZmksXG4gIFwiYXBwLXN0b3JlXCI6ICRmYS12YXItYXBwLXN0b3JlLFxuICBcImNjLW1hc3RlcmNhcmRcIjogJGZhLXZhci1jYy1tYXN0ZXJjYXJkLFxuICBcIml0dW5lcy1ub3RlXCI6ICRmYS12YXItaXR1bmVzLW5vdGUsXG4gIFwiZ29sYW5nXCI6ICRmYS12YXItZ29sYW5nLFxuICBcImtpY2tzdGFydGVyXCI6ICRmYS12YXIta2lja3N0YXJ0ZXIsXG4gIFwiZ3JhdlwiOiAkZmEtdmFyLWdyYXYsXG4gIFwid2VpYm9cIjogJGZhLXZhci13ZWlibyxcbiAgXCJ1bmNoYXJ0ZWRcIjogJGZhLXZhci11bmNoYXJ0ZWQsXG4gIFwiZmlyc3RkcmFmdFwiOiAkZmEtdmFyLWZpcnN0ZHJhZnQsXG4gIFwic3F1YXJlLXlvdXR1YmVcIjogJGZhLXZhci1zcXVhcmUteW91dHViZSxcbiAgXCJ5b3V0dWJlLXNxdWFyZVwiOiAkZmEtdmFyLXlvdXR1YmUtc3F1YXJlLFxuICBcIndpa2lwZWRpYS13XCI6ICRmYS12YXItd2lraXBlZGlhLXcsXG4gIFwid3ByZXNzclwiOiAkZmEtdmFyLXdwcmVzc3IsXG4gIFwicmVuZGFjdFwiOiAkZmEtdmFyLXJlbmRhY3QsXG4gIFwiYW5nZWxsaXN0XCI6ICRmYS12YXItYW5nZWxsaXN0LFxuICBcImdhbGFjdGljLXJlcHVibGljXCI6ICRmYS12YXItZ2FsYWN0aWMtcmVwdWJsaWMsXG4gIFwibmZjLWRpcmVjdGlvbmFsXCI6ICRmYS12YXItbmZjLWRpcmVjdGlvbmFsLFxuICBcInNreXBlXCI6ICRmYS12YXItc2t5cGUsXG4gIFwiam9nZXRcIjogJGZhLXZhci1qb2dldCxcbiAgXCJmZWRvcmFcIjogJGZhLXZhci1mZWRvcmEsXG4gIFwic3RyaXBlLXNcIjogJGZhLXZhci1zdHJpcGUtcyxcbiAgXCJtZXRhXCI6ICRmYS12YXItbWV0YSxcbiAgXCJsYXJhdmVsXCI6ICRmYS12YXItbGFyYXZlbCxcbiAgXCJob3RqYXJcIjogJGZhLXZhci1ob3RqYXIsXG4gIFwiYmx1ZXRvb3RoLWJcIjogJGZhLXZhci1ibHVldG9vdGgtYixcbiAgXCJzcXVhcmUtbGV0dGVyYm94ZFwiOiAkZmEtdmFyLXNxdWFyZS1sZXR0ZXJib3hkLFxuICBcInN0aWNrZXItbXVsZVwiOiAkZmEtdmFyLXN0aWNrZXItbXVsZSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXplcm9cIjogJGZhLXZhci1jcmVhdGl2ZS1jb21tb25zLXplcm8sXG4gIFwiaGlwc1wiOiAkZmEtdmFyLWhpcHMsXG4gIFwiYmVoYW5jZVwiOiAkZmEtdmFyLWJlaGFuY2UsXG4gIFwicmVkZGl0XCI6ICRmYS12YXItcmVkZGl0LFxuICBcImRpc2NvcmRcIjogJGZhLXZhci1kaXNjb3JkLFxuICBcImNocm9tZVwiOiAkZmEtdmFyLWNocm9tZSxcbiAgXCJhcHAtc3RvcmUtaW9zXCI6ICRmYS12YXItYXBwLXN0b3JlLWlvcyxcbiAgXCJjYy1kaXNjb3ZlclwiOiAkZmEtdmFyLWNjLWRpc2NvdmVyLFxuICBcIndwYmVnaW5uZXJcIjogJGZhLXZhci13cGJlZ2lubmVyLFxuICBcImNvbmZsdWVuY2VcIjogJGZhLXZhci1jb25mbHVlbmNlLFxuICBcInNob2VsYWNlXCI6ICRmYS12YXItc2hvZWxhY2UsXG4gIFwibWRiXCI6ICRmYS12YXItbWRiLFxuICBcImRvY2h1YlwiOiAkZmEtdmFyLWRvY2h1YixcbiAgXCJhY2Nlc3NpYmxlLWljb25cIjogJGZhLXZhci1hY2Nlc3NpYmxlLWljb24sXG4gIFwiZWJheVwiOiAkZmEtdmFyLWViYXksXG4gIFwiYW1hem9uXCI6ICRmYS12YXItYW1hem9uLFxuICBcInVuc3BsYXNoXCI6ICRmYS12YXItdW5zcGxhc2gsXG4gIFwieWFyblwiOiAkZmEtdmFyLXlhcm4sXG4gIFwic3F1YXJlLXN0ZWFtXCI6ICRmYS12YXItc3F1YXJlLXN0ZWFtLFxuICBcInN0ZWFtLXNxdWFyZVwiOiAkZmEtdmFyLXN0ZWFtLXNxdWFyZSxcbiAgXCI1MDBweFwiOiAkZmEtdmFyLTUwMHB4LFxuICBcInNxdWFyZS12aW1lb1wiOiAkZmEtdmFyLXNxdWFyZS12aW1lbyxcbiAgXCJ2aW1lby1zcXVhcmVcIjogJGZhLXZhci12aW1lby1zcXVhcmUsXG4gIFwiYXN5bW1ldHJpa1wiOiAkZmEtdmFyLWFzeW1tZXRyaWssXG4gIFwiZm9udC1hd2Vzb21lXCI6ICRmYS12YXItZm9udC1hd2Vzb21lLFxuICBcImZvbnQtYXdlc29tZS1mbGFnXCI6ICRmYS12YXItZm9udC1hd2Vzb21lLWZsYWcsXG4gIFwiZm9udC1hd2Vzb21lLWxvZ28tZnVsbFwiOiAkZmEtdmFyLWZvbnQtYXdlc29tZS1sb2dvLWZ1bGwsXG4gIFwiZ3JhdGlwYXlcIjogJGZhLXZhci1ncmF0aXBheSxcbiAgXCJhcHBsZVwiOiAkZmEtdmFyLWFwcGxlLFxuICBcImhpdmVcIjogJGZhLXZhci1oaXZlLFxuICBcImdpdGtyYWtlblwiOiAkZmEtdmFyLWdpdGtyYWtlbixcbiAgXCJrZXliYXNlXCI6ICRmYS12YXIta2V5YmFzZSxcbiAgXCJhcHBsZS1wYXlcIjogJGZhLXZhci1hcHBsZS1wYXksXG4gIFwicGFkbGV0XCI6ICRmYS12YXItcGFkbGV0LFxuICBcImFtYXpvbi1wYXlcIjogJGZhLXZhci1hbWF6b24tcGF5LFxuICBcInNxdWFyZS1naXRodWJcIjogJGZhLXZhci1zcXVhcmUtZ2l0aHViLFxuICBcImdpdGh1Yi1zcXVhcmVcIjogJGZhLXZhci1naXRodWItc3F1YXJlLFxuICBcInN0dW1ibGV1cG9uXCI6ICRmYS12YXItc3R1bWJsZXVwb24sXG4gIFwiZmVkZXhcIjogJGZhLXZhci1mZWRleCxcbiAgXCJwaG9lbml4LWZyYW1ld29ya1wiOiAkZmEtdmFyLXBob2VuaXgtZnJhbWV3b3JrLFxuICBcInNob3BpZnlcIjogJGZhLXZhci1zaG9waWZ5LFxuICBcIm5lb3NcIjogJGZhLXZhci1uZW9zLFxuICBcInNxdWFyZS10aHJlYWRzXCI6ICRmYS12YXItc3F1YXJlLXRocmVhZHMsXG4gIFwiaGFja2VycmFua1wiOiAkZmEtdmFyLWhhY2tlcnJhbmssXG4gIFwicmVzZWFyY2hnYXRlXCI6ICRmYS12YXItcmVzZWFyY2hnYXRlLFxuICBcInN3aWZ0XCI6ICRmYS12YXItc3dpZnQsXG4gIFwiYW5ndWxhclwiOiAkZmEtdmFyLWFuZ3VsYXIsXG4gIFwic3BlYWthcFwiOiAkZmEtdmFyLXNwZWFrYXAsXG4gIFwiYW5ncnljcmVhdGl2ZVwiOiAkZmEtdmFyLWFuZ3J5Y3JlYXRpdmUsXG4gIFwieS1jb21iaW5hdG9yXCI6ICRmYS12YXIteS1jb21iaW5hdG9yLFxuICBcImVtcGlyZVwiOiAkZmEtdmFyLWVtcGlyZSxcbiAgXCJlbnZpcmFcIjogJGZhLXZhci1lbnZpcmEsXG4gIFwiZ29vZ2xlLXNjaG9sYXJcIjogJGZhLXZhci1nb29nbGUtc2Nob2xhcixcbiAgXCJzcXVhcmUtZ2l0bGFiXCI6ICRmYS12YXItc3F1YXJlLWdpdGxhYixcbiAgXCJnaXRsYWItc3F1YXJlXCI6ICRmYS12YXItZ2l0bGFiLXNxdWFyZSxcbiAgXCJzdHVkaW92aW5hcmlcIjogJGZhLXZhci1zdHVkaW92aW5hcmksXG4gIFwicGllZC1waXBlclwiOiAkZmEtdmFyLXBpZWQtcGlwZXIsXG4gIFwid29yZHByZXNzXCI6ICRmYS12YXItd29yZHByZXNzLFxuICBcInByb2R1Y3QtaHVudFwiOiAkZmEtdmFyLXByb2R1Y3QtaHVudCxcbiAgXCJmaXJlZm94XCI6ICRmYS12YXItZmlyZWZveCxcbiAgXCJsaW5vZGVcIjogJGZhLXZhci1saW5vZGUsXG4gIFwiZ29vZHJlYWRzXCI6ICRmYS12YXItZ29vZHJlYWRzLFxuICBcInNxdWFyZS1vZG5va2xhc3NuaWtpXCI6ICRmYS12YXItc3F1YXJlLW9kbm9rbGFzc25pa2ksXG4gIFwib2Rub2tsYXNzbmlraS1zcXVhcmVcIjogJGZhLXZhci1vZG5va2xhc3NuaWtpLXNxdWFyZSxcbiAgXCJqc2ZpZGRsZVwiOiAkZmEtdmFyLWpzZmlkZGxlLFxuICBcInNpdGhcIjogJGZhLXZhci1zaXRoLFxuICBcInRoZW1laXNsZVwiOiAkZmEtdmFyLXRoZW1laXNsZSxcbiAgXCJwYWdlNFwiOiAkZmEtdmFyLXBhZ2U0LFxuICBcImhhc2hub2RlXCI6ICRmYS12YXItaGFzaG5vZGUsXG4gIFwicmVhY3RcIjogJGZhLXZhci1yZWFjdCxcbiAgXCJjYy1wYXlwYWxcIjogJGZhLXZhci1jYy1wYXlwYWwsXG4gIFwic3F1YXJlc3BhY2VcIjogJGZhLXZhci1zcXVhcmVzcGFjZSxcbiAgXCJjYy1zdHJpcGVcIjogJGZhLXZhci1jYy1zdHJpcGUsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1zaGFyZVwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtc2hhcmUsXG4gIFwiYml0Y29pblwiOiAkZmEtdmFyLWJpdGNvaW4sXG4gIFwia2V5Y2RuXCI6ICRmYS12YXIta2V5Y2RuLFxuICBcIm9wZXJhXCI6ICRmYS12YXItb3BlcmEsXG4gIFwiaXRjaC1pb1wiOiAkZmEtdmFyLWl0Y2gtaW8sXG4gIFwidW1icmFjb1wiOiAkZmEtdmFyLXVtYnJhY28sXG4gIFwiZ2FsYWN0aWMtc2VuYXRlXCI6ICRmYS12YXItZ2FsYWN0aWMtc2VuYXRlLFxuICBcInVidW50dVwiOiAkZmEtdmFyLXVidW50dSxcbiAgXCJkcmFmdDJkaWdpdGFsXCI6ICRmYS12YXItZHJhZnQyZGlnaXRhbCxcbiAgXCJzdHJpcGVcIjogJGZhLXZhci1zdHJpcGUsXG4gIFwiaG91enpcIjogJGZhLXZhci1ob3V6eixcbiAgXCJnZ1wiOiAkZmEtdmFyLWdnLFxuICBcImRobFwiOiAkZmEtdmFyLWRobCxcbiAgXCJzcXVhcmUtcGludGVyZXN0XCI6ICRmYS12YXItc3F1YXJlLXBpbnRlcmVzdCxcbiAgXCJwaW50ZXJlc3Qtc3F1YXJlXCI6ICRmYS12YXItcGludGVyZXN0LXNxdWFyZSxcbiAgXCJ4aW5nXCI6ICRmYS12YXIteGluZyxcbiAgXCJibGFja2JlcnJ5XCI6ICRmYS12YXItYmxhY2tiZXJyeSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLXBkXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1wZCxcbiAgXCJwbGF5c3RhdGlvblwiOiAkZmEtdmFyLXBsYXlzdGF0aW9uLFxuICBcInF1aW5zY2FwZVwiOiAkZmEtdmFyLXF1aW5zY2FwZSxcbiAgXCJsZXNzXCI6ICRmYS12YXItbGVzcyxcbiAgXCJibG9nZ2VyLWJcIjogJGZhLXZhci1ibG9nZ2VyLWIsXG4gIFwib3BlbmNhcnRcIjogJGZhLXZhci1vcGVuY2FydCxcbiAgXCJ2aW5lXCI6ICRmYS12YXItdmluZSxcbiAgXCJzaWduYWwtbWVzc2VuZ2VyXCI6ICRmYS12YXItc2lnbmFsLW1lc3NlbmdlcixcbiAgXCJwYXlwYWxcIjogJGZhLXZhci1wYXlwYWwsXG4gIFwiZ2l0bGFiXCI6ICRmYS12YXItZ2l0bGFiLFxuICBcInR5cG8zXCI6ICRmYS12YXItdHlwbzMsXG4gIFwicmVkZGl0LWFsaWVuXCI6ICRmYS12YXItcmVkZGl0LWFsaWVuLFxuICBcInlhaG9vXCI6ICRmYS12YXIteWFob28sXG4gIFwiZGFpbHltb3Rpb25cIjogJGZhLXZhci1kYWlseW1vdGlvbixcbiAgXCJhZmZpbGlhdGV0aGVtZVwiOiAkZmEtdmFyLWFmZmlsaWF0ZXRoZW1lLFxuICBcInBpZWQtcGlwZXItcHBcIjogJGZhLXZhci1waWVkLXBpcGVyLXBwLFxuICBcImJvb3RzdHJhcFwiOiAkZmEtdmFyLWJvb3RzdHJhcCxcbiAgXCJvZG5va2xhc3NuaWtpXCI6ICRmYS12YXItb2Rub2tsYXNzbmlraSxcbiAgXCJuZmMtc3ltYm9sXCI6ICRmYS12YXItbmZjLXN5bWJvbCxcbiAgXCJtaW50Yml0XCI6ICRmYS12YXItbWludGJpdCxcbiAgXCJldGhlcmV1bVwiOiAkZmEtdmFyLWV0aGVyZXVtLFxuICBcInNwZWFrZXItZGVja1wiOiAkZmEtdmFyLXNwZWFrZXItZGVjayxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLW5jLWV1XCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1ldSxcbiAgXCJwYXRyZW9uXCI6ICRmYS12YXItcGF0cmVvbixcbiAgXCJhdmlhbmV4XCI6ICRmYS12YXItYXZpYW5leCxcbiAgXCJlbGxvXCI6ICRmYS12YXItZWxsbyxcbiAgXCJnb2ZvcmVcIjogJGZhLXZhci1nb2ZvcmUsXG4gIFwiYmltb2JqZWN0XCI6ICRmYS12YXItYmltb2JqZWN0LFxuICBcImJyYXZlLXJldmVyc2VcIjogJGZhLXZhci1icmF2ZS1yZXZlcnNlLFxuICBcImZhY2Vib29rLWZcIjogJGZhLXZhci1mYWNlYm9vay1mLFxuICBcInNxdWFyZS1nb29nbGUtcGx1c1wiOiAkZmEtdmFyLXNxdWFyZS1nb29nbGUtcGx1cyxcbiAgXCJnb29nbGUtcGx1cy1zcXVhcmVcIjogJGZhLXZhci1nb29nbGUtcGx1cy1zcXVhcmUsXG4gIFwibWFuZGFsb3JpYW5cIjogJGZhLXZhci1tYW5kYWxvcmlhbixcbiAgXCJmaXJzdC1vcmRlci1hbHRcIjogJGZhLXZhci1maXJzdC1vcmRlci1hbHQsXG4gIFwib3NpXCI6ICRmYS12YXItb3NpLFxuICBcImdvb2dsZS13YWxsZXRcIjogJGZhLXZhci1nb29nbGUtd2FsbGV0LFxuICBcImQtYW5kLWQtYmV5b25kXCI6ICRmYS12YXItZC1hbmQtZC1iZXlvbmQsXG4gIFwicGVyaXNjb3BlXCI6ICRmYS12YXItcGVyaXNjb3BlLFxuICBcImZ1bGNydW1cIjogJGZhLXZhci1mdWxjcnVtLFxuICBcImNsb3Vkc2NhbGVcIjogJGZhLXZhci1jbG91ZHNjYWxlLFxuICBcImZvcnVtYmVlXCI6ICRmYS12YXItZm9ydW1iZWUsXG4gIFwibWl6dW5pXCI6ICRmYS12YXItbWl6dW5pLFxuICBcInNjaGxpeFwiOiAkZmEtdmFyLXNjaGxpeCxcbiAgXCJzcXVhcmUteGluZ1wiOiAkZmEtdmFyLXNxdWFyZS14aW5nLFxuICBcInhpbmctc3F1YXJlXCI6ICRmYS12YXIteGluZy1zcXVhcmUsXG4gIFwiYmFuZGNhbXBcIjogJGZhLXZhci1iYW5kY2FtcCxcbiAgXCJ3cGZvcm1zXCI6ICRmYS12YXItd3Bmb3JtcyxcbiAgXCJjbG91ZHZlcnNpZnlcIjogJGZhLXZhci1jbG91ZHZlcnNpZnksXG4gIFwidXNwc1wiOiAkZmEtdmFyLXVzcHMsXG4gIFwibWVnYXBvcnRcIjogJGZhLXZhci1tZWdhcG9ydCxcbiAgXCJtYWdlbnRvXCI6ICRmYS12YXItbWFnZW50byxcbiAgXCJzcG90aWZ5XCI6ICRmYS12YXItc3BvdGlmeSxcbiAgXCJvcHRpbi1tb25zdGVyXCI6ICRmYS12YXItb3B0aW4tbW9uc3RlcixcbiAgXCJmbHlcIjogJGZhLXZhci1mbHksXG4gIFwiYXZpYXRvXCI6ICRmYS12YXItYXZpYXRvLFxuICBcIml0dW5lc1wiOiAkZmEtdmFyLWl0dW5lcyxcbiAgXCJjdXR0bGVmaXNoXCI6ICRmYS12YXItY3V0dGxlZmlzaCxcbiAgXCJibG9nZ2VyXCI6ICRmYS12YXItYmxvZ2dlcixcbiAgXCJmbGlja3JcIjogJGZhLXZhci1mbGlja3IsXG4gIFwidmliZXJcIjogJGZhLXZhci12aWJlcixcbiAgXCJzb3VuZGNsb3VkXCI6ICRmYS12YXItc291bmRjbG91ZCxcbiAgXCJkaWdnXCI6ICRmYS12YXItZGlnZyxcbiAgXCJ0ZW5jZW50LXdlaWJvXCI6ICRmYS12YXItdGVuY2VudC13ZWlibyxcbiAgXCJsZXR0ZXJib3hkXCI6ICRmYS12YXItbGV0dGVyYm94ZCxcbiAgXCJzeW1mb255XCI6ICRmYS12YXItc3ltZm9ueSxcbiAgXCJtYXhjZG5cIjogJGZhLXZhci1tYXhjZG4sXG4gIFwiZXRzeVwiOiAkZmEtdmFyLWV0c3ksXG4gIFwiZmFjZWJvb2stbWVzc2VuZ2VyXCI6ICRmYS12YXItZmFjZWJvb2stbWVzc2VuZ2VyLFxuICBcImF1ZGlibGVcIjogJGZhLXZhci1hdWRpYmxlLFxuICBcInRoaW5rLXBlYWtzXCI6ICRmYS12YXItdGhpbmstcGVha3MsXG4gIFwiYmlsaWJpbGlcIjogJGZhLXZhci1iaWxpYmlsaSxcbiAgXCJlcmxhbmdcIjogJGZhLXZhci1lcmxhbmcsXG4gIFwieC10d2l0dGVyXCI6ICRmYS12YXIteC10d2l0dGVyLFxuICBcImNvdHRvbi1idXJlYXVcIjogJGZhLXZhci1jb3R0b24tYnVyZWF1LFxuICBcImRhc2hjdWJlXCI6ICRmYS12YXItZGFzaGN1YmUsXG4gIFwiNDItZ3JvdXBcIjogJGZhLXZhci00Mi1ncm91cCxcbiAgXCJpbm5vc29mdFwiOiAkZmEtdmFyLWlubm9zb2Z0LFxuICBcInN0YWNrLWV4Y2hhbmdlXCI6ICRmYS12YXItc3RhY2stZXhjaGFuZ2UsXG4gIFwiZWxlbWVudG9yXCI6ICRmYS12YXItZWxlbWVudG9yLFxuICBcInNxdWFyZS1waWVkLXBpcGVyXCI6ICRmYS12YXItc3F1YXJlLXBpZWQtcGlwZXIsXG4gIFwicGllZC1waXBlci1zcXVhcmVcIjogJGZhLXZhci1waWVkLXBpcGVyLXNxdWFyZSxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLW5kXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uZCxcbiAgXCJwYWxmZWRcIjogJGZhLXZhci1wYWxmZWQsXG4gIFwic3VwZXJwb3dlcnNcIjogJGZhLXZhci1zdXBlcnBvd2VycyxcbiAgXCJyZXNvbHZpbmdcIjogJGZhLXZhci1yZXNvbHZpbmcsXG4gIFwieGJveFwiOiAkZmEtdmFyLXhib3gsXG4gIFwic2VhcmNoZW5naW5cIjogJGZhLXZhci1zZWFyY2hlbmdpbixcbiAgXCJ0aWt0b2tcIjogJGZhLXZhci10aWt0b2ssXG4gIFwic3F1YXJlLWZhY2Vib29rXCI6ICRmYS12YXItc3F1YXJlLWZhY2Vib29rLFxuICBcImZhY2Vib29rLXNxdWFyZVwiOiAkZmEtdmFyLWZhY2Vib29rLXNxdWFyZSxcbiAgXCJyZW5yZW5cIjogJGZhLXZhci1yZW5yZW4sXG4gIFwibGludXhcIjogJGZhLXZhci1saW51eCxcbiAgXCJnbGlkZVwiOiAkZmEtdmFyLWdsaWRlLFxuICBcImxpbmtlZGluXCI6ICRmYS12YXItbGlua2VkaW4sXG4gIFwiaHVic3BvdFwiOiAkZmEtdmFyLWh1YnNwb3QsXG4gIFwiZGVwbG95ZG9nXCI6ICRmYS12YXItZGVwbG95ZG9nLFxuICBcInR3aXRjaFwiOiAkZmEtdmFyLXR3aXRjaCxcbiAgXCJyYXZlbHJ5XCI6ICRmYS12YXItcmF2ZWxyeSxcbiAgXCJtaXhlclwiOiAkZmEtdmFyLW1peGVyLFxuICBcInNxdWFyZS1sYXN0Zm1cIjogJGZhLXZhci1zcXVhcmUtbGFzdGZtLFxuICBcImxhc3RmbS1zcXVhcmVcIjogJGZhLXZhci1sYXN0Zm0tc3F1YXJlLFxuICBcInZpbWVvXCI6ICRmYS12YXItdmltZW8sXG4gIFwibWVuZGVsZXlcIjogJGZhLXZhci1tZW5kZWxleSxcbiAgXCJ1bmlyZWdpc3RyeVwiOiAkZmEtdmFyLXVuaXJlZ2lzdHJ5LFxuICBcImZpZ21hXCI6ICRmYS12YXItZmlnbWEsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1yZW1peFwiOiAkZmEtdmFyLWNyZWF0aXZlLWNvbW1vbnMtcmVtaXgsXG4gIFwiY2MtYW1hem9uLXBheVwiOiAkZmEtdmFyLWNjLWFtYXpvbi1wYXksXG4gIFwiZHJvcGJveFwiOiAkZmEtdmFyLWRyb3Bib3gsXG4gIFwiaW5zdGFncmFtXCI6ICRmYS12YXItaW5zdGFncmFtLFxuICBcImNtcGxpZFwiOiAkZmEtdmFyLWNtcGxpZCxcbiAgXCJ1cHdvcmtcIjogJGZhLXZhci11cHdvcmssXG4gIFwiZmFjZWJvb2tcIjogJGZhLXZhci1mYWNlYm9vayxcbiAgXCJncmlwZmlyZVwiOiAkZmEtdmFyLWdyaXBmaXJlLFxuICBcImplZGktb3JkZXJcIjogJGZhLXZhci1qZWRpLW9yZGVyLFxuICBcInVpa2l0XCI6ICRmYS12YXItdWlraXQsXG4gIFwiZm9ydC1hd2Vzb21lLWFsdFwiOiAkZmEtdmFyLWZvcnQtYXdlc29tZS1hbHQsXG4gIFwicGhhYnJpY2F0b3JcIjogJGZhLXZhci1waGFicmljYXRvcixcbiAgXCJ1c3N1bm5haFwiOiAkZmEtdmFyLXVzc3VubmFoLFxuICBcImVhcmx5YmlyZHNcIjogJGZhLXZhci1lYXJseWJpcmRzLFxuICBcInRyYWRlLWZlZGVyYXRpb25cIjogJGZhLXZhci10cmFkZS1mZWRlcmF0aW9uLFxuICBcImF1dG9wcmVmaXhlclwiOiAkZmEtdmFyLWF1dG9wcmVmaXhlcixcbiAgXCJ3aGF0c2FwcFwiOiAkZmEtdmFyLXdoYXRzYXBwLFxuICBcInNsaWRlc2hhcmVcIjogJGZhLXZhci1zbGlkZXNoYXJlLFxuICBcImdvb2dsZS1wbGF5XCI6ICRmYS12YXItZ29vZ2xlLXBsYXksXG4gIFwidmlhZGVvXCI6ICRmYS12YXItdmlhZGVvLFxuICBcImxpbmVcIjogJGZhLXZhci1saW5lLFxuICBcImdvb2dsZS1kcml2ZVwiOiAkZmEtdmFyLWdvb2dsZS1kcml2ZSxcbiAgXCJzZXJ2aWNlc3RhY2tcIjogJGZhLXZhci1zZXJ2aWNlc3RhY2ssXG4gIFwic2ltcGx5YnVpbHRcIjogJGZhLXZhci1zaW1wbHlidWlsdCxcbiAgXCJiaXRidWNrZXRcIjogJGZhLXZhci1iaXRidWNrZXQsXG4gIFwiaW1kYlwiOiAkZmEtdmFyLWltZGIsXG4gIFwiZGVlemVyXCI6ICRmYS12YXItZGVlemVyLFxuICBcInJhc3BiZXJyeS1waVwiOiAkZmEtdmFyLXJhc3BiZXJyeS1waSxcbiAgXCJqaXJhXCI6ICRmYS12YXItamlyYSxcbiAgXCJkb2NrZXJcIjogJGZhLXZhci1kb2NrZXIsXG4gIFwic2NyZWVucGFsXCI6ICRmYS12YXItc2NyZWVucGFsLFxuICBcImJsdWV0b290aFwiOiAkZmEtdmFyLWJsdWV0b290aCxcbiAgXCJnaXR0ZXJcIjogJGZhLXZhci1naXR0ZXIsXG4gIFwiZC1hbmQtZFwiOiAkZmEtdmFyLWQtYW5kLWQsXG4gIFwibWljcm9ibG9nXCI6ICRmYS12YXItbWljcm9ibG9nLFxuICBcImNjLWRpbmVycy1jbHViXCI6ICRmYS12YXItY2MtZGluZXJzLWNsdWIsXG4gIFwiZ2ctY2lyY2xlXCI6ICRmYS12YXItZ2ctY2lyY2xlLFxuICBcInBpZWQtcGlwZXItaGF0XCI6ICRmYS12YXItcGllZC1waXBlci1oYXQsXG4gIFwia2lja3N0YXJ0ZXIta1wiOiAkZmEtdmFyLWtpY2tzdGFydGVyLWssXG4gIFwieWFuZGV4XCI6ICRmYS12YXIteWFuZGV4LFxuICBcInJlYWRtZVwiOiAkZmEtdmFyLXJlYWRtZSxcbiAgXCJodG1sNVwiOiAkZmEtdmFyLWh0bWw1LFxuICBcInNlbGxzeVwiOiAkZmEtdmFyLXNlbGxzeSxcbiAgXCJzYXNzXCI6ICRmYS12YXItc2FzcyxcbiAgXCJ3aXJzaW5kaGFuZHdlcmtcIjogJGZhLXZhci13aXJzaW5kaGFuZHdlcmssXG4gIFwid3NoXCI6ICRmYS12YXItd3NoLFxuICBcImJ1cm9tb2JlbGV4cGVydGVcIjogJGZhLXZhci1idXJvbW9iZWxleHBlcnRlLFxuICBcInNhbGVzZm9yY2VcIjogJGZhLXZhci1zYWxlc2ZvcmNlLFxuICBcIm9jdG9wdXMtZGVwbG95XCI6ICRmYS12YXItb2N0b3B1cy1kZXBsb3ksXG4gIFwibWVkYXBwc1wiOiAkZmEtdmFyLW1lZGFwcHMsXG4gIFwibnM4XCI6ICRmYS12YXItbnM4LFxuICBcInBpbnRlcmVzdC1wXCI6ICRmYS12YXItcGludGVyZXN0LXAsXG4gIFwiYXBwZXJcIjogJGZhLXZhci1hcHBlcixcbiAgXCJmb3J0LWF3ZXNvbWVcIjogJGZhLXZhci1mb3J0LWF3ZXNvbWUsXG4gIFwid2F6ZVwiOiAkZmEtdmFyLXdhemUsXG4gIFwiY2MtamNiXCI6ICRmYS12YXItY2MtamNiLFxuICBcInNuYXBjaGF0XCI6ICRmYS12YXItc25hcGNoYXQsXG4gIFwic25hcGNoYXQtZ2hvc3RcIjogJGZhLXZhci1zbmFwY2hhdC1naG9zdCxcbiAgXCJmYW50YXN5LWZsaWdodC1nYW1lc1wiOiAkZmEtdmFyLWZhbnRhc3ktZmxpZ2h0LWdhbWVzLFxuICBcInJ1c3RcIjogJGZhLXZhci1ydXN0LFxuICBcIndpeFwiOiAkZmEtdmFyLXdpeCxcbiAgXCJzcXVhcmUtYmVoYW5jZVwiOiAkZmEtdmFyLXNxdWFyZS1iZWhhbmNlLFxuICBcImJlaGFuY2Utc3F1YXJlXCI6ICRmYS12YXItYmVoYW5jZS1zcXVhcmUsXG4gIFwic3VwcGxlXCI6ICRmYS12YXItc3VwcGxlLFxuICBcIndlYmZsb3dcIjogJGZhLXZhci13ZWJmbG93LFxuICBcInJlYmVsXCI6ICRmYS12YXItcmViZWwsXG4gIFwiY3NzM1wiOiAkZmEtdmFyLWNzczMsXG4gIFwic3RheWxpbmtlZFwiOiAkZmEtdmFyLXN0YXlsaW5rZWQsXG4gIFwia2FnZ2xlXCI6ICRmYS12YXIta2FnZ2xlLFxuICBcInNwYWNlLWF3ZXNvbWVcIjogJGZhLXZhci1zcGFjZS1hd2Vzb21lLFxuICBcImRldmlhbnRhcnRcIjogJGZhLXZhci1kZXZpYW50YXJ0LFxuICBcImNwYW5lbFwiOiAkZmEtdmFyLWNwYW5lbCxcbiAgXCJnb29kcmVhZHMtZ1wiOiAkZmEtdmFyLWdvb2RyZWFkcy1nLFxuICBcInNxdWFyZS1naXRcIjogJGZhLXZhci1zcXVhcmUtZ2l0LFxuICBcImdpdC1zcXVhcmVcIjogJGZhLXZhci1naXQtc3F1YXJlLFxuICBcInNxdWFyZS10dW1ibHJcIjogJGZhLXZhci1zcXVhcmUtdHVtYmxyLFxuICBcInR1bWJsci1zcXVhcmVcIjogJGZhLXZhci10dW1ibHItc3F1YXJlLFxuICBcInRyZWxsb1wiOiAkZmEtdmFyLXRyZWxsbyxcbiAgXCJjcmVhdGl2ZS1jb21tb25zLW5jLWpwXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1uYy1qcCxcbiAgXCJnZXQtcG9ja2V0XCI6ICRmYS12YXItZ2V0LXBvY2tldCxcbiAgXCJwZXJieXRlXCI6ICRmYS12YXItcGVyYnl0ZSxcbiAgXCJncnVudFwiOiAkZmEtdmFyLWdydW50LFxuICBcIndlZWJseVwiOiAkZmEtdmFyLXdlZWJseSxcbiAgXCJjb25uZWN0ZGV2ZWxvcFwiOiAkZmEtdmFyLWNvbm5lY3RkZXZlbG9wLFxuICBcImxlYW5wdWJcIjogJGZhLXZhci1sZWFucHViLFxuICBcImJsYWNrLXRpZVwiOiAkZmEtdmFyLWJsYWNrLXRpZSxcbiAgXCJ0aGVtZWNvXCI6ICRmYS12YXItdGhlbWVjbyxcbiAgXCJweXRob25cIjogJGZhLXZhci1weXRob24sXG4gIFwiYW5kcm9pZFwiOiAkZmEtdmFyLWFuZHJvaWQsXG4gIFwiYm90c1wiOiAkZmEtdmFyLWJvdHMsXG4gIFwiZnJlZS1jb2RlLWNhbXBcIjogJGZhLXZhci1mcmVlLWNvZGUtY2FtcCxcbiAgXCJob3JuYmlsbFwiOiAkZmEtdmFyLWhvcm5iaWxsLFxuICBcImpzXCI6ICRmYS12YXItanMsXG4gIFwiaWRlYWxcIjogJGZhLXZhci1pZGVhbCxcbiAgXCJnaXRcIjogJGZhLXZhci1naXQsXG4gIFwiZGV2XCI6ICRmYS12YXItZGV2LFxuICBcInNrZXRjaFwiOiAkZmEtdmFyLXNrZXRjaCxcbiAgXCJ5YW5kZXgtaW50ZXJuYXRpb25hbFwiOiAkZmEtdmFyLXlhbmRleC1pbnRlcm5hdGlvbmFsLFxuICBcImNjLWFtZXhcIjogJGZhLXZhci1jYy1hbWV4LFxuICBcInViZXJcIjogJGZhLXZhci11YmVyLFxuICBcImdpdGh1YlwiOiAkZmEtdmFyLWdpdGh1YixcbiAgXCJwaHBcIjogJGZhLXZhci1waHAsXG4gIFwiYWxpcGF5XCI6ICRmYS12YXItYWxpcGF5LFxuICBcInlvdXR1YmVcIjogJGZhLXZhci15b3V0dWJlLFxuICBcInNreWF0bGFzXCI6ICRmYS12YXItc2t5YXRsYXMsXG4gIFwiZmlyZWZveC1icm93c2VyXCI6ICRmYS12YXItZmlyZWZveC1icm93c2VyLFxuICBcInJlcGx5ZFwiOiAkZmEtdmFyLXJlcGx5ZCxcbiAgXCJzdXNlXCI6ICRmYS12YXItc3VzZSxcbiAgXCJqZW5raW5zXCI6ICRmYS12YXItamVua2lucyxcbiAgXCJ0d2l0dGVyXCI6ICRmYS12YXItdHdpdHRlcixcbiAgXCJyb2Nrcm1zXCI6ICRmYS12YXItcm9ja3JtcyxcbiAgXCJwaW50ZXJlc3RcIjogJGZhLXZhci1waW50ZXJlc3QsXG4gIFwiYnVmZmVyXCI6ICRmYS12YXItYnVmZmVyLFxuICBcIm5wbVwiOiAkZmEtdmFyLW5wbSxcbiAgXCJ5YW1tZXJcIjogJGZhLXZhci15YW1tZXIsXG4gIFwiYnRjXCI6ICRmYS12YXItYnRjLFxuICBcImRyaWJiYmxlXCI6ICRmYS12YXItZHJpYmJibGUsXG4gIFwic3R1bWJsZXVwb24tY2lyY2xlXCI6ICRmYS12YXItc3R1bWJsZXVwb24tY2lyY2xlLFxuICBcImludGVybmV0LWV4cGxvcmVyXCI6ICRmYS12YXItaW50ZXJuZXQtZXhwbG9yZXIsXG4gIFwic3R1YmJlclwiOiAkZmEtdmFyLXN0dWJiZXIsXG4gIFwidGVsZWdyYW1cIjogJGZhLXZhci10ZWxlZ3JhbSxcbiAgXCJ0ZWxlZ3JhbS1wbGFuZVwiOiAkZmEtdmFyLXRlbGVncmFtLXBsYW5lLFxuICBcIm9sZC1yZXB1YmxpY1wiOiAkZmEtdmFyLW9sZC1yZXB1YmxpYyxcbiAgXCJvZHlzZWVcIjogJGZhLXZhci1vZHlzZWUsXG4gIFwic3F1YXJlLXdoYXRzYXBwXCI6ICRmYS12YXItc3F1YXJlLXdoYXRzYXBwLFxuICBcIndoYXRzYXBwLXNxdWFyZVwiOiAkZmEtdmFyLXdoYXRzYXBwLXNxdWFyZSxcbiAgXCJub2RlLWpzXCI6ICRmYS12YXItbm9kZS1qcyxcbiAgXCJlZGdlLWxlZ2FjeVwiOiAkZmEtdmFyLWVkZ2UtbGVnYWN5LFxuICBcInNsYWNrXCI6ICRmYS12YXItc2xhY2ssXG4gIFwic2xhY2staGFzaFwiOiAkZmEtdmFyLXNsYWNrLWhhc2gsXG4gIFwibWVkcnRcIjogJGZhLXZhci1tZWRydCxcbiAgXCJ1c2JcIjogJGZhLXZhci11c2IsXG4gIFwidHVtYmxyXCI6ICRmYS12YXItdHVtYmxyLFxuICBcInZhYWRpblwiOiAkZmEtdmFyLXZhYWRpbixcbiAgXCJxdW9yYVwiOiAkZmEtdmFyLXF1b3JhLFxuICBcInNxdWFyZS14LXR3aXR0ZXJcIjogJGZhLXZhci1zcXVhcmUteC10d2l0dGVyLFxuICBcInJlYWN0ZXVyb3BlXCI6ICRmYS12YXItcmVhY3RldXJvcGUsXG4gIFwibWVkaXVtXCI6ICRmYS12YXItbWVkaXVtLFxuICBcIm1lZGl1bS1tXCI6ICRmYS12YXItbWVkaXVtLW0sXG4gIFwiYW1pbGlhXCI6ICRmYS12YXItYW1pbGlhLFxuICBcIm1peGNsb3VkXCI6ICRmYS12YXItbWl4Y2xvdWQsXG4gIFwiZmxpcGJvYXJkXCI6ICRmYS12YXItZmxpcGJvYXJkLFxuICBcInZpYWNvaW5cIjogJGZhLXZhci12aWFjb2luLFxuICBcImNyaXRpY2FsLXJvbGVcIjogJGZhLXZhci1jcml0aWNhbC1yb2xlLFxuICBcInNpdHJveFwiOiAkZmEtdmFyLXNpdHJveCxcbiAgXCJkaXNjb3Vyc2VcIjogJGZhLXZhci1kaXNjb3Vyc2UsXG4gIFwiam9vbWxhXCI6ICRmYS12YXItam9vbWxhLFxuICBcIm1hc3RvZG9uXCI6ICRmYS12YXItbWFzdG9kb24sXG4gIFwiYWlyYm5iXCI6ICRmYS12YXItYWlyYm5iLFxuICBcIndvbGYtcGFjay1iYXR0YWxpb25cIjogJGZhLXZhci13b2xmLXBhY2stYmF0dGFsaW9uLFxuICBcImJ1eS1uLWxhcmdlXCI6ICRmYS12YXItYnV5LW4tbGFyZ2UsXG4gIFwiZ3VscFwiOiAkZmEtdmFyLWd1bHAsXG4gIFwiY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzXCI6ICRmYS12YXItY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzLFxuICBcInN0cmF2YVwiOiAkZmEtdmFyLXN0cmF2YSxcbiAgXCJlbWJlclwiOiAkZmEtdmFyLWVtYmVyLFxuICBcImNhbmFkaWFuLW1hcGxlLWxlYWZcIjogJGZhLXZhci1jYW5hZGlhbi1tYXBsZS1sZWFmLFxuICBcInRlYW1zcGVha1wiOiAkZmEtdmFyLXRlYW1zcGVhayxcbiAgXCJwdXNoZWRcIjogJGZhLXZhci1wdXNoZWQsXG4gIFwid29yZHByZXNzLXNpbXBsZVwiOiAkZmEtdmFyLXdvcmRwcmVzcy1zaW1wbGUsXG4gIFwibnV0cml0aW9uaXhcIjogJGZhLXZhci1udXRyaXRpb25peCxcbiAgXCJ3b2R1XCI6ICRmYS12YXItd29kdSxcbiAgXCJnb29nbGUtcGF5XCI6ICRmYS12YXItZ29vZ2xlLXBheSxcbiAgXCJpbnRlcmNvbVwiOiAkZmEtdmFyLWludGVyY29tLFxuICBcInpoaWh1XCI6ICRmYS12YXItemhpaHUsXG4gIFwia29ydnVlXCI6ICRmYS12YXIta29ydnVlLFxuICBcInBpeFwiOiAkZmEtdmFyLXBpeCxcbiAgXCJzdGVhbS1zeW1ib2xcIjogJGZhLXZhci1zdGVhbS1zeW1ib2wsXG4pO1xuIiwiLyohXG4gKiBGb250IEF3ZXNvbWUgRnJlZSA2LjUuMSBieSBAZm9udGF3ZXNvbWUgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbVxuICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSlcbiAqIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLlxuICovXG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuQGltcG9ydCAndmFyaWFibGVzJztcblxuOnJvb3QsIDpob3N0IHtcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1zdHlsZS1mYW1pbHktY2xhc3NpYzogJyN7ICRmYS1zdHlsZS1mYW1pbHkgfSc7XG4gIC0tI3skZmEtY3NzLXByZWZpeH0tZm9udC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICcjeyAkZmEtc3R5bGUtZmFtaWx5IH0nO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXJlZ3VsYXItNDAwLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnI3skZmEtZm9udC1wYXRofS9mYS1yZWd1bGFyLTQwMC50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyk7XG59XG5cbi5mYXIsXG4uI3skZmEtY3NzLXByZWZpeH0tcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG4iLCIvKiFcbiAqIEZvbnQgQXdlc29tZSBGcmVlIDYuNS4xIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tXG4gKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKVxuICogQ29weXJpZ2h0IDIwMjMgRm9udGljb25zLCBJbmMuXG4gKi9cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICd2YXJpYWJsZXMnO1xuXG46cm9vdCwgOmhvc3Qge1xuICAtLSN7JGZhLWNzcy1wcmVmaXh9LXN0eWxlLWZhbWlseS1jbGFzc2ljOiAnI3sgJGZhLXN0eWxlLWZhbWlseSB9JztcbiAgLS0jeyRmYS1jc3MtcHJlZml4fS1mb250LXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICcjeyAkZmEtc3R5bGUtZmFtaWx5IH0nO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNiBGcmVlJztcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LWRpc3BsYXk6ICRmYS1mb250LWRpc3BsYXk7XG4gIHNyYzogdXJsKCcjeyRmYS1mb250LXBhdGh9L2ZhLXNvbGlkLTkwMC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJyN7JGZhLWZvbnQtcGF0aH0vZmEtc29saWQtOTAwLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcbn1cblxuLmZhcyxcbi4jeyRmYS1jc3MtcHJlZml4fS1zb2xpZCB7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG59XG4iLCIvLyBIb2xkcyBhbGwgb2YgdGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB0ZW1wbGF0ZSwgdGhlc2UgdmFyaWFibGVzIGFsc28gZ2V0IGluamVjdGVkIGludG8gZm91bmRhdGlvbidzIHNldHRpbmdzLlxyXG4vLyBVc2VkIGZvciBjb25zdHJ1Y3RpbmcgdXJscy5cclxuJHNpdGU6ICcnICFkZWZhdWx0OyBcclxuXHJcblxyXG5cclxuQGlmICRkZWJ1ZyB7XHJcbiAgICBAZGVidWcgQ29tcGlsaW5nIHNhc3MgZm9yICRzaXRlIDtcclxufVxyXG5cclxuLy8gVE9ETzogVGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MsIHRoaXMgaXMgbXkgaW50aWlhbCBhdHRlbXB0IGF0IG1ha2luZyBzdXJlIGhvdmVyIGJhY2tncm91bmQgc3RhdGVzIGRvbnQgY29uZmxpY3Qgd2l0aCB0aGUgdGV4dCBjb2xvdXIuXHJcbiRjb250cmFjdC1jaGVja2VyLWNvbG91ci1mYWxsYmFja3M6ICRjb2xvdXIxLCAkY29sb3VyMiwgJGNvbG91cjMsICRjb2xvdXI0LCAkY29sb3VyNiAhZGVmYXVsdDtcclxuLy8gRGVzY3JlYXNlIGlmIHlvdSB3YW50IGxlc3Mgc2Vuc2l0aXZpdHkgYnV0IGNvbnRlbnQgbWF5IGJlY29tZSBpbGxlZ2libGUuXHJcbiRjb250cmFzdC1jaGVja2VyLXJhdGlvLXRocmVzaG9sZDogMi4yICFkZWZhdWx0O1xyXG4vLyBBZGRlZCBib3JkZXIgcmFkaXVzIHRvIHRoaW5ncyBsaWtlIGJ1dHRvbnMgKyBuYXZpZ2F0aW9uLlxyXG4kc21vb3RoLWVkZ2VzLWVuYWJsZWQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kc21vb3RoLWVkZ2VzLWxldmVsOiAxNXB4ICFkZWZhdWx0O1xyXG4vLyBHbG9iYWwgSW1hZ2Ugc2V0dGluZ3MgKCBMaXN0aW5nIHBhZ2VzICYgdGFibGVzICkuXHJcbiR0YWJsZS1pbWFnZS1zaXplOiAxMzJweCAhZGVmYXVsdDtcclxuJGdyaWQtaW1hZ2Utc2l6ZTogMjMwcHggIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcbi8vIC0tLS0tIEdsb2JhbCBQYWdlIFNldHRpbmdzIC0tLS0tIFxyXG4vLyBDb250YWluZWQgY29udGVudCBtYXggd2lkdGguXHJcbiRnbG9iYWwtd2lkdGg6IDEzMDBweCAhZGVmYXVsdDtcclxuLy8gVW5jb250YWluZWQgY29udGVudCBtYXggd2lkdGggKCBpLmUgZnVsbCB3aWR0aCApIHRoaXMgaXMgZXhjbHVkaW5nIGFueXRoaW5nIG91dHNpZGUgb2YgYSAuZ3JpZC14ICggZS5nIHN0aWNrIGVsZW1lbnRzLCA8aGVhZGVyPiwgPGZvb3Rlcj4gKSBrZWVwIGluIG1pbmQgMmsgJiA0ayBtb25pdG9ycyB3aGVuIGFkanVzdGluZyB0aGlzLlxyXG4kZ2xvYmFsLXVuY29udGFpbmVkLWNvbnRlbnQtbWF4LXdpZHRoOiAxOTIwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyBYWSBHcmlkXHJcbiRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBtZWRpdW06IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIE1haW4gKyBmb290ZXIgc2V0dGluZ3MuXHJcbiRwYWdlLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDAgMTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBUeXBvZ3JhcGh5IC0tLS0tIFxyXG4kYm9keS1mb250LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpICFkZWZhdWx0O1xyXG4kYm9keS1jb3B5LW1heC13aWR0aDogODUwcHggIWRlZmF1bHQ7XHJcbiRkZWZhdWx0LWxpbmUtaGVpZ2h0OiAxLjYgIWRlZmF1bHQ7IFxyXG4kZGVmYXVsdC11bmxpbmUtY29sb3VyczogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuJGRlZmF1bHQtbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDsgLy8gSGFuZGxlcyB3ZWlnaHQgZm9yIGxhYmVsICsgdmFsdWUgcGFpciAoIGkuZSB0YWJsZXMgbW9iaWxlLCB2aWV3IG9yZGVyIHN1bW1hcnkgcGFuZXMgKVxyXG4kY29tbW9uLXJ1bGUtY29sb3VyOiAkY29sb3VyMy0yICFkZWZhdWx0O1xyXG4kY29tbW9uLXJ1bGUtd2VpZ2h0OiAxcHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkaW5ncyAtLS1cclxuJGhlYWRpbmctcnVsZS1jb2xvdXI6ICRjb21tb24tcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0OyAvLyBJZiB1c2luZyBhIGRpZmZlcmVudCBmb250IGZvciBoZWFkaW5ncyB0aGVuIHlvdSBtYXkgbmVlZCB0byBhZGp1c3QgdGhlIGxpbmUtaGVpZ2h0LlxyXG4kaGVhZGluZy1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuJHBhZ2UtaGVhZGluZy11bmRlcmxpbmU6IHRydWUgIWRlZmF1bHQ7XHJcbiRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodDogJGNvbW1vbi1ydWxlLXdlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1tYXJnaW46IDAgMCAyNXB4ICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLXBhZGRpbmc6IChcclxuICAgIHByZXNldC0xOiBudWxsLFxyXG4gICAgcHJlc2V0LTI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1ydWxlLWNvbG91cjogJGhlYWRpbmctcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtZm9udC1zaXplOiAoXHJcbiAgICBwcmVzZXQtMTogMjUsXHJcbiAgICBwcmVzZXQtMjogMzFcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS11bmRlcmxpbmU6IChcclxuICAgIHByZXNldC0xOiAkcGFnZS1oZWFkaW5nLXVuZGVybGluZSxcclxuICAgIHByZXNldC0yOiAkcGFnZS1oZWFkaW5nLXVuZGVybGluZVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBwcmVzZXQtMTogbnVsbCxcclxuICAgIHByZXNldC0yOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIHByZXNldC0xOiBudWxsLFxyXG4gICAgcHJlc2V0LTI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS1mb250LXdlaWdodDogKFxyXG4gICAgcHJlc2V0LTE6IDYwMCxcclxuICAgIHByZXNldC0yOiAzMDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMS10ZXh0LWFsaWduOiAoXHJcbiAgICBwcmVzZXQtMTogbnVsbCxcclxuICAgIHByZXNldC0yOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm06ICggXHJcbiAgICBwcmVzZXQtMTogbm9uZSxcclxuICAgIHByZXNldC0yOiBub25lXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1czogKFxyXG4gICAgcHJlc2V0LTE6IDAsXHJcbiAgICBwcmVzZXQtMjogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0xLWxldHRlci1zcGFjaW5nOiAoXHJcbiAgICBwcmVzZXQtMTogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nLFxyXG4gICAgcHJlc2V0LTI6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZ1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWZvbnQtc2l6ZTogKFxyXG4gICAgcHJlc2V0LTE6IDIwLFxyXG4gICAgcHJlc2V0LTI6IDIwLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiAxOFxyXG4pICAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1mb250LXN0eWxlOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBwcmVzZXQtMTogNzAwLFxyXG4gICAgcHJlc2V0LTI6IDcwMCxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtZm9udC13ZWlnaHQsIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiA2MDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTE6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTI6ICRjb2xvdXI0LFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLWJvcmRlci1ib3R0b206IDAgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHByZXNldC0xOiByZ2JhKCRjb2xvdXI0LTEsIDAuMSksXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtNDogJGNvbG91cjQtNlxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLW1hcmdpbjogKFxyXG4gICAgcHJlc2V0LTE6ICgwIDAgMjVweCwgMCAwIDUwcHgpLFxyXG4gICAgcHJlc2V0LTI6ICgwLCAwKSxcclxuICAgIHByZXNldC0zOiAwIDAgMjBweCxcclxuICAgIHByZXNldC00OiAoMCAwIDE1cHgsIDAgMCA1MHB4KVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLXBhZGRpbmc6IChcclxuICAgIHByZXNldC0xOiAxNXB4IDAsXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLXBhZGRpbmcsIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiAxNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybTogKFxyXG4gICAgcHJlc2V0LTE6IG5vbmUsXHJcbiAgICBwcmVzZXQtMjogbm9uZSxcclxuICAgIHByZXNldC0zOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKSxcclxuICAgIHByZXNldC00OiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKSxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi10ZXh0LWFsaWduOiAoXHJcbiAgICBwcmVzZXQtMTogY2VudGVyLFxyXG4gICAgcHJlc2V0LTM6IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMSlcclxuKTtcclxuJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZzogKFxyXG4gICAgcHJlc2V0LTE6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZyxcclxuICAgIHByZXNldC0yOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcsXHJcbiAgICBwcmVzZXQtMzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nLFxyXG4gICAgcHJlc2V0LTQ6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZ1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0yLXdvcmQtc3BhY2luZzogKFxyXG4gICAgcHJlc2V0LTE6IG5vcm1hbCxcclxuICAgIHByZXNldC0yOiBub3JtYWwsXHJcbiAgICBwcmVzZXQtMzogbm9ybWFsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTItbGluZS1oZWlnaHQ6IGlmKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCwkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQsMS41KSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMi1ib3JkZXItcmFkaXVzOiAoXHJcbiAgICBwcmVzZXQtMzogbWFwLWdldCgkaGVhZGluZy0xLWJvcmRlci1yYWRpdXMsIHByZXNldC0xKVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTQpLFxyXG4gICAgcHJlc2V0LTI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC00KSxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1mb250LXNpemU6IChcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtNCksXHJcbiAgICBwcmVzZXQtMjogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTMpXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtZm9udC13ZWlnaHQ6IChcclxuICAgIGRlZmF1bHQ6IDYwMCxcclxuICAgIHByZXNldC0xOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC00KVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy0zLXRleHQtdHJhbnNmb3JtOiAoXHJcbiAgICBwcmVzZXQtMTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCksXHJcbiAgICBwcmVzZXQtMjogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMylcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1tYXJnaW46IChcclxuICAgIHByZXNldC0xOiAwLFxyXG4gICAgcHJlc2V0LTI6IDAgMCAyNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTMtcGFkZGluZzogKFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtMSksXHJcbiAgICBwcmVzZXQtMjogMCAwIDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRpbmctMy1sZXR0ZXItc3BhY2luZzogKFxyXG4gICAgcHJlc2V0LTE6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTQpLFxyXG4gICAgcHJlc2V0LTI6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZ1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy00LWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLTUtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGhlYWRpbmctNi1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4vLyAtLS0gQnVsbGV0IHBvaW5kdHMgLS0tXHJcbiRidWxsZXQtc2l6ZTogNXB4ICFkZWZhdWx0O1xyXG4kYnVsbGV0LWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRidWxsZXQtYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czEgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYXJhZ3JhcGggLS0tIFxyXG4kcGFyYWdyYXBoLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbi8vIC0tLS0gUHJpY2UgLS0tXHJcbiRwcmljZS1jb2xvdXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMikgIWRlZmF1bHQ7XHJcbiRwcmljZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJpY2UtbGlzdC1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJHByaWNlLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRwcmljZS1sYWJlbC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAkcHJpY2UtZm9udC13ZWlnaHQgaXMgdGhlIG9sZCB2YXJpYWJsZSB3ZSB1c2VkIHRpbGwgd2UgbmVlZGVkIHRvIHNwbGl0IHZhbHVlIHdpdGggbGFiZWwuXHJcbiRwcmljZS1sYWJlbC1mb250LXdlaWdodDogJHByaWNlLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJpY2UtdmFsdWUtZm9udC13ZWlnaHQ6ICRwcmljZS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHByaWNlLWxhYmVsLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gUlJQIC0tLVxyXG4kcnJwLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRycnAtZm9udC1zaXplOiAkcHJpY2UtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcnJwLWZvbnQtd2VpZ2h0OiAkcHJpY2UtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRycnAtc3RyaWtlOiB0cnVlICFkZWZhdWx0O1xyXG4kcnJwLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTYXZpbmcgLS0tIFxyXG4kc2F2aW5ncy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kc2F2aW5nLWZvbnQtc2l6ZTogJHByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHNhdmluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kc2F2aW5nLXN0cmlrZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRzYXZpbmdzLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYWNrIFByaWNlIC0tLSBcclxuJHBhY2stcHJpY2UtY29sb3VyOiAkcHJpY2UtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gUGFjayBTaXplIC0tLVxyXG4kcGFjay1zaXplLWNvbG91cjogJHByaWNlLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIFBhY2sgSXRlbSBTaXplIC0tLSBcclxuJHBhY2staXRlbS1zaXplLWNvbG91cjogJHByaWNlLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIENvZGUgLS0tIFxyXG4kY29kZS1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBJY29ucyAtLS0tLSBcclxuLy8gLS0tIFNvY2lhbCAtLS1cclxuLy8gVGhlc2UgYXJlIGZyb20gdGhlIGZyb250IGF3ZXNvbWUgbGlicmFyeS5cclxuJHNvY2lhbC1pY29uczogKFxyXG4gICAgZmFjZWJvb2s6ICdcXGYzOWUnLFxyXG4gICAgdHdpdHRlcjogJ1xcZTYxYicsXHJcbiAgICBpbnN0YWdyYW06ICdcXGYxNmQnLFxyXG4gICAgbGlua2VkSW46ICdcXGYwZTEnLFxyXG4gICAgeW91dHViZTogJ1xcZjE2NycsXHJcbiAgICBlbWFpbDogJ1xcZjFkOCcsXHJcbiAgICBnb29nbGUtcGx1czogJ1xcZjBkNScsXHJcbiAgICBzaGFyZTogJ1xcZjFlMCdcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBGaWxlIC0tLVxyXG4kZmlsZS1pY29ucy1zaXplOiAyNnB4ICFkZWZhdWx0O1xyXG4kZmlsZS1hbmNob3ItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZpbGUtYW5jaG9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpICFkZWZhdWx0O1xyXG4kZmlsZS1hdHRhY2htZW50LXBhZGRpbmc6IDEwcHggNXB4ICFkZWZhdWx0O1xyXG4kZmlsZS1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkYm9keS1mb250LWNvbG91cixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4vLyBUeXBpY2FsbHkgZnJvbSB0aGUgZm9udCBhd2Vzb21lIGxpYnJhcnkuXHJcbiRmaWxlLXR5cGUtaWNvbnM6IChcclxuICAgIGJyb2NodXJlOiAnXFxmMTVjJyxcclxuICAgIHVzZXItZ3VpZGU6ICdcXGYxNWInLFxyXG4gICAgcGFydHMtZGlhZ3JhbTogJ1xcZjE1YycsXHJcbiAgICB3b3JkOiAnXFxmMWMyJyxcclxuICAgIHBvd2VycG9pbnQ6ICdcXGYxYzQnLFxyXG4gICAgZXhjZWw6ICdcXGYxYzMnLFxyXG4gICAgcGRmOiAnXFxmMWMxJyxcclxuICAgIGNzdjogJ1xcZjZkZCcsXHJcbiAgICBpbWFnZTogJ1xcZjFjNScsXHJcbiAgICB2aWRlbzogJ1xcZjFjOCcsXHJcbiAgICB1bmtub3duOiAnXFxmMTViJyxcclxuICAgIHppcDogJ1xcZjFjNidcclxuKSAhZGVmYXVsdDtcclxuLy8gRmlsZSBJY29uIENvbG91cnNcclxuJGZpbGUtaWNvbnMtY29sb3VyczogKFxyXG4gICAgYnJvY2h1cmU6IHJnYmEoJGNvbG91cjQsIDAuNiksXHJcbiAgICB1c2VyLWd1aWRlOiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgcGFydHMtZGlhZ3JhbTogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIHdvcmQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMiwgMCksXHJcbiAgICBwb3dlcnBvaW50OiAkY29sb3VyNi0xLFxyXG4gICAgZXhjZWw6ICRjb2xvdXI0LFxyXG4gICAgcGRmOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpLFxyXG4gICAgY3N2OiByZ2JhKCRjb2xvdXI0LCAwLjkpLFxyXG4gICAgaW1hZ2U6ICRjb2xvdXIzLTMsXHJcbiAgICB2aWRlbzogJGNvbG91cjMtNixcclxuICAgIHVua25vd246ICRjb2xvdXI0LTcsXHJcbiAgICB6aXA6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gU2l0ZSB3aWRlIGljb25zIC0tLSBcclxuXHJcbiRjaGV2cm9uLWljb25zOiAoXHJcbiAgICB1cDogJ1xcZjA3NycsXHJcbiAgICByaWdodDogJ1xcZjA1NCcsXHJcbiAgICBkb3duOiAnXFxmMDc4JyxcclxuICAgIGxlZnQ6ICdcXGYwNTMnXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGVzZSBhcmUgdHlwaWNhbGx5IGZyb20gdGhlIGZvbnQgYXdlc29tZSBsaWJyYXJ5LlxyXG4kZGVmYXVsdC1zaXRlLWljb25zOiAoXHJcbiAgICBpbWFnZS0zNjA6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJzNkaWNvbi5zdmcnLFxyXG4gICAgY2FyZC1wYXltZW50OiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICdjYXJkLXBheW1lbnQuc3ZnJyxcclxuICAgIHBheXBhbDogJHNoYXJlZC1pY29ucy1kaXJlY3RvcnkgKyAncGF5cGFsLnN2ZycsXHJcbiAgICBnb29nbGUtcGF5OiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICdnb29nbGUtcGF5LnN2ZycsXHJcbiAgICBhcHBseS1wYXk6ICRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5ICsgJ2FwcGx5LXBheS5zdmcnLFxyXG4gICAgZGlyZWN0LWRlYml0OiAnXFxFODRFJyxcclxuICAgIGVubGFyZ2U6ICdcXGYzMWUnLFxyXG4gICAgYmFza2V0LWljb246ICdcXGYyOTEnLFxyXG4gICAgYmFza2V0LXdhcm5pbmc6ICdcXEU4MTEnLFxyXG4gICAgYmFza2V0LWFsZXJ0OiAnXFxFODEyJyxcclxuICAgIGJhc2tldC1yZW1vdmU6ICdcXGYyZWQnLFxyXG4gICAgYmFza2V0LWRlbGl2ZXJ5OiAnXFxmMGQxJyxcclxuICAgIGJhc2tldC12YXQ6ICdcXGYyOTUnLFxyXG4gICAgYmFza2V0LXZvdWNoZXI6ICdcXGYwMmMnLFxyXG4gICAgdXBkYXRlOiAnXFxmMDIxJyxcclxuICAgIHpvb20taW46ICdcXGYwMGUnLFxyXG4gICAgem9vbS1vdXQ6ICdcXGYwMTAnLFxyXG4gICAgc3VjY2VzczogJ1xcZjAwYycsXHJcbiAgICB3YXJuaW5nOiAnXFxmMDcxJyxcclxuICAgIGFsZXJ0OiAnXFxmMDZhJyxcclxuICAgIHVua25vd246ICdcXGYwNTknLFxyXG4gICAgY2FuY2VsbGVkOiAnXFxmMjhkJyxcclxuICAgIGluLXByb2dyZXNzOiAnXFxmMTEwJyxcclxuICAgIHNlYXJjaDogJ1xcZjAwMicsXHJcbiAgICBlbWFpbDogJ1xcZjBlMCcsXHJcbiAgICB0ZWxlcGhvbmU6ICdcXGY4NzknLFxyXG4gICAgZmF2b3VyaXRlcy1kZWZhdWx0OiAnXFxmMDA0JyxcclxuICAgIGZhdm91cml0ZXMtaG92ZXI6ICdcXGYwMDQnLFxyXG4gICAgcHJvY2VlZDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgY2hlY2tib3gtdGljazogJ1xcZjAwYycsXHJcbiAgICBwYXltZW50LWNhcmQ6ICdcXGYwOWQnLFxyXG4gICAgaG9tZTogJ1xcZjAxNScsIFxyXG4gICAgYmxvZzogJ1xcZjA4NicsXHJcbiAgICBuZXdzOiAnXFxmMWVhJyxcclxuICAgIGV2ZW50czogJ1xcZjA3MycsXHJcbiAgICBibG9ja3F1b3RlOiAnXFxmMTBkJyxcclxuICAgIGluZm86ICdcXGYxMjknLFxyXG4gICAgaW5mby1jaXJjbGU6ICdcXGYwNWEnLFxyXG4gICAgbm8tYWNjZXNzOiAnXFxmMDIzJyxcclxuICAgIGVkaXQ6ICdcXGYwNDQnLFxyXG4gICAgcGFzc3dvcmQtcmV2ZWFsOiAnXFxmMDZlJyxcclxuICAgIGNsb3NlLWJ1dHRvbjogJ1xcZjAwZCcsXHJcbiAgICBxdWFudGl0eS1zZWxlY3Rvci1pbmNyZW1lbnQ6ICdcXGYwNjgnLFxyXG4gICAgcXVhbnRpdHktc2VsZWN0b3ItZGVjcmVtZW50OiAnXFxmMDY3JyxcclxuICAgIGJhbjogJ1xcZjA1ZScsXHJcbiAgICBoYW1idXJnZXI6ICdcXGYwYzknLFxyXG4gICAgbWFpbDogJ1xcZjFkOCcsXHJcbiAgICByYXRpbmc6ICdcXGYwMDUnLFxyXG4gICAgYmFjay10by10b3A6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIG1lZ2EtbWVudS1saW5rLWljb246IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIG1lbnUtY2xvc2U6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGRvd24pLFxyXG4gICAgbWVudS1vcGVuOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICBjYXJvdXNlbC1jb250cm9scy1wcmV2aW91czogbWFwLWdldCgkY2hldnJvbi1pY29ucywgbGVmdCksXHJcbiAgICBjYXJvdXNlbC1jb250cm9scy1uZXh0OiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBhdXRvLWNvbXBsZXRlLXZpZXctYWxsOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBzb2gtMDogJ1xcZjAwZCcsXHJcbiAgICBzb2gtMTogJ1xcZjAwYycsXHJcbiAgICBzb2gtMjogJ1xcZjAwYycsXHJcbiAgICBzdG9jay1ub3RpZmljYXRpb24taWNvbjogJ1xcZjBmMycsXHJcbiAgICBzdG9jay1ub3RpZmljYXRpb24tYWN0aXZlOiAnXFxmMGYzJyxcclxuICAgIGxpc3QtZ3JpZC12aWV3OiAnXFxmMDBhJyxcclxuICAgIGxpc3QtdGFibGUtdmlldzogJ1xcZjAwYicsXHJcbiAgICByZWFkLW1vcmUtb3BlbjogbWFwLWdldCgkY2hldnJvbi1pY29ucywgdXApLFxyXG4gICAgcmVhZC1tb3JlLWNsb3NlZDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgZG93biksXHJcbiAgICBhbmNob3ItaW5kaWNhdG9yOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCByaWdodCksXHJcbiAgICBicmVhZGNydW1icy1zZXBlcmF0b3I6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGxpZ2h0Ym94LXByZXY6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGxlZnQpLFxyXG4gICAgbGlnaHRib3gtbmV4dDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgZmlsZS11cGxvYWQ6ICdcXGY1NzQnLFxyXG4gICAgZmlsZS11cGxvYWQtcmVhZHk6ICdcXGU1YTAnLFxyXG4gICAgZmlsZS1yZW1vdmU6ICdcXGYwMGQnLFxyXG4gICAgY29sbGVjdGlvbi1vbmx5OiAnXFxFODE4JyxcclxuICAgIGFkdmFuY2VkLWZvcm0tc3VjY2VzczogJ1xcZjAwYycsXHJcbiAgICBhZHZhbmNlZC1mb3JtLWZhaWw6ICdcXGYwMGQnLFxyXG4gICAgZmlsdGVyOiAnXFxmMGIwJyxcclxuICAgIGNhbGwtcmF0aW5nLWNhbm5vdC1yYXRlOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctY2Fubm90LXJhdGUuc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLXVucmF0ZWQ6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy11bnJhdGVkLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy12ZXJ5LWJhZDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NhbGwtcmF0aW5nLXZlcnktYmFkLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy1iYWQ6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy1iYWQuc3ZnJyxcclxuICAgIGNhbGwtcmF0aW5nLWF2ZXJhZ2U6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjYWxsLXJhdGluZy1hdmVyYWdlLnN2ZycsXHJcbiAgICBjYWxsLXJhdGluZy1nb29kOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctZ29vZC5zdmcnLFxyXG4gICAgY2FsbC1yYXRpbmctdmVyeS1nb29kOiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY2FsbC1yYXRpbmctdmVyeS1nb29kLnN2ZycsXHJcbiAgICBjYWxsLXVyZ2VuY3ktbG93OiAkc2hhcmVkLWljb25zLW1hbmFnZS1jYWxscy1kaXJlY3RvcnkgKyAnY3AtdXJnZW5jeS1sb3cuc3ZnJyxcclxuICAgIGNhbGwtdXJnZW5jeS1tZWRpdW06ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjcC11cmdlbmN5LW1lZGl1bS5zdmcnLFxyXG4gICAgY2FsbC11cmdlbmN5LWhpZ2g6ICRzaGFyZWQtaWNvbnMtbWFuYWdlLWNhbGxzLWRpcmVjdG9yeSArICdjcC11cmdlbmN5LWhpZ2guc3ZnJyxcclxuICAgIGNhbGwtdXJnZW5jeS1jcml0aWNhbDogJHNoYXJlZC1pY29ucy1tYW5hZ2UtY2FsbHMtZGlyZWN0b3J5ICsgJ2NwLXVyZ2VuY3ktY3JpdGljYWwuc3ZnJyxcclxuICAgIGNhbGwtYWRkLWluZm86ICdcXEU4M0MnLFxyXG4gICAgY2FsbC1yZXF1ZXN0LWFyY2hpdmU6ICdcXEU4M0InLFxyXG4gICAgY2FsbC1saXN0OiAnXFxFODM5JyxcclxuICAgIG5ldy1jYWxsOiAnXFxFODNBJyxcclxuICAgIHRhYmxlLXNvcnQtYXNjZW5kOiBtYXAtZ2V0KCRjaGV2cm9uLWljb25zLCB1cCksXHJcbiAgICB0YWJsZS1zb3J0LWRlc2NlbmQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGRvd24pLFxyXG4gICAgdGFibGUtcmV2ZWFsLW9wZW46IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIHRhYmxlLXJldmVhbC1jbG9zZWQ6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGRvd24pLFxyXG4gICAgbG9jYXRpb246ICdcXGYzYzUnLFxyXG4gICAgdHJlZS1tZW51LW9wZW46IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHVwKSxcclxuICAgIHRyZWUtbWVudS1jbG9zZTogbWFwLWdldCgkY2hldnJvbi1pY29ucywgZG93biksXHJcbiAgICB2b3RlLXVwOiAnXFxmMTY0JyxcclxuICAgIHRhZy1yZW1vdmU6ICdcXGYwMGQnLFxyXG4gICAgdGhpcmQtcGFydHktdHJhY2tpbmc6ICdcXEU4MjcnLFxyXG4gICAgcHJpbnRlcjogJ1xcZjAyZicsXHJcbiAgICBxdWljay1vcmRlci1mb3JtLXByZWZpeC1pY29uOiAnXFwyYicsXHJcbiAgICBiYXJjb2RlLXNjYW5uZXItYnV0dG9uLWljb246ICdcXEU4NEQnLFxyXG4gICAgY2FsbC1zb3VyY2UtdXNlcjogJ1xcZjAwNycsXHJcbiAgICBjYWxsLXNvdXJjZS1wb3J0YWw6ICdcXGYwYWMnLFxyXG4gICAgY2FsbC1zb3VyY2UtZW1haWw6ICdcXGYwZTAnLFxyXG4gICAgY2FsbC10eXBlLWF0dGFjaG1lbnQ6ICdcXEU4MkMnLFxyXG4gICAgY2FsbC10eXBlLXByaXZhY3k6ICdcXEU4MzEnLFxyXG4gICAgY2FsbC10eXBlLXR5cGU6ICdcXEU4MUMnLFxyXG4gICAgY2FsbC10eXBlLWNsYXNzaWZpY2FpdG9uOiAnXFxFODIwJyxcclxuICAgIGNhbGwtdHlwZS1jb21wbGV0ZTogJ1xcRTgxNScsXHJcbiAgICBjYWxsLXR5cGUtY29udGFjdDogJ1xcRTgxNycsXHJcbiAgICBjYWxsLXR5cGUtY29udHJhY3Q6ICdcXEU4MUEnLFxyXG4gICAgY2FsbC10eXBlLWNvbnRyYWN0LXR5cGU6ICdcXEU4MTknLFxyXG4gICAgY2FsbC10eXBlLWNyZWF0ZWQ6ICdcXEU4MjknLFxyXG4gICAgY2FsbC10eXBlLWRlZmVycmVkOiAnXFxFODI4JyxcclxuICAgIGNhbGwtdHlwZS1lc2NhbGF0aW9uOiAnXFxFODJGJyxcclxuICAgIGNhbGwtdHlwZS1pbXBhY3Q6ICdcXEU4MkEnLFxyXG4gICAgY2FsbC10eXBlLWluYm91bmQtcGhvbmUtY2FsbDogJ1xcRTgxRicsXHJcbiAgICBjYWxsLXR5cGUtaW5mb3JtYXRpb246ICdcXEU4MkQnLFxyXG4gICAgY2FsbC10eXBlLWxpbms6ICdcXEU4MkInLFxyXG4gICAgY2FsbC10eXBlLW91dGJvdW5kLXBob25lLWNhbGw6ICdcXEU4MkUnLFxyXG4gICAgY2FsbC10eXBlLXByaW9yaXR5OiAnXFxFODMwJyxcclxuICAgIGNhbGwtdHlwZS1yZXNwb25zaWJpbGl0eTogJ1xcRTgzMicsXHJcbiAgICBjYWxsLXR5cGUtc2hvcnRjdXQtc2VudDogJ1xcRTgzMycsXHJcbiAgICBjYWxsLXR5cGUtc2xhLWluY2x1c2lvbjogJ1xcRTgzNCcsXHJcbiAgICBjYWxsLXR5cGUtc3RhdHVzOiAnXFxFODFCJyxcclxuICAgIGNhbGwtdHlwZS11bmRlZmVycmVkOiAnXFxFODM3JyxcclxuICAgIGNhbGwtdHlwZS11cmdlbnQ6ICdcXEU4MzgnLFxyXG4gICAgY2FsbC10eXBlLXdvcmtmbG93OiAnXFxFODFEJyxcclxuICAgIGRvY3VtZW50YXRpb24tcHVibGljLXVybDogJ1xcZjBhYycsXHJcbiAgICBkb2N1bWVudGF0aW9uLXN0YXRpc3RpY3M6ICdcXGU0NzMnLFxyXG4gICAgY2xpcGJvYXJkLWNvcHk6ICdcXGYwYzUnLFxyXG4gICAgY29udGV4dC1tZW51LWVkaXQ6ICdcXGYwMTMnLFxyXG4gICAgY29udGV4dC1lZGl0LXRleHQ6ICdcXGYwNDQnLFxyXG4gICAgY29udGV4dC1lZGl0LXByb3BlcnRpZXM6ICdcXEU4NTEnLFxyXG4gICAgY29udGV4dC1tb3ZlLXVwOiAnXFxlNGMyJyxcclxuICAgIGNvbnRleHQtbW92ZS1kb3duOiAnXFxlNGI4JyxcclxuICAgIGNvbnRleHQtaW5zZXJ0LWJlZm9yZTogJ1xcRTg1MCcsXHJcbiAgICBjb250ZXh0LWluc2VydC1hZnRlcjogJ1xcRTgyNCcsXHJcbiAgICBjb250ZXh0LWRlbGV0ZTogJ1xcZjJlZCcsXHJcbiAgICBjb250ZXh0LWFjY2Vzcy1sZXZlbDogJ1xcZjVmZCcsXHJcbiAgICBjb250ZXh0LXB1Ymxpc2hlZDogJ1xcZjA5MycsXHJcbiAgICBjb250ZXh0LXByb21vdGU6ICdcXGYwM2InLFxyXG4gICAgY29udGV4dC1kZW1vdGU6ICdcXGYwM2MnLFxyXG4gICAgY29udGV4dC1tb3ZlOiAnXFxmMGIyJyxcclxuICAgIGNvbnRleHQtYXVkaXQ6ICdcXGYxZGEnLFxyXG4gICAgY21zLXBhZ2luYXRpb24tcHJldmlvdXM6IG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIGxlZnQpLFxyXG4gICAgY21zLXBhZ2luYXRpb24tbmV4dDogbWFwLWdldCgkY2hldnJvbi1pY29ucywgcmlnaHQpLFxyXG4gICAgc2l0ZS1saXN0LWJlc3Bva2Utc2l0ZS1pY29uOiAnXFxFODIxJyxcclxuICAgIHNvZnR3YXJlLXVwZGF0ZS1kb3dubG9hZDogJ1xcZjAxOScsXHJcbiAgICBzb2Z0d2FyZS1yZWxlYXNlLWRhdGUtdGltZTogJ1xcZjAxNycsXHJcbiAgICBwcm9kdWN0LWVucXVpcnktZGVsaXZlcnktY291bnRkb3duOiAnXFxmMDE3JyxcclxuICAgIHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbjogJ1xcZjA0YicsXHJcbiAgICB2aWRlby1wbGF5ZXItcmVwbGF5LXRodW1ibmFpbC1pY29uOiAnXFxmMzYzJyxcclxuICAgIHZpZGVvLXBsYXllci1kdXJhdGlvbi1pY29uczogJ1xcZjAxNycsXHJcbiAgICBzaXRlLW1hcC1wYXJlbnQtaWNvbjogIG1hcC1nZXQoJGNoZXZyb24taWNvbnMsIHJpZ2h0KSxcclxuICAgIGV4dGVybmFsLWxpbmstaWNvbjogJ1xcZjA4ZScsXHJcbiAgICBub24tcmV0dXJuYWJsZTogJ1xcRTg1MycsXHJcbiAgICBhY2NvcmRpb24tcmFkaW8taW5kaWNhdG9yLWRlZmF1bHQ6ICdcXGYxOTInLFxyXG4gICAgc2VsZWN0aW9uLWluY3JlbWVudDogJ1xcMmInLFxyXG4gICAgZmlsZS1kb3dubG9hZDogJ1xcZjU2ZCcsXHJcbiAgICB1bnJlYWQtc3RhdGUtb246ICdcXGYxMTEnXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBDcmVhdGUgZGVmYXVsdCBpY29ucyBtYXAgaWYgaXQgaGFzbid0IGJlZW4gZGVmaW5lZCBpbiBzaXRlIHNwZWNpZmljIGJyYW5kaW5nIGZpbGUuXHJcbiRzaXRlLWljb25zOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vIEFueSBjdXN0b20gaWNvbnMgZW5hYmxlZD9cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gRmlsdGVyIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1maWx0ZXItaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGZpbHRlciksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gU2VhcmNoIGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1zZWFyY2gtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIHNlYXJjaCksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gTmV3IGNhbGwgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLW5ldy1jYWxsLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBuZXctY2FsbCksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ2FsbCBsaXN0IGljb24uXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jYWxsLWxpc3QtaWNvbjogaWYobWFwLWhhcy1rZXkoJHNpdGUtaWNvbnMsIGNhbGwtbGlzdCksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ2FsbCBhZGQgaW5mbyBpY29uLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1hZGQtaW5mby1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY2FsbC1hZGQtaW5mbyksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gQ2FsbCByZXF1ZXN0IGFyY2hpdmUgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWNhbGwtcmVxdWVzdC1hcmNoaXZlLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjYWxsLXJlcXVlc3QtYXJjaGl2ZSksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gRmlsZSB1cGxvYWQgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWZpbGUtdXBsb2FkLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBmaWxlLXVwbG9hZCksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gRmlsZSB1cGxvYWQgcmVhZHkuXHJcbiRzaXRlLWljb25zLWN1c3RvbS1maWxlLXJlYWR5LWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBmaWxlLXJlYWR5KSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBIYW1idXJnZXJcclxuJHNpdGUtaWNvbnMtY3VzdG9tLWhhbWJ1cmdlci1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgaGFtYnVyZ2VyKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBCYXNrZXQgaWNvblxyXG4kc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbiksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gRW1haWwgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBlbWFpbCksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gRW1haWwgaWNvbi5cclxuJHNpdGUtaWNvbnMtY3VzdG9tLXRlbGVwaG9uZS1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgdGVsZXBob25lKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDb250ZXh0IG1lbnUgZWRpdCBwcm9wZXJ0aWVzLlxyXG4kc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWVkaXQtcHJvcGVydGllcy1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY29udGV4dC1lZGl0LXByb3BlcnRpZXMpLCB0cnVlLCBmYWxzZSkgIWRlZmF1bHQ7XHJcbi8vIENvbnRleHQgbWVudSBpbnNlcnQgYmVmb3JlXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtaW5zZXJ0LWJlZm9yZS1pY29uOiBpZihtYXAtaGFzLWtleSgkc2l0ZS1pY29ucywgY29udGV4dC1pbnNlcnQtYmVmb3JlKSwgdHJ1ZSwgZmFsc2UpICFkZWZhdWx0O1xyXG4vLyBDb250ZXh0IG1lbnUgaW5zZXJ0IGFmdGVyXHJcbiRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtaW5zZXJ0LWFmdGVyLWljb246IGlmKG1hcC1oYXMta2V5KCRzaXRlLWljb25zLCBjb250ZXh0LWluc2VydC1hZnRlciksIHRydWUsIGZhbHNlKSAhZGVmYXVsdDtcclxuLy8gTWVyZ2UgZGVmYXVsdCBpY29ucyB3aXRoIHNpdGUgc3BlY2lmaWMgaWNvbnMgaWYgZW5hYmxlZC5cclxuJHNpdGUtaWNvbnM6IG1hcC1tZXJnZSgkZGVmYXVsdC1zaXRlLWljb25zLCAkc2l0ZS1pY29ucyk7XHJcblxyXG5cclxuLy8gLS0tIEFjY291bnQgQXJlYSBJY29ucyAtLS0gXHJcbi8vIFRoZXNlIGFyZSB0eXBpY2FsbHkgZnJvbSB0aGUgZm9udGVsbG8gbGlicmFyeS5cclxuJGRlZmF1bHQtYWNjb3VudC1pY29uczogKFxyXG4gICAgY2hhbmdlLWRldGFpbHM6ICdcXEU4MDEnLFxyXG4gICAgY2hhbmdlLXBhc3N3b3JkOiAnXFxFODAyJyxcclxuICAgIGNvbnRyYWN0LWl0ZW1zOiAnXFxFODA2JyxcclxuICAgIHZpZXctb3JkZXJzOiAnXFxFODBFJyxcclxuICAgIGZhdm91cml0ZXM6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZhdm91cml0ZXMtZGVmYXVsdCksXHJcbiAgICByZWNlbnRseS1wdXJjaGFzZWQ6ICdcXEU4MEYnLFxyXG4gICAgbWFuYWdlLWNhcmRzOiAnXFxFODBDJyxcclxuICAgIHN0YXRlbWVudDogJ1xcRTgwNycsXHJcbiAgICBtYW5hZ2UtdXNlcnM6ICdcXEU4MEQnLFxyXG4gICAgYnJhbmNoLXN3aXRjaGVyOiAnXFxFODAwJyxcclxuICAgIGNvbnRhY3QtcHJlZmVyZW5jZXM6ICdcXEU4MDUnLFxyXG4gICAgaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6ICdcXEU4MDknLFxyXG4gICAgbG9nb3V0OiAnXFxFODBBJyxcclxuICAgIGFjY291bnQ6ICdcXGYwMDcnLFxyXG4gICAgb3JkZXItdXBsb2FkOiAnXFxFODM1JyxcclxuICAgIGJhc2tldC11cGxvYWQ6ICdcXEU4MzYnLFxyXG4gICAgbWFuYWdlLWNhbGxzOiAnXFxFODFFJyxcclxuICAgIHNlcnZpY2UtY29udHJhY3RzOiAnXFxFODQwJyxcclxuICAgIGN1c3RvbWVyLWFzc2V0czogJ1xcRTgyNScsXHJcbiAgICBwYXltZW50LXJlcXVlc3RzOiAnXFxFODI2JyxcclxuICAgIGRvd25sb2FkLXByaWNlLWxpc3RzOiAnXFxFODdBJyxcclxuICAgIHNpdGUtbGlzdDogJ1xcRTgzRicsXHJcbiAgICBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQ6ICdcXEU4NDEnLFxyXG4gICAgZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlOiAnXFxFODQyJyxcclxuICAgIG9ubGluZS1kb2N1bWVudGF0aW9uOiAnXFxFODQ0JyxcclxuICAgIGRlZmF1bHQtaWNvbjogJ1xcRTg0MycsXHJcbiAgICBzb2Z0d2FyZS1kZXZlbG9wbWVudC1sb2dzOiAnXFxFODQ1JyxcclxuICAgIGVtcGxveWVlLXN0YXR1czogJ1xcRTg0QicsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtc3RhcnQtd29yazogJ1xcRTg0QicsXHJcbiAgICBlbXBsb3llZS1zdGF0dXMtZW5kLXdvcms6ICdcXEU4NDknLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLWx1bmNoLXN0YXJ0OiAnXFxFODQ3JyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1sdW5jaC1lbmQ6ICdcXEU4NDYnLFxyXG4gICAgZW1wbG95ZWUtc3RhdHVzLWFycml2aW5nOiAnXFxFODRDJyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1sZWF2aW5nOiAnXFxFODRBJyxcclxuICAgIGVtcGxveWVlLXN0YXR1cy1zaWNrOiAnXFxFODIzJyxcclxuICAgIG1pY3Jvc29mdC1zdWJzY3JpcHRpb25zOiAnXFxmMTdhJyxcclxuICAgIGNhbGwtc3RhdGlzdGljczogJ1xcRTg1MidcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIENyZWF0ZSBkZWZhdWx0IGljb25zIG1hcCBpZiBpdCBoYXNuJ3QgYmVlbiBkZWZpbmVkIGluIHNpdGUgc3BlY2lmaWMgYnJhbmRpbmcgZmlsZS5cclxuJGFjY291bnQtaWNvbnM6ICgpICFkZWZhdWx0O1xyXG5cclxuLy8gQW55IGN1c3RvbSBpY29ucyBlbmFibGVkPyBcclxuJHNpdGUtaWNvbnMtY3VzdG9tLWFjY291bnQtaWNvbjogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyBNZXJnZSBkZWZhdWx0IGljb25zIHdpdGggc2l0ZSBzcGVjaWZpYyBpY29ucyBpZiBzaXRlIHNwZWNpZmljIGljb25zIGVuYWJsZWQuXHJcbiRhY2NvdW50LWljb25zOiBtYXAtbWVyZ2UoJGRlZmF1bHQtYWNjb3VudC1pY29ucywgJGFjY291bnQtaWNvbnMpO1xyXG4vLyAtLS0tLSBJbnB1dHMgLS0tLS0gXHJcbi8vIC0tLSBHZW5lcmFsIC0tLSBcclxuJGlucHV0LWJvcmRlci1yYWRpdXM6IGlmKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCwgJHNtb290aC1lZGdlcy1sZXZlbCwgMCkgIWRlZmF1bHQ7XHJcbiRpbnB1dC1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kaW5wdXQtZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCdzZWNvbmRhcnktZm9udCcpICFkZWZhdWx0O1xyXG4kaW5wdXQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAyKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKSAhZGVmYXVsdDtcclxuJGlucHV0LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCA3KSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKSxcclxuICAgIGFjdGl2ZTogJGlucHV0LWJvcmRlci1tYWluLWNvbG91cixcclxuICAgIGFjdGl2ZS1ob3ZlcjogJGlucHV0LWJvcmRlci1tYWluLWNvbG91cixcclxuICAgIGhvdmVyOiAkaW5wdXQtYm9yZGVyLW1haW4tY29sb3VyLFxyXG4gICAgaW52YWxpZDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGlucHV0LXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbi8vIEZpbGUgaW5wdXRcclxuJGlucHV0LWZpbGUtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDcwMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWxhYmVsLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggMTBweCxcclxuICAgIGxhcmdlOiAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWxhYmVsLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWxhYmVsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6IHJnYmEoJGNvbG91cjQsIC43KVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC00LFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWJvcmRlci1pbm5lci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS11cGxvYWQtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LWZpbGUtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtZmlsZS11cGxvYWQtaXMtcmVhZHktaWNvbi1mb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucyAhZGVmYXVsdDtcclxuJGlucHV0LWZpbGUtb3V0ZXItYm9yZGVyLXdpZHRoOiA0cHggIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWlubmVyLWJvcmRlci13aWR0aDogMi41cHggIWRlZmF1bHQ7XHJcbiRpbnB1dC1maWxlLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyMCxcclxuICAgIGFjdGl2ZTogcmdiYSgkY29sb3VyNC0xLCAuMSlcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBSaWNoIFRleHQgRWRpdG9yIC0tLVxyXG4kcmljaC10ZXh0LWVkaXRvci1pbmRlbnRhdGlvbi1vZmZzZXQ6IDI1cHggIWRlZmF1bHQ7XHJcbiRyaWNoLXRleHQtZWRpdG9yLWluZGVudGF0aW9uLW1heC1sZXZlbHM6IDUgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gRm9ybXMgLS0tXHJcbiRmb3Jtcy1sYWJlbC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXRleHQtYWxpZ246IChcclxuICAgIHNtYWxsOiBsZWZ0LFxyXG4gICAgbWVkaXVtOiBjZW50ZXIsXHJcbiAgICBsYXJnZTogY2VudGVyXHJcbikgIWRlZmF1bHQ7XHJcbiRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMjA1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvcm1zLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIwICFkZWZhdWx0O1xyXG4vLyBTaW5nbGUgQ29sdW1uIEZvcm1zLlxyXG4kZm9ybXMtc2luZ2xlLWNvbHVtbi1ib3JkZXI6IDFweCBzb2xpZCBkZWZhdWx0LWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cikgIWRlZmF1bHQ7XHJcbiRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIEhlYWRpbmcgKCBoMiApXHJcbiRmaWVsZHNldC1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC00KSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtNCkgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1oZWFkaW5nLXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWhlYWRpbmctZm9udC1zaXplOiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtNCkgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC00KSAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LWhlYWRpbmctYm9yZGVyLWJvdHRvbTogbnVsbCAhZGVmYXVsdDtcclxuLy8gU3ViIEhlYWRpbmcgKCBoMyApXHJcbiRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1zdWItaGVhZGluZy1mb250LXNpemU6IDI0ICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEZpZWxkc2V0ICsgSW5wdXRzIC0tLVxyXG4kZmllbGRzZXQtaW5wdXQtaGVpZ2h0OiA0NXB4ICFkZWZhdWx0O1xyXG4kZmllbGRzZXQtaW5wdXQtcGFkZGluZzogNXB4IDAgNXB4IDI1cHggIWRlZmF1bHQ7XHJcbiRmaWVsZC13aWR0aDogKFxyXG4gICAgbW9iaWxlOiAxMDAlLFxyXG4gICAgZGVza3RvcDogNjQwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZpZWxkLXNldC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZpZWxkLWlucHV0LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiA0MzBweFxyXG4pICFkZWZhdWx0O1xyXG4kZmllbGQtbGFiZWwtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZpZWxkLWxhYmVsLW1hcmdpbi1sZWZ0OiA1MHB4ICFkZWZhdWx0O1xyXG4kZmllbGQtbGFiZWwtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLFxyXG4gICAgbGFyZ2U6IDEwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4kZmllbGQtanVzdGlmeS1jZW50ZXI6IHRydWUgIWRlZmF1bHQ7XHJcbi8vIERlZmF1bHQgd2lkdGggd2lkdGhvdXQgYW55IGNsYXNzLlxyXG4kZmllbGRzZXQtbGFiZWwtd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDE2MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRoaXMgaXMgbm90IGJyZWFrcG9pbnQgd2lkdGhzIGJ1dCByYXRoZXIgY2xhc3Mgc2l6ZXMgLnNtYWxsLCAubWVkaXVtLCAubGFyZ2VcclxuJGZpZWxkLWxhYmVsLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMzAwcHgsXHJcbiAgICBtZWRpdW06IDM1MHB4LFxyXG4gICAgbGFyZ2U6IDQ0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmaWVsZHNldC1sYWJlbC1wYWRkaW5nOiAoXHJcbiAgICBsYXJnZTogMCAwIDAgMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIExhYmVscyAtLS0gXHJcbiRsYWJlbC1pbnB1dC1nYXA6IDVweCAhZGVmYXVsdDtcclxuJGxhYmVsLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBmb3JtIGNvbnRhaW5lcnMuXHJcbiRjb2x1bW4tY29udGVudC1jb250YWluZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLCBcclxuICAgIGxhcmdlOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2x1bW4tY21zLWNvbnRlbnQtY29udGFpbmVyOiAoXHJcbiAgICBzbWFsbDogMCAxNXB4IDcuNXB4LFxyXG4gICAgbGFyZ2U6IDAgODVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gYWRkaXRpb25hbCBpbmZvLlxyXG4kYWRkaXRpb25hbC1pbmZvLWltYWdlLW1hcmdpbjogMCAxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gSW5wdXRzIC0tLS0tXHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KVxyXG4pICFkZWZhdWx0O1xyXG4kaW5wdXQtYm94LXNoYWRvdzogKFxyXG4gICAgaG92ZXI6ICRib3hTaGFkb3cxXHJcbikgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvdXI6ICRjb2xvdXIzLTQgIWRlZmF1bHQ7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kc2VhcmNoLWJ1dHRvbi13aWR0aDogNzBweCAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1mb250LXNpemU6IDEzICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLWZvbnQtd2VpZ2h0OiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm06ICRpbnB1dC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1zdHlsZTogbnVsbCAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1jb2xvdXI6IGRlZmF1bHQtY29sb3VyKCRpbnB1dC1jb2xvdXIpICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHNlYXJjaC1idXR0b24taWNvbi1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kaW5wdXQtc2VhcmNoLWJ1dHRvbi1ib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDAgIWRlZmF1bHQ7XHJcbiRpbnB1dC1zZWFyY2gtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWFyY2gtYnV0dG9uLWlubmVyLWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ2hlY2tib3hlcyAtLS1cclxuJGNoZWNrYm94LWRpbWVudGlvbnM6IDIwcHggIWRlZmF1bHQ7XHJcbiRjaGVja2JveC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlLWhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUtaG92ZXIpLFxyXG4gICAgYWN0aXZlLWRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3ZlcilcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBSYWRpbyBCdXR0b25zIC0tLVxyXG4kcmFkaW8tZGltZW50aW9uczogMTVweCAhZGVmYXVsdDtcclxuJHJhZGlvLWljb24tZGltZW5zaW9uczogKCRyYWRpby1kaW1lbnRpb25zIC8gMikgIWRlZmF1bHQ7XHJcbiRyYWRpby1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkY2hlY2tib3gtaWNvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRyYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFNlbGVjdCBEcm9wZG93bnMgLS0tXHJcbiRzZWxlY3QtZHJvcGRvd24tZGVmYXVsdC1oZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tZGVmYXVsdC13aWR0aDogKFxyXG4gICAgc21hbGw6IDkwcHgsXHJcbiAgICBtZWRpdW06IDIxNXB4LFxyXG4gICAgbGFyZ2U6IDM0MHB4LFxyXG4pICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLWZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJ1dHRvbi13aWR0aDogMzBweCAhZGVmYXVsdDtcclxuLy8gVE9ETzogaG92ZXIgJiBhY3RpdmUgaW1wbGVtZW50YXRpb24uXHJcbiRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1zaXplOiAxOHB4ICFkZWZhdWx0O1xyXG4kc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0yLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEFuY2hvcnMgLS0tIFxyXG4kYW5jaG9ycy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsIFxyXG4gICAgaG92ZXI6IC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCxcclxuICAgIGFjdGl2ZTogLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMFxyXG4pICFkZWZhdWx0O1xyXG4kYW5jaG9ycy10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XHJcbiRhbmNob3JzLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcclxuJGFuY2hvcnMtZm9udC13ZWlnaHQ6IGluaGVyaXQgIWRlZmF1bHQ7XHJcbiRhbmNob3JzLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb3Jnb3R0ZW4gcGFzc3dvcmQgbGluayAtLS1cclxuJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMlxyXG4pICFkZWZhdWx0O1xyXG4kZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9yZ290dGVuLXBhc3Nvd3JkLWFuY2hvci1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBTU08gLS0tLS1cclxuJHNzby1idXR0b24tbWljcm9zb2Z0LXRoZW1lOiAnbGlnaHQnICFkZWZhdWx0O1xyXG4kc3NvLWJ1dHRvbi13aWR0aDogKFxyXG4gICAgc21hbGw6IDcwJSxcclxuICAgIG1lZGl1bTogMzAwcHhcclxuKSAhZGVmYXVsdDtcclxuJHNzby1jb21tb24tZ2FwOiAyMHB4ICFkZWZhdWx0O1xyXG4kc3NvLXNlcGVyYXRvci1mb250LXNpemU6ICgkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLS0tIENNUyAvIFRleHREQiBjb250ZW50IGNvbnRhaW5lciAtLS0tLVxyXG4kY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDI1cHgsXHJcbiAgICBsYXJnZTogMCA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBDbG9zZSBidXR0b24gLS0tLS0gXHJcbiRpY29uLXNpemU6IDI0cHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBNb2RhbHMgLS0tLS1cclxuJG1vZGFsLWNvbnRlbnQtei1pbmRleDogMjAwMSAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciAtLS1cclxuJG1vZGFsLWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuJG1vZGFsLWhlYWRlci1oZWFkaW5nLWZvbnQtc2l6ZTogMjUgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kbW9kYWwtaGVhZGVyLWhlYWRpbmctbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItY21zLWZvbnQtc2l6ZTogKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSkgIWRlZmF1bHQ7XHJcbiRtb2RhbC1oZWFkZXItY21zLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDE1cHggMCxcclxuICAgIGxhcmdlOiAzMHB4IDMwcHggLy8gQmFsYW5jaW5nIHRvcCArIGJvdHRvbSBmb3IgODUwMTc1LlxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gTW9kYWwgZm9ybXMgLS0tXHJcbiRtb2RhbC1mb3JtLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aDogOTAwcHggIWRlZmF1bHQ7XHJcbiRtb2RhbC1mb3JtLWZvcm0tbWF4LXdpZHRoOiA4MCUgIWRlZmF1bHQ7XHJcbiRtb2RhbC1mb3JtLWZvcm0tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogYXV0byxcclxuICAgIGxhcmdlOiAyMHB4IGF1dG8gMzBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQnV0dG9ucyAtLS0tLVxyXG4vLyBDb21tb24gYnV0dG9uIHN0eWxlcyAoIHRoZXNlIGFyZSB1c2VkIG9uIG11bHRpcGxlIGJ1dHRvbnMuXHJcbiRjb21tb24tYnV0dG9uLW1hcmdpbjogKHNtYWxsOiA1cHggMTBweCwgbGFyZ2U6IDApICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1wYWRkaW5nOiAxNXB4IDM1cHggIWRlZmF1bHQ7XHJcbi8vICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbi8vIEFzc29jaWF0ZWQgPSBidXR0b25zIHRoYXQgYXJlIGxpbmtlZCB0byBhbiBpbnB1dCAoIGkuZSBsb29rdXBzIClcclxuLy8gU3RhbmRhbG9uZSA9IGJ1dHRvbnMgdGhhdCBhcmUgbm90IGRpcmVjdGx5IGxpbmtzIHRvIGlucHV0cyAoIGkuZSBmb3JtIHN1Ym1pc3Npb25zICYgYW5jaG9ycyApXHJcbiRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZXM6IChcclxuICAgIGFzc29jaWF0ZWQ6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LXNpemUsXHJcbiAgICBzdGFuZGFsb25lOiAxNlxyXG4pICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodHM6IChcclxuICAgIGFzc29jaWF0ZWQ6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodCxcclxuICAgIHN0YW5kYWxvbmU6IDcwMFxyXG4pICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodDogZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSAhZGVmYXVsdDtcclxuJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLXdvcmQtc3BhY2luZzogMnB4ICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1sZXR0ZXItc3BhY2luZzogLjZweCAhZGVmYXVsdDtcclxuLy8gTm9ybWFsbHkgd2hlbiB5b3Ugc2V0IHVwcGVyY2FzZSBhbmQgZm9udCB0byBib2xkIHlvdSB3aWxsIHdhbnQgdG8gaW5jcmVhc2UgdGhlIGxldHRlciBzcGFjaW5nIGZvciBsZWdpYmlsaXR5IHJlYXNvbnMgKCB0aGlzIGlzIG9idmlvdXNseSBkZXBlbmRhbnQgb24gdGhlIGZvbnQgZmFtaWx5IGJlaW5nIHVzZWQgKVxyXG4kY29tbW9uLWJ1dHRvbi1sZXR0ZXItc3BhY2luZy11cHBlcmNhc2UtYm9sZDogKCRjb21tb24tYnV0dG9uLWxldHRlci1zcGFjaW5nICogMikgIWRlZmF1bHQ7XHJcbiRjb21tb24tYnV0dG9uLWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kY29tbW9uLWJ1dHRvbi1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuLy8gUHJpbWFyeSBidXR0b24gc3R5bGVzLlxyXG4kcHJpbWFyeS1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBsaWdodGVuKGRlc2F0dXJhdGUoYWRqdXN0LWh1ZSgkY29sb3VyNC0xLCAtNyUpLCA0JSksIDQ0JSksXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2LFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRwcmltYXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNC0xLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNixcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gU2Vjb25kYXJ5IGJ1dHRvbiBzdHlsZXMuXHJcbiRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbi8vJHNlY29uZGFyeS1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vJHNlY29uZGFyeS1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsIFxyXG4gICAgaG92ZXI6IGxpZ2h0ZW4oZGVzYXR1cmF0ZShhZGp1c3QtaHVlKCRjb2xvdXI0LTEsIC03JSksIDQlKSwgNDQlKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLCBcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRlcnRpYXJ5IGJ1dHRvbiBzdHlsZXNcclxuJHRlcnRpYXJ5LWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4vLyR0ZXJ0aWFyeS1idXR0b24tZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vJHRlcnRpYXJ5LWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiR0ZXJ0aWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgOSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kdGVydGlhcnktYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJHRlcnRpYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMiksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gUXVhdGVybmFyeSBidXR0b24gc3R5bGVzXHJcbiRxdWF0ZXJuYXJ5LWJ1dHRvbi1wYWRkaW5nOiAzLjVweCAxNnB4ICFkZWZhdWx0O1xyXG4kcXVhdGVybmFyeS1idXR0b24tZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuLy8kcXVhdGVybmFyeS1idXR0b24tZm9udC13ZWlnaHQ6ICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcXVhdGVybmFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI2LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kcXVhdGVybmFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBRdWluYXJ5IGJ1dHRvbiBcclxuJHF1aW5hcnktYnV0dG9uLXBhZGRpbmc6ICRjb21tb24tYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbi8vJHF1aW5hcnktYnV0dG9uLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbi8vJHF1aW5hcnktYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHF1aW5hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMyxcclxuICAgIGhvdmVyOiAkY29sb3VyNC00LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRxdWluYXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kcXVpbmFyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEdlbmVyaWMgY21zIGJ1dHRvbiBcclxuJGNtcy1idXR0b24tcGFkZGluZzogJGNvbW1vbi1idXR0b24tcGFkZGluZyAhZGVmYXVsdDtcclxuLy8kY21zLWJ1dHRvbi1mb250LXNpemU6ICRjb21tb24tYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8kY21zLWJ1dHRvbi1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjYsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG9yKCRjbXMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBDTVMgYW5jaG9yIHByb2NlZWQgYnV0dG9uLlxyXG4kY21zLWJ1dHRvbi1wcm9jZWVkLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLXByb2NlZWQtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGNtcy1idXR0b24tcHJvY2VlZC10ZXh0LXRyYW5zZm9ybTogJGNvbW1vbi1idXR0b24tdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbi8vIExvY2F0aW9uIGJ1dHRvbiAgKCBzdG9ja2lzdCApXHJcbiRsb2NhdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRsb2NhdGlvbi1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGxvY2F0aW9uLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0xLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWNpdHZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyBCYXJjb2RlIHNjYW5uZXIgdG9nZ2xlIGJ1dHRvbi5cclxuJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHNlY29uZGFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYm9yZGVyLWNvbG91ci1kZXNrdG9wOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1pY29uLWNvbmZpZzogKFxyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFyY29kZS1zY2FubmVyLWJ1dHRvbi1pY29uKSxcclxuICAgIHBvc2l0aW9uOiBhZnRlcixcclxuICAgIG1hcmdpbjogMCAwIDAgMTVweCxcclxuICAgIGNvbG91cjogKFxyXG4gICAgICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRzZWNvbmRhcnktYnV0dG9uLWNvbG91ciksXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjFcclxuICAgICksXHJcbiAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucyxcclxuICAgIHNpemU6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIFN0b2NrbGluZSBidXR0b25cclxuJHN0b2NrbGluZS1idXR0b24tcGFkZGluZzogMjBweCAxMHB4ICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6ICBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLCBcclxuICAgIGFjdGl2ZTogIG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4vLyRzdG9ja2xpbmUtYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBOb3QgbG9nZ2VkIGluXHJcbi8vIEFkanVzdGluZyB0aGUgcGFkZGluZyB3aWxsIGNhdXNlIHRoZXNlIGJ1dHRvbnMgdG8gZ28gb3V0IG9mIHZlcnRpY2xlIGFsaWdubWVudCB3aXRoIHRoZSBidXlpbmcgZm9ybS5cclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLXBhZGRpbmc6ICRzdG9ja2xpbmUtYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRub3QtbG9nZ2VkLWluLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogIG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSwgXHJcbiAgICBhY3RpdmU6ICBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRub3QtbG9nZ2VkLWluLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBFbnF1aXJ5IGJ1dHRvbi5cclxuJGVucXVpcnktYnV0dG9uLXBhZGRpbmc6ICRzdG9ja2xpbmUtYnV0dG9uLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRlbnF1aXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogIG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSwgXHJcbiAgICBhY3RpdmU6ICBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRlbnF1aXJ5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHN0b2NrbGluZS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kZW5xdWlyeS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRzdG9ja2xpbmUtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkc3RvY2tsaW5lLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbi8vJGVucXVpcnktYnV0dG9uLWZvbnQtc2l6ZTogJGNvbW1vbi1idXR0b24tZm9udC1zaXplICFkZWZhdWx0O1xyXG4vLyBQYWdlIGFjdGlvbiBidXR0aW9uc1xyXG4vLyBEZWZhdWx0LlxyXG4kYS1kZWZhdWx0LWJ1dHRvbi1wYWRkaW5nOiAkY29tbW9uLWJ1dHRvbi1wYWRkaW5nICFkZWZhdWx0O1xyXG4vLyRhLWRlZmF1bHQtZm9udC1zaXplOiAkY29tbW9uLWJ1dHRvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vJGEtZGVmYXVsdC1mb250LXdlaWdodDogJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRhLWRlZmF1bHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogIG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksIFxyXG4gICAgYWN0aXZlOiAgbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGEtZGVmYXVsdC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHByaW1hcnktYnV0dG9uLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGEtZGVmYXVsdC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRzdGF0dXMtYnV0dG9uLWNvbW1vbi13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuLy8gU3VjY2Vzcy5cclxuJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgOSksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLCBcclxuICAgIGFjdGl2ZTogZGVmYXVsdC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kc3VjY2Vzcy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkc3VjY2Vzcy1idXR0b24tY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFdhcm5pbmcuXHJcbiR3YXJuaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSxcclxuICAgIGFjdGl2ZTogZGVmYXVsdC1jb2xvdXIoJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kd2FybmluZy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkd2FybmluZy1idXR0b24tY29sb3VyKSxcclxuICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoJHdhcm5pbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkd2FybmluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEFsZXJ0LlxyXG4kYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbiAgICBhY3RpdmU6IGRlZmF1bHQtY29sb3VyKCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGFsZXJ0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6bWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYWxlcnQtYnV0dG9uLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIENhbmNlbCAvIGJhY2sgYnV0dG9uXHJcbiRjYW5jZWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjMtMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGNhbmNlbC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNhbmNlbC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuLy8gQWxlcnQgLyByZW1vdmUgLyBkZWxldGUgYnV0dG9uLlxyXG4kYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDkpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRhbGVydC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBDTVMgYnV0dG9ucyBzdWNoIGFzIGJsb2csIG5ld3MgJiBldmVudHMuXHJcbiRjbXMtYnV0dG9uLWxpbmstY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMiksXHJcbiAgICBob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBhY3RpdmU6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKVxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1oZWFkaW5nLXVuZGVybGluZTogKFxyXG4gICAgaDE6IGZhbHNlLFxyXG4gICAgaDI6IGZhbHNlLFxyXG4gICAgaDM6IGZhbHNlXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1saW5rLWZvbnQtd2VpZ2h0OiBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpICFkZWZhdWx0O1xyXG4kY21zLWJ1dHRvbi1saW5rLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuXHJcbi8vIE5ld3MgYnV0dG9uXHJcbiRuZXdzLWJ1dHRvbi1pY29uLXNpemU6IDE5ICFkZWZhdWx0O1xyXG5cclxuLy8gQmxvZyBidXR0b25cclxuJGJsb2ctYnV0dG9uLWljb24tc2l6ZTogMTkgIWRlZmF1bHQ7XHJcblxyXG4vLyBFdmVudHMgYnV0dG9uXHJcbiRldmVudHMtYnV0dG9uLWljb24tc2l6ZTogMTkgIWRlZmF1bHQ7XHJcblxyXG4vLyBUaGlyZCBQYXJ0eSB0cmFja2luZyBidXR0b24uXHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tcGFkZGluZzogMTBweCFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tZm9udC13ZWlnaHQ6IDYwMDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTZcclxuKSAhZGVmYXVsdDtcclxuJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1zaXplOiAxNnB4ICFkZWZhdWx0O1xyXG4kdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tZ3V0dGVyOiAxMnB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFJlcXVpcmVkIHByb21wdCAtLS1cclxuJHJlcXVpcmVkLXByb21wdC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbWFwLWdldCgkZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nLCBzbWFsbCksXHJcbiAgICBsYXJnZTogMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRyZXF1aXJlZC1wcm9tcHQtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIGxhcmdlOiAwIDAgMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kcmVxdWlyZWQtcHJvbXB0LWZvbnQtc2l6ZTogMTQuNCAhZGVmYXVsdDtcclxuJHJlcXVpcmVkLXByb21wdC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kcmVxdWlyZWQtcHRvbXB0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIE1lbnVzIC0tLS0tXHJcbi8vIENvbW1vbiBzdHlsZXMgKCB0eXBpY2FsbHkgdGhlIG1vYmlsZSBleHBpZXJhbmNlICkuXHJcbiRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmc6IDcuNXB4IDVweCA3LjVweCAxNnB4ICFkZWZhdWx0O1xyXG4vLyBIZWFkZXJcclxuJG1lbnVzLWhlYWRlci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kbWVudXMtaGVhZGVyLWZvbnQtc2l6ZTogMjUgIWRlZmF1bHQ7XHJcbiRtZW51cy1oZWFkZXItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuXHJcbi8vIEFjdHVhbCBtZW51c1xyXG4kbWVudXMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHNtYWxsOiAkY29sb3VyMSxcclxuICAgIGxhcmdlOiAkY29sb3VyNC0yXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWVnYS1tZW51LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1tZWdhLW1lbnUtZ3JhZGlhbnQtYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcclxuJG1lbnVzLXN1Ym1lbnUtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1lZ2EtbWVudS1ib3gtc2hhZG93OiBudWxsICFkZWZhdWx0O1xyXG4kbWVudS1kcm9wZG93bi1hcnJvd3M6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTogMTJweCAhZGVmYXVsdDtcclxuJG1lbnUtZ3JvdXAtZHJvcGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xyXG4kbWVudXMtbGlzdC1pdGVtLWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJG1lbnVzLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGlzdC1pdGVtLWNvbG91cjogKFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMS1ib3JkZXItYm90dG9tOiAoXHJcbiAgICBzbWFsbDogMXB4IHNvbGlkICRjb2xvdXIzLTJcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTItaWNvbi1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMi1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMi1ib3JkZXItdG9wOiAoXHJcbiAgICBzbWFsbDogMXB4IHNvbGlkICRjb2xvdXIzLTJcclxuKSAhZGVmYXVsdDtcclxuJG1lbnVzLWxldmVsLTItbGktYm9yZGVyOiAoXHJcbiAgICBzbWFsbDogMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gVmlldyBNb3JlXHJcbiRtZWdhLW1lbnUtdmlldy1tb3JlLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtdmlldy1tb3JlLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS12aWV3LW1vcmUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMlxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxpbmstaWNvbi1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1saW5rLWljb24tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMTBweCAwIDAsXHJcbiAgICBsYXJnZTogMCAxMHB4IDAgNXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcbi8vIC0tLSBUcmVlIG1lbnUgLS0tXHJcbiR0cmVlLW1lbnUtYnJhbmNoLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtbGV2ZWwtMS1sYWJlbC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCAwIDEwcHggNi42NnB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMCAxMHB4IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1sZXZlbC0yLWxhYmVsLXBhZGRpbmc6ICggXHJcbiAgICBsYXJnZTogMTBweCAwIDEwcHggNzBweFxyXG4pICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luOiAyMHB4ICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZTogMjVweCAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLWZvbnQtc2l6ZTogJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZSAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1ub2RlLXNlcGVyYXRvci1ib3JkZXI6IDJweCBzb2xpZCAkdHJlZS1tZW51LWJyYW5jaC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiR0cmVlLW1lbnUtY29udGVudC1pY29uLXdpZHRoOiAzMHB4ICFkZWZhdWx0OyBcclxuJHRyZWUtbWVudS1jb250ZW50LWljb24tc2l6ZTogMjBweCAhZGVmYXVsdDtcclxuJHRyZWUtbWVudS1leHBhbmQtYWxsLWljb24tZm9udC1zaXplOiAoJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZSAtIDQpICFkZWZhdWx0O1xyXG4kdHJlZS1tZW51LWFzc2V0cy1yb290LWxhYmVsLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFRyZWUgTWVudSAoIGFzc2V0cyApIC0tLVxyXG4kdHJlZS1tZW51LWFzc2V0cy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtNiAhZGVmYXVsdDtcclxuLy8gLS0tIEZ1bmN0aW9ucyBMaXN0IC0tLSBcclxuJGZ1bmN0aW9ucy1tZW51LWl0ZW0tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDVweCA1cHggNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuJGZ1bmN0aW9ucy1tZW51LWFycm93LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBUYWJsZXMgLS0tLS1cclxuJHRhYmxlLXByZXNldC0xLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDEwcHggMCxcclxuICAgIGxhcmdlOiAxNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuLy8gVGFibGUgUm93IE5vdGlmaWNhdGlvbnMgKCBNYW5hZ2UgQ2FsbHMgKSBcclxuJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGg6IChcclxuICAgIGRlZmF1bHQ6IDJweCxcclxuICAgIGhvdmVyOiA2cHhcclxuKSAhZGVmYXVsdDtcclxuJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4vLyBSb3cgVG9nZ2xlLlxyXG4kdGFibGUtcm93LXRvZ2dsZS1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuLy8gVGFibGUgSGVhZFxyXG4kdGhlYWQtYm9yZGVyLWNvbG91cjogJGhlYWRpbmctcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiR0aGVhZC10aC1jb21tb24tZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbiR0aGVhZC10aC1jb21tb24tbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiR0aGVhZC1wcmVzZXQtMTogKFxyXG4gICAgcGFkZGluZzogMCA1cHggMTBweCwgXHJcbiAgICBmb250LXNpemU6IDE1LFxyXG4gICAgZm9udC13ZWlnaHQ6IDcwMCxcclxuICAgIGNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICByb3ctYm9yZGVyOiAkY29tbW9uLXJ1bGUtd2VpZ2h0IHNvbGlkICR0aGVhZC1ib3JkZXItY29sb3VyLFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjAsXHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIsXHJcbiAgICB0ZXh0LXRyYW5mb3JtOiBub25lXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFByaW1hcmlseSB1c2VkIGZvciB0aGUgYmFza2V0LlxyXG4kdGhlYWQtcHJlc2V0LTI6IChcclxuICAgIHBhZGRpbmc6IDAgMCAyMHB4LFxyXG4gICAgZm9udC1zaXplOiAxNCxcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDAsXHJcbiAgICBjb2xvcjogJGNvbG91cjIsXHJcbiAgICByb3ctYm9yZGVyOiAkY29tbW9uLXJ1bGUtd2VpZ2h0IHNvbGlkICR0aGVhZC1ib3JkZXItY29sb3VyLFxyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjBcclxuKSAhZGVmYXVsdDtcclxuLy8gU29ydGluZ1xyXG4kdGhlYWQtc29ydGluZy1idXR0b24taWNvbi1zaXplOiAoJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemUgLSAyKTtcclxuLy8gVGFibGUgQm9keVxyXG4kdGJvZHktcm93LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy03KSxcclxuICAgIGhvdmVyOiAkdGhlYWQtYm9yZGVyLWNvbG91clxyXG4pICFkZWZhdWx0O1xyXG4kdGJvZHktbWFyZ2luOiAxMHB4ICFkZWZhdWx0O1xyXG4kdGJvZHktcm93LWJvcmRlci1zcGFjaW5nOiAwIDEwcHggIWRlZmF1bHQ7XHJcbiR0Ym9keS1yb3ctaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdGJvZHktYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHRib2R5LWFuY2hvci1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kdGJvZHktYW5jaG9yLWZvbnQtc2l6ZTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkgIWRlZmF1bHQ7XHJcbiR0Ym9keS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuLy8gUm93c1xyXG4vLyBTcGFjaW5nIGJldHdlZW4gcm93LCB0aGlzIGdldHMgdXNlZCBkaWZmZXJlbnRseSBkZXBlbmRpbmcgb24gd2hhdCBlZmZlY3RzIGFyZSBhcHBsaWVkIHRvIHRoZSB0YWJsZSAoIGkuZSBpZiB5b3UncmUgc2hvdyBydWxlcyBiZXR3ZWVuIHJvdyApXHJcbiR0YWJsZS1yb3ctYm90dG9tLXNwYWNpbmc6IDEwcHggIWRlZmF1bHQ7XHJcbi8vIFRhYmxlIGZvb3RlciBzcGFjZXIuXHJcbiR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTE6IChcclxuICAgIHNtYWxsOiAxNXB4LFxyXG4gICAgbGFyZ2U6IDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMjogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBQREYgVGFibGUgQW5jaG9yc1xyXG4kcGRmLXRhYmxlLWFuY2hvci1tYXJnaW46IDE1cHggIWRlZmF1bHQ7XHJcbi8vIE9yZGVyIFRhYmxlICggUHJpbWFybHkgdXNlZCBmb3IgYmFza2V0LCB2aWV3IG9yZGVyICYgY2hlY2tvdXQgY29tcGxldGUgKVxyXG4kb3JkZXItbW9iaWxlLXJvdy1wYWRkaW5nOiA1cHggMCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnM6IChcclxuICAgIHNtYWxsOiAxNTVweCxcclxuICAgIGxhcmdlOiAkdGFibGUtaW1hZ2Utc2l6ZVxyXG4pICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtaW1hZ2UtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuLy8gJG9yZGVyLXRhYmxlLWNvZGUtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLWNvZGUtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXByaWNlLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1wcmljZS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kb3JkZXItdGFibGUtc3ViLXRvdGFsLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRvcmRlci10YWJsZS1zdWItdG90YWwtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZTogODBweCAhZGVmYXVsdDtcclxuJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIENvbXBhcmlzb24gVGFibGUgLS0tIFxyXG4kY29tcGFyaXNvbi10YWJsZS1maXJzdC1jb2x1bW4td2lkdGg6IChcclxuICAgIHNtYWxsOiA1OCUsXHJcbiAgICBsYXJnZTogMTUlXHJcbikgIWRlZmF1bHQ7XHJcbiRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS12YWx1ZXMtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiRjb21wYXJpc29uLXRhYmxlLW1vYmlsZS1zZXBlcmF0b3I6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQ01TIENvbnRlbnQgLS0tLS0gXHJcbiRkZWZhdWx0LWNtcy10eXBvZ3JhcGh5LW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJGRlZmF1bHQtY21zLWNvcHktY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJGRlZmF1bHQtY21zLWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xyXG4vLyBDTVMgaGVhZGluZyBmb250IHNpemVcclxuJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZTogKFxyXG4gICAgaDE6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0xKSArIDEwLFxyXG4gICAgaDI6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC0xKSArIDEyLFxyXG4gICAgaDM6IG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXNpemUsIHByZXNldC0xKSArIDcsXHJcbiAgICBoNDogJHBhcmFncmFwaC1mb250LXNpemUgKyA3LFxyXG4gICAgaDU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgMyxcclxuICAgIGg2OiAkcGFyYWdyYXBoLWZvbnQtc2l6ZVxyXG4pICFkZWZhdWx0O1xyXG4vLyBDTVMgaGVhZGluZ3MgZm9udCB3ZWlnaHRcclxuJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBoMTogNjAwLFxyXG4gICAgaDI6IDYwMCxcclxuICAgIGgzOiA2MDAsXHJcbiAgICBoNDogNDAwLFxyXG4gICAgaDU6IDQwMCxcclxuICAgIGg2OiA0MDBcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGU6IChcclxuICAgIGgxOiBub3JtYWwsXHJcbiAgICBoMjogbm9ybWFsLFxyXG4gICAgaDM6IG5vcm1hbCxcclxuICAgIGg0OiBub3JtYWwsXHJcbiAgICBoNTogbm9ybWFsLFxyXG4gICAgaDY6IG5vcm1hbFxyXG4pICFkZWZhdWx0O1xyXG4vLyBDTVMgaGVhZGluZyBtYXJnaW5zXHJcbiRjbXMtaGVhZGluZy1tYXJnaW46IChcclxuICAgIGgxOiAyNXB4IDAgMjBweCxcclxuICAgIGgyOiAyNXB4IDAgMjBweCxcclxuICAgIGgzOiAyNXB4IDAgMTBweCxcclxuICAgIGg0OiAyNXB4IDAgMTBweCxcclxuICAgIGg1OiAxNXB4IDAgMTBweCxcclxuICAgIGg2OiAxNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1oZWFkaW5nLXBhZGRpbmc6IChcclxuICAgIGgxOiBudWxsLFxyXG4gICAgaDI6IG51bGwsXHJcbiAgICBoMzogMTVweCAwLFxyXG4gICAgaDQ6IDAgMCAxMHB4LFxyXG4gICAgaDU6IG51bGwsXHJcbiAgICBoNjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyBDTVMgaGVhZGluZyBjb2xvdXJzLlxyXG4kY21zLWhlYWRpbmctY29sb3VyOiAoXHJcbiAgICBoMTogJGNvbG91cjQsXHJcbiAgICBoMjogJGNvbG91cjQsXHJcbiAgICBoMzogJGNvbG91cjYsXHJcbiAgICBoNDogJGNvbG91cjQsXHJcbiAgICBoNTogJGRlZmF1bHQtY21zLWNvcHktY29sb3VyLFxyXG4gICAgaDY6ICRkZWZhdWx0LWNtcy1jb3B5LWNvbG91clxyXG4pICFkZWZhdWx0O1xyXG4kY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IChcclxuICAgIGgxOiBudWxsLFxyXG4gICAgaDI6IG51bGwsXHJcbiAgICBoMzogbnVsbCxcclxuICAgIGg0OiBudWxsLFxyXG4gICAgaDU6IG51bGwsXHJcbiAgICBoNjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4vLyBDTVMgaGVhZGluZyBsaW5lLWhlaWdodC5cclxuJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuLy8gUGFyYWdyYXBoXHJcbiRjbXMtcGFyYWdyYXBoLW1hcmdpbjogJGRlZmF1bHQtY21zLXR5cG9ncmFwaHktbWFyZ2luICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1zaWJsaW5nLW1hcmdpbjogc3BhY2luZy12YWx1ZSgkZGVmYXVsdC1jbXMtdHlwb2dyYXBoeS1tYXJnaW4sIDEpICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1saW5lLWhlaWdodDogJGRlZmF1bHQtY21zLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1jb2xvdXI6ICRkZWZhdWx0LWNtcy1jb3B5LWNvbG91ciAhZGVmYXVsdDtcclxuJGNtcy1wYXJhZ3JhcGgtc3Ryb25nLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kY21zLXBhcmFncmFwaC1zdHJvbmctbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEFuY2hvclxyXG4kY21zLWFuY2hvci13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGNtcy1hbmNob3ItY29udGFjdC13ZWlnaHQ6ICRjbXMtYW5jaG9yLXdlaWdodCAhZGVmYXVsdDtcclxuJGNtcy1hbmNob3Itc2l6ZTogJGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLWFuY2hvci1jb250YWN0LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBhY3RpdmU6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0yKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBMaXN0cyBcclxuJGNtcy1saXN0LW1hcmdpbjogMTBweCAhZGVmYXVsdDtcclxuJGNtcy1saXN0LWxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGNtcy1saXN0LXBhZGRpbmc6IDAgMjVweCAhZGVmYXVsdDtcclxuLy8gVGFibGVzXHJcbiRjbXMtdGFibGUtc2libGluZy1tYXJnaW46IDE1cHggMCAhZGVmYXVsdDtcclxuJGNtcy10YWJsZS1oZWFkZXItY29sdW1uLXBhZGRpbmc6IDEwcHggMTBweCAxMHB4ICFkZWZhdWx0O1xyXG4kY21zLXRhYmxlLWNvbHVtbi1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4kY21zLXRhYmxlLXRleHQtYWxpZ246IGxlZnQgIWRlZmF1bHQ7XHJcbiRjbXMtdGFibGUtaGVhZC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyBGaW5kIG91dCBtb3JlIGJ1dHRvbi5cclxuJGNtcy1ybS1tYXJnaW46IDIwcHggMCAwICFkZWZhdWx0O1xyXG4kY21zLXJtLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02XHJcbikgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1zdWZmaXgtaWNvbjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtc3VmZml4LWN1c3RvbS1pY29uOiAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtc3VmZml4LWljb24tc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemUgIWRlZmF1bHQ7XHJcbiRjbXMtcm0tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0O1xyXG4kcmVhZC1tb3JlLXN1ZmZpeC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRjbXMtcm0tY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkY21zLXJtLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1ybS1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyMCBcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1ybS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjAsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIwIFxyXG4pICFkZWZhdWx0O1xyXG4kY20tcm0tdGV4dC1kZWNvcmF0aW9uOiAoXHJcbiAgICBkZWZhdWx0OiBub25lLFxyXG4gICAgaG92ZXI6IGlmKCRyZWFkLW1vcmUtc3VmZml4LWljb24sIG5vbmUsIHVuZGVybGluZSlcclxuKSAhZGVmYXVsdDtcclxuLy8gQmxvY2txdW90ZVxyXG4kY21zLWJsb2NrcXVvdGUtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDUwcHggMzBweCxcclxuICAgIGxhcmdlOiA1MHB4IDYwcHhcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1ibG9ja3F1b3RlLWljb24tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuJGNtcy1ibG9ja3F1b3RlLWljb24tc2l6ZTogNDBweCAhZGVmYXVsdDtcclxuJGNtcy1ibG9ja3F1b3RlLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMyxcclxuICAgIGhvdmVyOiAkY29sb3VyMy0xXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtYmxvY2txdW90ZS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLWJsb2NrcXVvdGUtbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIENvZGUgYmxvY2suXHJcbiRjbXMtY29kZS1ibG9jay1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDEwcHggMzVweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBJbWFnZVxyXG4kY21zLWltYWdlLXNwYWNpbmc6IDEwcHggYXV0byAhZGVmYXVsdDtcclxuLy8gLS0tIFJlYWQgTW9yZSAtLS0gXHJcbiRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eTogMHB4ICFkZWZhdWx0O1xyXG4kY21zLXJtLWZhZGUtb3BhY2l0eTogJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5ICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ybS1mYWRlLW9wYWNpdHk6ICRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eSAhZGVmYXVsdDtcclxuJHJlYWQtbW9yZS1mYWRlLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRyZWFkLW1vcmUtZmVhdGhlci1kZWZhdWx0OiA1MHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENvbnRlbnQgbG9hZGluZyBvdmVybGF5IC0tLSBcclxuJGNvbnRlbnQtaW5pdGlhbGlzaW5nLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItY29sb3VyOiAkY29sb3VyMy0zICFkZWZhdWx0O1xyXG4kY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1zaXplOiA1MHB4ICFkZWZhdWx0O1xyXG4kY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQ6IDRweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBBSkFYIEJsb2NrZXIgLS0tIFxyXG4kYWpheC1zcGlubmVyLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiR1aS1ibG9jay1iYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXIzLCAwLjYpICFkZWZhdWx0O1xyXG5cclxuLy8gR2VuZXJhbCBFcnJvciBzdHlsZXMuXHJcbi8vIEVycm9yIGJsb2NrcyBhcmUgZ2VuZXJhdGVkIGJ5IHRoZSBzZXJ2ZXIgYW5kIGFyZSB0eXBpY2FsbHkgcG9zaXRpb25lZCBhdCB0aGUgdG9wIG9yIHRoZSBib3R0b20gb2YgYSBmb3JtLlxyXG4kZXJyb3ItYmxvY2stZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuLy8gQWR2YW5jZWQgdmFsaWRhdGlvbiBlcnJvciBzdHlsZXMuXHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWRlZmF1bHQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24tZGVmYXVsdC1pY29uLWNvbG91cjogcmdiYSgkY29sb3VyMy02LCAwLjcpICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRhZHZhbmNlZC12YWxpZGF0aW9uLWljb24tc2l6ZTogMTVweCAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24taWNvbi1pbnZhbGlkLWNvbG91cjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSAhZGVmYXVsdDtcclxuJGFkdmFuY2VkLXZhbGlkYXRpb24taWNvbi12YWxpZC1jb2xvdXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBCdXR0b25zIC0tLSBcclxuLy8gTmVlZHMgc29tZSBzb3J0IG9mIGtub2NrIGJhY2sgZm9yIGdyZXllZCBvdXQgZWZmZWN0IHRvIHdvcmsuXHJcbiRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTogLjQgIWRlZmF1bHQ7O1xyXG4vLyBBZGQgdG8gYmFza2V0ICggaWNvbiBvbmx5IClcclxuJGFkZC10by1iYXNrZXQtaWNvbi13aWR0aDogMzVweCAhZGVmYXVsdDtcclxuJGFkZC10by1iYXNrZXQtaWNvbi1oZWlnaHQ6ICRhZGQtdG8tYmFza2V0LWljb24td2lkdGggIWRlZmF1bHQ7XHJcbiRhZGQtdG8tYmFza2V0LWljb24tc2l6ZTogMjNweCAhZGVmYXVsdDtcclxuLy8gU3RhbmRhcmQgYnV0dG9uIFxyXG4kYmFza2V0LWJ1dHRvbi13aWR0aDogMTAwJSAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24tcGFkZGluZzogMTVweCAxMHB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMSwgXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSksXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24tYm9yZGVyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSwgXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgZGlzYWJsZWQ6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyRiYXNrZXQtYnV0dG9uLWZvbnQtd2VpZ2h0OiAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGJhc2tldC1idXR0b24tZm9udC1zaXplOiAxOCAhZGVmYXVsdDtcclxuLy8gRmF2b3VyaXRlc1xyXG4kZmF2b3VyaXRlcy1pY29uLXNpemU6ICRhZGQtdG8tYmFza2V0LWljb24tc2l6ZSAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtYnV0dG9uLXdpZHRoOiAkYWRkLXRvLWJhc2tldC1pY29uLXdpZHRoICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1idXR0b24taGVpZ2h0OiAkZmF2b3VyaXRlcy1idXR0b24td2lkdGggIWRlZmF1bHQ7XHJcblxyXG4kZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC1zaXplOiAoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKSAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGJvZHktZm9udC1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuXHJcbiRmYXZvdXJpdGVzUHJlc2V0cjJJY29uU2l6ZTogMThweDtcclxuLy8gTWFpbGluZyBCdXR0b24uXHJcbiRtYWlsaW5nLWJ1dHRvbi1zdWJtaXQtd2lkdGg6IDQwcHggIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1tYXJnaW46IChcclxuICAgIHNtYWxsOiA1cHggMCAwLFxyXG4gICAgbWVkaXVtOiAwXHJcbikgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1wYWRkaW5nOiAwIDVweCAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0OyBcclxuJG1haWxpbmctYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWljb24tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIElmIHdhbnQgdGhlIGlucHV0IGZpZWxkIGFuZCB0aGUgYnV0dG9uIHRvIGFwcGVhciBhcyBzZXBlcmF0ZSBlbGVtZW50cy5cclxuJG1haWxpbmctbGlzdC1pbnB1dC1idXR0b24tc2VwZXJhdGUtZWxlbWVudHM6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tYm9yZGVyOiAxcHggMXB4IDFweCAwICFkZWZhdWx0O1xyXG4kbWFpbGluZy1idXR0b24tYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogcmdiYSgkY29sb3VyNCwgMC42KSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJG1haWxpbmctYnV0dG9uLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJG1haWxpbmctbGlzdC1idXR0b24tdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyOiAxcHggMCAxcHggMXB4ICFkZWZhdWx0O1xyXG4kbWFpbGluZy1saXN0LWlucHV0LWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcmludCBlbGVtZW50cyBidXR0b24gLS0tXHJcbi8vIENvbG91cnMuLi4uLlxyXG4kcHJpbnQtZWxlbWVudHMtYnV0dG9uLWNvbG91cjogJHNlY29uZGFyeS1idXR0b24tY29sb3VyICFkZWZhdWx0O1xyXG4kcHJpbnQtZWxlbWVudHMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciAhZGVmYXVsdDtcclxuJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1ib3JkZXItY29sb3VyOiAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyICFkZWZhdWx0O1xyXG4kcHJpbnQtZWxlbWVucy1idXR0b24taWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTEsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRwcmludC1lbGVtZW50cy1idXR0b24tY29sb3VyKSxcclxuICAgIGFjdGl2ZTogZGVmYXVsdC1jb2xvdXIoJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1jb2xvdXIpIFxyXG4pICFkZWZhdWx0O1xyXG4kcHJpbnQtZWxlbWVudHMtYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJpbnRlciksXHJcbiAgcG9zaXRpb246IGJlZm9yZSxcclxuICBtYXJnaW46IDAgMTJweCAwIDAsXHJcbiAgY29sb3VyOiAkcHJpbnQtZWxlbWVucy1idXR0b24taWNvbi1jb2xvdXIsXHJcbiAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG4gIHNpemU6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFJldmVhbCBwYXNzd29yZCBidXR0b24gLS0tIFxyXG4kcmV2ZWFsLXBhc3N3b3JkLXdpZHRoOiA0NXB4ICFkZWZhdWx0O1xyXG4kcmV2ZWFsLWljb24tY29sb3VyOiByZ2JhKCRjb2xvdXIzLTYsIDAuNykgIWRlZmF1bHQ7XHJcbiRyZXZlYWwtaWNvbi1hY3RpdmUtY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuLy8gR2VuZXJhbC5cclxuJHF1YW50aXR5LWxhYmVsLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA2cHggMCxcclxuICAgIGxhcmdlOiA2cHggMTVweCA2cHggMFxyXG4pICFkZWZhdWx0OyBcclxuJHF1YW50aXR5LWlucHV0LWhlaWdodDogNDVweCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWxhYmVsLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1sYWJlbC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktbGFiZWwtbGluZS1oZWlnaHQ6IDI1cHggIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1sYWJlbC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktbGFiZWwtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbi8vIEZyZWUgVGV4dCBRdWFudGl0eSBTZWxlY3RvclxyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWJvcmRlci1yYWRpdXM6IG51bGwgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtaGVpZ2h0OiAkcXVhbnRpdHktaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi13aWR0aDogKCRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtd2lkdGggLSAxMCkgIWRlZmF1bHQ7XHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWZvbnQtc2l6ZTogMTJweCAhZGVmYXVsdDtcclxuJHF1YW50dGl5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIwICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWluY3JlbWVudC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kcXVhbnRpdHktZnJlZS10ZXh0LWRlY3JlbWVudC1jb2xvdXI6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5jcmVtZW50LWNvbG91ciAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdClcclxuKSAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjJcclxuICAgICksXHJcbiAgICBwcmVzZXQtMTogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbiAgICApLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIzLTFcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICAgICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgICAgIGFjdGl2ZTogJGNvbG91cjNcclxuICAgICksXHJcbiAgICBwcmVzZXQtMTogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIwLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyMyxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIzLTFcclxuICAgICksXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjBcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIERyb3Bkb3duIFF1YW50aXR5IFNlbGVjdG9yXHJcbiRxdWFudGl0eS1kcm9wZG93bi13aWR0aDogOTBweCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWRyb3Bkd29uLXBhZGRpbmctbGVmdDogMTBweCAhZGVmYXVsdDtcclxuJHF1YW50aXR5LWRyb3Bkb3duLWhlaWdodDogJHF1YW50aXR5LWlucHV0LWhlaWdodCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gQ29udHJvbCBzbGlkZXJzIC0tLS0tXHJcbi8vIFJhaWwgb3B0aW9ucy5cclxuJHNsaWRlci1yYWlsLWJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxICFkZWZhdWx0O1xyXG4kc2xpZGVyLXJhaWwtaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xyXG4kc2xpZGVyLXJhaWwtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHJnYmEoJGNvbG91cjEsIC43KSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHNsaWRlci1yYWlsLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHRyYW5zcGFyZW50LFxyXG4gICAgaG92ZXI6IHRyYW5zcGFyZW50LFxyXG4gICAgYWN0aXZlOiB0cmFuc3BhcmVudFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHNsaWRlci1yYW5nZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0zLCAyKSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuLy8gSGFuZGxlIG9wdGlvbnMuXHJcbiRzbGlkZXItaGFuZGxlLWRpbWVudGlvbnM6IDIycHggIWRlZmF1bHQ7XHJcbiRzbGlkZXItaGFuZGxlLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzICFkZWZhdWx0O1xyXG4kc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7IFxyXG4kc2xpZGVyLWhhbmRsZS1pY29uLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRzbGlkZXItaGFuZGxlLWJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbi8vIC0tLSBTd2VldCBBbGVydHMgKCBTdWNjZXNzLCBXYXJuaW5nLCBBbGVydCBJY29ucyApIC0tLSBcclxuJHNhLWRpbWVudGlvbnM6IDgwcHggIWRlZmF1bHQ7XHJcbiRzYS1tYXJnaW46IDMwcHggYXV0byAxNXB4ICFkZWZhdWx0O1xyXG4vLyBBbGVydFxyXG4kc2EtYWxlcnQtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6ICRzYS1kaW1lbnRpb25zLFxyXG4gICAgaGVpZ2h0OiAkc2EtZGltZW50aW9uc1xyXG4pICFkZWZhdWx0O1xyXG4kc2EtYWxlcnQtY29sb3VyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApICFkZWZhdWx0O1xyXG4vLyBXYXJuaW5nXHJcbiRzYS13YXJuaW5nLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAkc2EtZGltZW50aW9ucyxcclxuICAgIGhlaWdodDogJHNhLWRpbWVudGlvbnNcclxuKSAhZGVmYXVsdDtcclxuJHNhLXdhcm5pbmctY29sb3VyOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCkgIWRlZmF1bHQ7XHJcbi8vIFN1Y2Nlc3NcclxuJHNhLXN1Y2Nlc3MtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6ICRzYS1kaW1lbnRpb25zLFxyXG4gICAgaGVpZ2h0OiAkc2EtZGltZW50aW9uc1xyXG4pICFkZWZhdWx0O1xyXG4kc2Etc3VjY2Vzcy1jb2xvdXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBUYWJzIC0tLVxyXG4kdGFicy10aXRsZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBhY3RpdmU6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKVxyXG4pICFkZWZhdWx0O1xyXG4kdGFicy10aXRsZS1mb250LXNpemU6IDE3ICFkZWZhdWx0O1xyXG4kdGFicy10aXRsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kdGFicy10aXRsZS10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJHRhYnMtdGl0bGUtaWNvbi1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kdGFicy1jb250ZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDI1cHgsXHJcbiAgICBsYXJnZTogNDBweCA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXRhYnMtcGFuZWwtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogMjVweCAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBBY2NvcmRpb25zIC0tLSBcclxuLy8gVGl0bGUuXHJcbiRhY2NvcmRpb25zLWFycm93LWZvbnQtc2l6ZTogJHRhYnMtdGl0bGUtaWNvbi1zaXplICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy1hcnJvdy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtdGl0bGUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCR0YWJzLXRpdGxlLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJHRhYnMtdGl0bGUtY29sb3VyKSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtdGl0bGUtZm9udC1zaXplOiAkdGFicy10aXRsZS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb25zLXRpdGxlLWZvbnQtd2VpZ2h0OiAkdGFicy10aXRsZS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGFjY29yZGlvbnMtdGl0bGUtdGV4dC10cmFuc2Zvcm06ICR0YWJzLXRpdGxlLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhpZ2hsaWdodDogJGNvbG91cjQtNixcclxuICAgIGFjdGl2ZTogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKSxcclxuICAgIGRpc2FibGVkOiBkaXNhYmxlZC1jb2xvdXIoJGlucHV0LWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQtMixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtM1xyXG4pICFkZWZhdWx0O1xyXG4vLyBDb250ZW50LlxyXG4kYWNjb3JkaW9uLXBhbmUtY29udGVudC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gTm90aWZpY2F0aW9ucywgcHJvbXB0cyAmIGNhbGxvdXRzIC0tLS0tXHJcbi8vIFRPRE86IFRoaXMgbmVlZHMgc2ltcGxpZnlpbmcsIGl0cyBhIG1lc3MgZHVlIHRvIG11bHRpcGxlIGl0ZXJhdGlvbnMuXHJcbiRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBzdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgOSksXHJcbiAgICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KVxyXG4pICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1jb2xvdXI6IChcclxuICAgIHN1Y2Nlc3M6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSxcclxuICAgIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSxcclxuICAgIGFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFN1Y2Nlc3MgYnV0dG9uLlxyXG4kc3VjY2Vzcy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQ29uZmlybWF0aW9uIC0tLSBcclxuJGNvbmZpcm1hdGlvbi1jb250YWluZXItYmFja2dyb3VuZC1zdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgOSkgIWRlZmF1bHQ7XHJcbiRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDkpICFkZWZhdWx0O1xyXG4kY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWFsZXJ0OiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDEwKSAhZGVmYXVsdDtcclxuJGNvbmZpcm1hdGlvbi1jb250YWluZXItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBPbiBwYWdlIG5vdGlmaWNhdGlvbiAtLS0gXHJcbi8vIERlZmF1bHRzXHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kOiAoXHJcbiAgICBzdWNjZXNzOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgOSksXHJcbiAgICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KSxcclxuICAgIGluZm9ybWF0aW9uOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgOSlcclxuKSAhZGVmYXVsdDtcclxuJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91cjogKFxyXG4gICAgc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLFxyXG4gICAgd2FybmluZzogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApLFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksXHJcbiAgICBpbmZvcm1hdGlvbjogJGJvZHktZm9udC1jb2xvdXIsXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ6ICRzdGF0dXMtYnV0dG9uLWNvbW1vbi13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1saW5lLWhlaWdodDogbm9ybWFsICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tbWFyZ2luOiAoXHJcbiAgICBwcmVzZXQtMTogMzBweCAwLFxyXG4gICAgcHJlc2V0LTI6IDEwcHggMFxyXG4pICFkZWZhdWx0O1xyXG4kb24tcGFnZS1ub3RpZmljYXRpb24tcGFkZGluZzogKFxyXG4gICAgcHJlc2V0LTE6IDM1cHggMTBweCwgLy8gRnVsbCBzaXplXHJcbiAgICBwcmVzZXQtMjogMTVweCA2NXB4IC8vIE1pbmlmaWVkXHJcbikgIWRlZmF1bHQ7XHJcbiRvbi1wYWdlLW5vdGlmaWNhdGlvbi1nYXA6IChcclxuICAgIHNtYWxsOiAwIHNwYWNpbmctdmFsdWUoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXBhZGRpbmcsIDIsIHByZXNldC0xKSxcclxuICAgIGxhcmdlOiAwIDE1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIFNwZWNpZmljXHJcbi8vIC0tLSBObyBpdGVtcyBmb3VuZCAtLS0tIFxyXG4kbm8taXRlbXMtZm91bmQtbWFyZ2luOiAoKSAhZGVmYXVsdDtcclxuJG5vLWl0ZW1zLWZvdW5kLXBhZGRpbmc6ICgpICFkZWZhdWx0O1xyXG4kbm8taXRlbXMtZm91bmQtZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJG5vLWl0ZW1zLWZvdW5kLWljb24tc2l6ZTogMjJweCAhZGVmYXVsdDtcclxuLy8gLS0tIEludGVybmFsIEVycm9yIC0tLSBcclxuJGludGVybmFsLWVycm9yLW1hcmdpbjogJG5vLWl0ZW1zLWZvdW5kLW1hcmdpbiAhZGVmYXVsdDtcclxuJGludGVybmFsLWVycm9yLXBhZGRpbmc6ICgpICFkZWZhdWx0O1xyXG4kaW50ZXJuYWwtZXJyb3ItZm9udC1zaXplOiAkbm8taXRlbXMtZm91bmQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kaW50ZXJuYWwtZXJyb3ItaWNyb24tc2l6ZTogJG5vLWl0ZW1zLWZvdW5kLWljb24tc2l6ZTtcclxuLy8gLS0tIENhbGxvdXRzIC0tLVxyXG4kbm90aWZpY2F0aW9uLWNhbGxvdXQtZm9udC13ZWlnaHQ6ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbi1jYWxsb3V0LXRleHQtdHJhbnNmb3JtOiAkb24tcGFnZS1ub3RpZmljYXRpb24tdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJvbXB0IHBvcHVwcyAtLS0gXHJcbiRub3RpZmljYXRpb24tcHJvbXB0LXBhZGRpbmc6IDgwcHggIWRlZmF1bHQ7XHJcbi8vIC0tLSBHZW5lcmFsIE5vdGlmaWNhdGlvbnMgKCBwaW5uZWQgdG8gdGhlIGJvdHRvbSBvZiB0aGUgd2luZG93IClcclxuJG5vdGlmaWNhdGlvbnMtaWNvbi13aWR0aDogNDBweCAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAxMnB4LFxyXG4gICAgbGFyZ2U6IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJG5vdGlmaWNhdGlvbnMtaWNvbi1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XHJcbiRub3RpZmljYXRpb25zLWljb24tYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1pY29uLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbi8vIEJlY2F1c2Ugb2YgVGlkaW8uLi4uLlxyXG4kbm90aWZpY2F0aW9ucy16LWluZGV4OiA5OTk5OTk5OTk5ICFkZWZhdWx0O1xyXG4kbm90aWZpY2F0aW9ucy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNy41cHggMTVweCxcclxuICAgIGxhcmdlOiAxNXB4IDMwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFBXQSAtLS0gXHJcbiRub3RpZmljYXRpb25zLWFwcC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtMyAhZGVmYXVsdDtcclxuLy8gLS0tIENvb2tpZSBQb2xpY3kgLS0tIFxyXG4kY29va2llLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogcmdiYSgkY29sb3VyMy0yLCAwLjkpICFkZWZhdWx0O1xyXG4kY29va2llLW5vdGlmaWNhdGlvbi1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG5cclxuJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uMS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkYWNjZW50LWNvbG91ci0yLCAwKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNC0yLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kY29va2llLW5vdGlmaWNhdGlvbi1idXR0b24yLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBob3Zlci1jb2xvdXIoJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uMS1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBob3ZlcjogZGVmYXVsdC1jb2xvdXIoJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uMS1iYWNrZ3JvdW5kLWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uMS1iYWNrZ3JvdW5kLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuJGNvb2tpZS1ub3RpZmljYXRpb24tYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIERvY3VtZW50YXRpb24gLS0tLS0gXHJcbi8vIFJlc3RyaWN0ZWQgY29udGVudC5cclxuJGRvY3VtZW50YXRpb24tcmVzdHJpY3RlZC1jb250ZW50LWNvbG91cjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKSAhZGVmYXVsdDtcclxuLy8gSW50ZXJuYWwgdXNlIG9ubHkgY29udGVudC5cclxuJGRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHktY29sb3VyOiAkZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWNvbnRlbnQtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gSW50cm8gLS0tXHJcbiRkb2N1bWVudGF0aW9uLWludHJvLWhlYWRpbmctY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kZG9jdW1lbnRhdGlvbi1pbnRyby1zdWItaGVhZGluZy1jb2xvdXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCAkY29sb3VyNCkgIWRlZmF1bHQ7XHJcbiRkb2N1bWVudGF0aW9uLWludHJvLWJhbm5lci1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuLy8gLS0tIExpc3QgLS0tIFxyXG4kZG9jdW1lbnRhdGlvbi1saXN0LWl0ZW0tcGFkZGluZzogN3B4IHNwYWNpbmctdmFsdWUoJHRoZWFkLXByZXNldC0xLCAyLCBwYWRkaW5nKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBIZWFkZXIgY29udGFpbmVyIC0tLVxyXG4kZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyLW1hcmdpbjogMzVweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDb250ZW50IENvbnRhaW5lciAtLS1cclxuJGRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXItd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEFkZGl0aW9uYWwgTGlua3MgLS0tXHJcbiRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtcGFkZGluZzogMjVweCAhZGVmYXVsdDtcclxuJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rLXJ1bGU6IDFweCBzb2xpZCAkY29sb3VyMy0zICFkZWZhdWx0O1xyXG4kZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTEsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIENvbnRleHQgTWVudSAtLS0tLVxyXG4kY29udGV4dC1tZW51LWNvbnRhaW5lci16LWluZGV4OiAxOTk1ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gR3JhZHVhdGVkIENvbG91ciBFZGdlIC0tLS0tXHJcbiRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utc3RlcC1oZWlnaHQ6IDYwcHggIWRlZmF1bHQ7XHJcbiRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlOiA1NiAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIENvbGxlY3Rpb25zIC0tLS0tIFxyXG5cclxuLy8gVE9ETzogVGhlIHRlcm1pbm9sb2d5IG5lZWRzIHRvIGJlIGNoYW5nZWQgZnJvbSBcIiBieC0gXCIgdG8gXCIgY29sbGVjdGlvbi0gXCJcclxuJGJ4LXBhZ2VyLWJ1dHRvbi1kaW1lbnRpb25zOiAxNXB4ICFkZWZhdWx0O1xyXG4kYngtcGFnZXItYnV0dG9uLXJhZGl1czogJGJvcmRlclJhZGl1czIgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXBhZ2VyLWJ1dHRvbi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJGJ4LXBhZ2VyLWJ1dHRvbi10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRieC1wYWdlci1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYngtcGFnZXItYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5OiAoXHJcbiAgICBkZWZhdWx0OiAuNSxcclxuICAgIGhvdmVyOiAuOCxcclxuICAgIGFjdGl2ZTogMVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wYWdlci1idXR0b24tb3BhY2l0eTogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBkZWZhdWx0KSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1vcGFjaXR5LCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWl0ZW0tbWFyZ2luOiAxMHB4IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWl0ZW0tcGFkZGluZzogMTBweCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWl0ZW0tcGFkZGluZy1ib3R0b206IDIwcHggIWRlZmF1bHQ7IC8vIE5lZWQgdG8gYWRkIHBhZGRpbmcgYm90dG9tIGlmIGJvcmRlci1ib3R0b20gaXMgc2V0LlxyXG4kY29sbGVjdGlvbi1zbGlkZS1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItd2lkdGg6IDAgMCA1cHggMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91ciwgaG92ZXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLXByb2R1Y3QtY2VsbC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY2VsbC1wYWRkaW5nOiAwIDAgMjBweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4vLyBJbnZlcnRzIHdoZW4gYm94LXNoYWRvdyBpcyBhcHBsaWVkIGZyb20gd2hlbiBob3ZlciBzdGF0ZSB0byBkZWZhdWx0IHN0YXRlLlxyXG4kY29sbGVjdGlvbi1jZWxsLWJveC1zaGFkb3ctaW52ZXJ0OiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1jZWxsLXBhZGRpbmc6IDAgMCAyMHB4ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctaG92ZXItYm94LXNoYWRvdy1zdXBwcmVzczogZmFsc2UgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLWNlbGwtcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1tYXJnaW46IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDsgLy8gVXNlZnVsIGlmIHdlIG5lZWQgbW9yZSBzcGFjZSBhZnRlciBhIHNlcGVyYXRvci5cclxuJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kY29sbGVjaXRvbi1pbWFnZS1ib3JkZXItY29sb3VyOiAkY29sbGVjdGlvbi1wcm9kdWN0LWJvcmRlci1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmc6IChcclxuICAgIGNvbXBhY3Q6IDEwcHgsXHJcbiAgICBub24tY29tcGFjdDogMTVweCAxMHB4IC8vIGRlc2NyZWFzaW5nIHRvIDEwcHggTCArIFIgdG8ga2VlcCBidXkgYm94IGZyb20gd3JhcHBpbmcgYXQgNiBjb2x1bW4uXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLXN1cHByZXNzLWJhY2tncm91bmQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWNvbnRlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBtZWRpdW06IDVweCxcclxuICAgIGxhcmdlOiA1cHhcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtY29udGVudC1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtY29udGVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWNvbnRlbnQtYm94LXNoYWRvdy1pbnZlcnQ6ICRjb2xsZWN0aW9uLWNlbGwtYm94LXNoYWRvdy1pbnZlcnQgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWNvbnRlbnQtYm94LXNoYWRvdzogKFxyXG4gICAgZGVmYXVsdDogbm9uZSxcclxuICAgIGhvdmVyOiAkYm94U2hhZG93M1xyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1mbGV4LWdyb3c6IG51bGwgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWZsZXgtYmFzaXM6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWdyaWQtZGVzY3JpcHRpb24tanVzdGlmeS1jb250ZW50OiBudWxsICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1hbGlnbi1pdGVtczogbnVsbCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLXBhZGRpbmc6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgbm9uLWNvbXBhY3QpICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LCBcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24taG92ZXItdW5kZXJsaW5lOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIG1lZGl1bTogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZTogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taG92ZXItaW1hZ2UtcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utb3BhY2l0eTogLjUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgYXV0byAwLFxyXG4gICAgbGFyZ2U6IDAgLy8gRG9uJ3Qgc2V0IG1hcmdpbiBib3R0b20sIHRoaXMgaXMgdHlwaWNhbGx5IGNvbnRyb2wgYnkgbW9kdWxlIG9yIHJvdyBtYXJnaW5zLlxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1wcm9kdWN0LWltYWdlLW1hcmdpbjogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtbWFyZ2luKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLW1hcmdpbi1ib3R0b206IDM1cHggIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1wb3NpdGlvbi1ib3R0b206ICgkY29sbGVjdGlvbi1pbWFnZS1zZXBlcmF0b3ItbWFyZ2luLWJvdHRvbSAtIDE1KSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLWNvbG91cjogJGNvbG91cjMtNCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWltYWdlLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIEhhdmluZyB0byByZXN0cmljdCBpbWFnZSBzaXplcyBkdWUgdG8gZXh0ZXJuYWwgZGF0YSBpbWFnZXMgZG9lcyBub3QgZ28gdGhyb3VnaCBEaXBsb21hdCdzIGltYWdlIG1hbmFnZW1lbnQsIGRvbnQgbWVkaXVtIHlldCBhcyB3ZSBjdXJyZW50bHkgZG9uJ3QgdXNlIHRoaXMgYnJlYWtwb2ludCBpbiBvdXIgY29sbGVjdGlvbnMuXHJcbiRjb2xsZWN0aW9uLWltYWdlLXNpemUtcmVzdHJpY3RlZC1ieS13aWR0aC1vbmx5OiBmYWxzZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZXM6IChcclxuICAgIHNtYWxsOiAoXHJcbiAgICAgICAgMTogMTI4MHB4LFxyXG4gICAgICAgIDI6IDYzMHB4LFxyXG4gICAgICAgIDM6IDQxOHB4LFxyXG4gICAgICAgIDQ6IDMxMnB4LFxyXG4gICAgICAgIDU6IDI0OXB4LFxyXG4gICAgICAgIDY6IDIwNXB4LFxyXG4gICAgICAgIDc6IDE3NXB4LFxyXG4gICAgICAgIDg6IDE1M3B4XHJcbiAgICApLFxyXG4gICAgbGFyZ2U6IChcclxuICAgICAgICAxOiAkZ2xvYmFsLXdpZHRoLFxyXG4gICAgICAgIDI6IDY0NHB4LFxyXG4gICAgICAgIDM6IDQyNHB4LFxyXG4gICAgICAgIDQ6IDMxNnB4LFxyXG4gICAgICAgIDU6IDI1MHB4LFxyXG4gICAgICAgIDY6IDIwN3B4LCBcclxuICAgICAgICA3OiAxNzVweCxcclxuICAgICAgICA4OiAxNTJweFxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1zZXBlcmF0b3ItZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDEwMCUsXHJcbiAgICBoZWlnaHQ6IDFweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENhcm91c2VsIHR5cG9ncmFwaHkgLS0tIFxyXG4kY29sbGVjdGlvbi10ZXh0LWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250ZW50LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tY29udGVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tY29udGVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjb2xsZWNpdG9uLWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC1zaXplOiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIGNvbGxlY3Rpb24tZWJnLWNvbG91ciBub3JtYWxseSBnZXRzIHNldCBieSAkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyIGJ1dCBpZiB3ZSB3YW50IGViZydzIHRvIGJlIGEgZGlmZmVyZW50IGNvbG91ciB0aGVuIHdlIHVzZWQgdGhpcyBvdmVycmlkZS5cclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWNvbG91cjogKCkgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRjb2xsZWNpdG9uLWViZy1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTogJGNvbGxlY2l0b24tZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OiAoJGRlZmF1bHQtbGluZS1oZWlnaHQgLSAuMykgIWRlZmF1bHQ7IC8vIEl0IHdhcyBkZWNpZGVkIHRoYXQgY29sbGVjdGlvbiBsaW5lLWhlaWdodHMgc2hvdWxkIGJlIHNsaWdodGx5IHRpZ2h0ZXIuXHJcbiRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdHJhbnNwYXJlbnQsXHJcbiAgICBob3ZlcjogdHJhbnNwYXJlbnQsXHJcbiAgICBhY3RpdmU6IHRyYW5zcGFyZW50XHJcbikgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWNvbG91cjogJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciAhZGVmYXVsdDtcclxuLy8kYngtZGVzY3JpcHRpb24tY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4vLyAkYngtZGVzY3JpcHRpb24taG92ZXItY29sb3VyOiAkY29sb3VyNiAhZGVmYXVsdDtcclxuJGJ4LXByaWNlLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tY29udGVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvZGUtZm9udC1zaXplOiAkY29sbGVjdGlvbi1jb250ZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29kZS1jb2xvdXI6ICRjb2RlLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gTGFiZWwgJiBWYWx1ZSBwYWlycyAoIGVzc2VudGlhbGx5IHNtYWxsIHBpZWNlcyBvZiBkYXRhIClcclxuJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtc2l6ZTogJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemUgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ29sbGVjdGlvbiBidXkgYm94ZXMgLS0tIFxyXG4kY29sbGVjdGlvbi1idXktYm94LWp1c3RpZnktY29udGVudDogKFxyXG4gICAgc21hbGw6IGZsZXgtc3RhcnQsXHJcbiAgICBsYXJnZTogZmxleC1zdGFydFxyXG4pICFkZWZhdWx0O1xyXG4vL3NwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ2NvbXBhY3QnKVxyXG4kY29sbGVjdGlvbi1idXktYm94LXBhZGRpbmc6IDE1cHggMCAwICFkZWZhdWx0O1xyXG4vLyBUaGlzIHJlcGxhY2VzIHRoZSBhYm92ZS5cclxuJGNvbGxlY3Rpb24tYnV5LWJveC1wYWRkaW5nLXRvcDogMTVweCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDb2xsZWN0aW9uIGJ1dHRvbnMgLS0tXHJcbiRjb2xsZWN0aW9uLWJ1dHRvbi13aWR0aDogNjYlICFkZWZhdWx0O1xyXG4vLyBNYXJnaW4gdG9wIG11c3QgYmUgc2V0IHRvIGF1dG8gdG8gYXNzaXN0IGVxdWFsaXNpbmcgdGhlIGJ1dHRvbnMgb24gZWFjaCByb3cuXHJcbiRjb2xsZWN0aW9uLWJ1dHRvbnMtbWFyZ2luOiBhdXRvIGF1dG8gc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1jZWxsLXBhZGRpbmcsIDEpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFNsaWRlcyBzdHlsZXMgLS0tIFxyXG4vLyBDaGFuZ2dpbmcgdG8gdHJhbnNwYXJlbnQgdG8gYWxsb3cgdXNlIG9mZiByb3csIG1vZHVsZSAmIGNvbnRlbnQgYmFja2dyb3VuZHMuXHJcbi8vIFRoaXMgdmFyaWFibGUgaXMgbm8gbG9uZ2VyIHVzZWQgYXMgd2UgbmVlZGVkIG1vcmUgZmxleGliaWxpdHkgZm9yIG1vZHVsZSBjb250ZW50IGJhY2tncm91bmRzLCBoYXZlIGludHJvZHVjZWQgJGNvbGxlY3Rpb24tcHJvZHVjdC1jZWxsLWJhY2tncm91bmQtY29sb3VyIHRvIGhhbmRsZSBwcm9kdWN0IGNvbGxlY3Rpb25zIGFzIHRoZXkgbmVlZCB0byBoYXZlIGEgYmFja2dyb3VuZCBjb2xvdXIgKCBpLmUgd2hpdGUgKSBkdWUgdG8gdGhlIGNvbnRlbnQgdGhhdCBpcyBiZWluZyBkaXNwbGF5ZWQuXHJcbiRieC1zbGlkZS1iYWNrZ3JvdW5kLWNvbG91cjogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ2Fyb3VzZWwgQ29udHJvbHMgLS0tXHJcbi8vIENvbnRyb2xzXHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3Q6IGZhbHNlICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LWd1dHRlcjogMTBweCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbjogJ2JvdHRvbS1yaWdodCcgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93OiAoXHJcbiAgICBkZWZhdWx0OiAkYm94U2hhZG93MixcclxuICAgIGhvdmVyOiAkYm94U2hhZG93MlxyXG4pICFkZWZhdWx0O1xyXG4vLyBQYWRkaW5nIHVzZWQgZm9yIGFsaWdubWVudCBpZiB1c2luZyBjdXN0b20gaWNvbnMuXHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLW5leHQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kY29sbGVjdGlvbi1jb250cm9scy1wcmV2LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnM6IChcclxuICAgIHNtYWxsOiA0NXB4LFxyXG4gICAgbm9ybWFsOiAzMHB4LFxyXG4gICAgbGFyZ2U6IDc1cHhcclxuKSAhZGVmYXVsdDtcclxuJGJ4LWNvbnRyb2xzLWljb24tc2l6ZTogKFxyXG4gICAgc21hbGw6IDE0cHgsXHJcbiAgICBsYXJnZTogMThweFxyXG4pICFkZWZhdWx0O1xyXG4kYngtY29udHJvbHMtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYngtY29udHJvbHMtaWNvbi1zaGFkb3c6IDAgIWRlZmF1bHQ7XHJcbiRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjAsXHJcbiAgICBob3ZlcjogJGNvbG91cjAsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIwXHJcbikgIWRlZmF1bHQ7XHJcbiRieC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4vLyBEdWUgdG8gdXNpbmcgdmFyaW91cyBkaWZmZXJlbnQgZm9udCBmYW1pbGllcyBmb3IgZ2x5cGhzIHBsYWNlbWVudCBvZiB0aGUgZ2x5dGggaW4gaXRzIGNhbnZhcyBjYW4gdmFyeSBzbyBpbiBzb21lIGNhc2VzIHdlIG5lZWQgdG8gYWRkIGEgc2hpbSB0byBjZW50cmFsaXNlIGl0IHdpdGhpbiB0aGUgYnV0dG9uLlxyXG4kY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW06IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFNlcGVyYXRvcnMgLS0tXHJcbiRjb2xsZWN0aW9uLXNlcGVyYXRvcnMtZGVmYXVsdC1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMXB4LFxyXG4gICAgaGVpZ2h0OiA4MCVcclxuKSAhZGVmYXVsdDtcclxuJGNvbGxlY3Rpb24tc2VwZXJhdG9ycy1jb2xvdXI6ICRjb2xvdXIzLTYgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBBWElTIFRvb2x0aXAgLS0tLS0gXHJcbiR0b29sdGlwLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC10aXAtc2l6ZTogOSAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAyICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LWJvcmRlcjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWNvbnRlbnQtZm9udC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJHRvb2x0aXAtY29udGVudC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1jb250ZW50LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0ICFkZWZhdWx0OyAvLyBGb3Igd2FybmluZyAmIGFsZXJ0LlxyXG4kdG9vbHRpcC1jb250ZW50LWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiR0b29sdGlwLWluZm8taWNvbi1zaXplOiAxMHB4ICFkZWZhdWx0O1xyXG4kdG9vbHRpcC1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiByZ2JhKCRjb2xvdXIzLTYsIDAuNyksXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgLS0tLS1cclxuJGhlYWRlci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1kZXNrdG9wLWJhY2tncm91bmQtaW1hZ2U6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItZGVza3RvcC1iYWNrZ3JvdW5kLWltYWdlLXBvc2l0aW9uOiB0b3AgcmlnaHQgIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgUmVzcG9uc2l2ZSAtLS0gXHJcbi8vIFdoaWNoIGNvbXBvbmVudHMgaW4gbW9iaWxlIGRvbid0IGdldCBzdXBwcmVzc2VkIGluc2lkZSBvZiB0aGUgaGVhZGVyLWNvbnRlbnQtKiBjb250YWluZXJzLlxyXG4kaGVhZGVyLWNvbXBvbmVudC1kaXNwbGF5LWxpc3Q6IFwiLmxvZ28tY29udGFpbmVyXCIsIFwiI2FjdGlvbi1iYXItY29udGFpbmVyXCIsIFwiLmhlYWRlci1zZWFyY2gtY29udGFpbmVyXCIsIFwiLmhlYWRlci1jb21wb25lbnQtc2hvdy1tb2JpbGVcIiAhZGVmYXVsdDtcclxuJGhlYWRlci1tb2JpbGUtbWVudS1tYXgtaGVpZ2h0OiA4MHZoICFkZWZhdWx0O1xyXG4kaGVhZGVyLW1vYmlsZS1tZW51LXotaW5kZXg6IDIwMDAgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLWdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDQ3LjclIDI4LjUlICFkZWZhdWx0O1xyXG4kaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyOiAoKSAhZGVmYXVsdDtcclxuJGhlYWRlci1kZXNrdG9wLXNlcGFyYXRvcjogMCAhZGVmYXVsdDtcclxuJGhlYWRlci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIG1lZGl1bTogMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tc2l6ZTogMzVweCAhZGVmYXVsdDtcclxuJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMi41cHgsXHJcbiAgICBtZWRpdW06IDAgMzBweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1yb3RhdGU6IDE4MGRlZyAhZGVmYXVsdDtcclxuJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZTogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBsYXJnZTogMjRweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXJlc3BvbnNpdmUtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWhhbWJ1cmdlci1pY29uLXNpemU6IChcclxuICAgIHNtYWxsOiAyNXB4LFxyXG4gICAgbGFyZ2U6IDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1tb2JpbGUtdG9nZ2xlLWljb25zLWRpc3BsYXk6IChcclxuICAgIG1haWw6IHRydWUsXHJcbiAgICB0ZWxlcGhvbmU6IHRydWUsXHJcbiAgICBzZWFyY2g6IHRydWUsXHJcbiAgICBiYXNrZXQ6IHRydWUsXHJcbiAgICBoYW1idXJnZXI6IHRydWVcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1tb2JpbGUtc2VwZXJhdG9yLXJ1bGUtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGhlYWRlci1tb2JpbGUtc2VwZXJhdG9yLXJ1bGUtd2VpZ2h0OiAycHggIWRlZmF1bHQ7XHJcbi8vICRoZWFkZXItbmF2LXJpZ2h0LXdpZHRoOiAzNzBweCAhZGVmYXVsdDtcclxuLy8gLS0tIEhlYWRlciB0b2dnbGUgYmFyICBbIERlc2t0b3AgXSAtLS0gXHJcbiRoZWFkZXItdG9nZ2xlLWJhci1nYXA6IDAgMTIuNXB4ICFkZWZhdWx0O1xyXG4vLyBCdXR0b25zXHJcbiRoZWFkZXItdG9nZ2xlci1iYXItYnV0dG9uLW1pbi1oZWlnaHQ6IDM1cHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLXBhZGRpbmc6IDMuNXB4IDcuNzVweDtcclxuJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tZm9udC1zaXplOiAyMHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRvZ2dsZS1iYXItZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdG9nZ2xlLWNvbnRlbnQtd2lkdGhzOiAoXHJcbiAgICBzZWFyY2g6IDQ5MHB4LCAgICBcclxuICAgIGFjdGlvbi1iYXI6IDI1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgQWNjb3VudCBCdXR0b24gLS0tXHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tbWluLWhlaWdodDogJGhlYWRlci10b2dnbGVyLWJhci1idXR0b24tbWluLWhlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1mbGV4LWRpcmVjdGlvbjogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1wYWRkaW5nOiAoXHJcbiAgICBkZWZhdWx0OiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLXBhZGRpbmcsXHJcbiAgICBtaW5pZmllZDogJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1wYWRkaW5nXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1ndXR0ZXI6IDEwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1zaXplOiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTQsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1tYXJnaW46IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1wYWRkaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpICFkZWZhdWx0O1xyXG4vLyAtLS0gSGVhZGVyIFVwcGVyIC0tLVxyXG4kaGVhZGVyLXVwcGVyLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLXVwcGVyLWljb25zLXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItaWNvbi1tYXJnaW46IDAgMTBweCAwIDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItaWNvbi1wYWRkaW5nOiAxcHggNXB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWljb25zLWJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWdyYWRpYW50OiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMyAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRtZW51cy10ZWxlcGhvbmUtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kbWVudXMtdGVsZXBob25lLWZvbnQtd2VpZ2h0IDogbnVsbCAhZGVmYXVsdDtcclxuJG1lbnVzLXRlbGVwaG9uZS1pY29uLXNpemU6ICRoZWFkaW5nLXVwcGVyLWljb25zLXNpemUgIWRlZmF1bHQ7XHJcbiRtZW51cy10ZWxlcGhvbmUtaWNvbi1saW5lLWhlaWdodDogMjJweCAhZGVmYXVsdDtcclxuJG1lbnVzLXRlbGVwaG9uZS1pY29uLXJvdGF0ZTogJGhlYWRlci1yZXNwb25zaXZlLWljb24tcm90YXRlICFkZWZhdWx0O1xyXG4kbWVudXMtZW1haWwtZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kbWVudXMtZW1haWwtaWNvbi1zaXplOiAkaGVhZGluZy11cHBlci1pY29ucy1zaXplICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLWZvbnQtc3R5bGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1ib3JkZXItd2lkdGg6IDAgMCAxcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdXBwZXItYm9yZGVyLWNvbG91cjogJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJGhlYWRlci11cHBlci1wYWRkaW5nOiA3LjVweCAxNXB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXVwcGVyLXBhcmVudC1zdXBwcmVzcy1vdXRlci1wYWRkaW5nOiBmYWxzZSAhZGVmYXVsdDtcclxuLy8gLS0tIE1pZGRsZSAtLS1cclxuJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1ncmFkaWFudDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IDM0JSxcclxuICAgIG1lZGl1bTogbm9uZSxcclxuICAgIGxhcmdlOiAkZ2xvYmFsLXdpZHRoXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4LFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuLy8gSGVhZGVyIGNvbnRlbnQgbGVmdC5cclxuLy8gRGVwcmVjYXRlZCBtb3ZpbmcgdG8gcmVsYXRpdmUgbGVuZ3RoXHJcbi8vICRsb2dvLWNvbnRhaW5lci13aWR0aDogKFxyXG4vLyAgICAgbGFyZ2U6IDMxMHB4XHJcbi8vICkgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG9nby13aWR0aDogKFxyXG4gICAgbGFyZ2U6IDIwMHB4LFxyXG4gICAgbWluaWZpZWQ6IDEwNXB4LFxyXG4gICAgc21hbGw6IDY1cHhcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb2dvLWhlaWdodDogKFxyXG4gICAgc21hbGw6IDY1cHgsXHJcbiAgICBsYXJnZTogYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWxvZ28tYW5jaG9yLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDVweCAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb2dvLWltYWdlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLCBcclxuICAgIGxhcmdlOiAyNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuJHNob3ctbWluaWZpZWQtbG9nby1zbWFsbDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRsb2dvLWNvbnRhaW5lci1qdXN0aWZ5OiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRsb2dvLWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDEwcHggMCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LWRpc3BsYXk6IGZsZXggIWRlZmF1bHQ7XHJcblxyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC10ZW1wbGF0ZS1jb2x1bW5zOiAoXHJcbiAgICBsYXJnZTogMWZyICN7KCRnbG9iYWwtd2lkdGggLyAzKX0sXHJcbiAgICB4eGxhcmdlOiAxZnIgI3soJGdsb2JhbC13aWR0aCAvIDIpfVxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1hbGlnbi1pdGVtczogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtanVzdGlmdHktY29udGVudDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWVuYWJsZS11bmRlcmxpbmU6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXVuZGVybGluZS1oZWlnaHQ6IDJweCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1tYXJnaW46IGF1dG8gMCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1zdXBwcmVzcy1maXJzdC1pdGVtLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXN1cHByZXNzLWZpcnN0LWl0ZW0tbWFyZ2luOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXN1cHByZXNzLWZpcnN0LWl0ZW0tcGFkZGluZyAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1pdGVtLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmc6IDE1cHggMTBweCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYmFja2dyb3VuZC1jb2xvdXI6ICgpICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4vLyBIZWFkZXIgY29udGVudCBjZW50ZXIuXHJcbiRoZWFkZXItY29udGVudC1jZW50ZXItanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1jZW50ZXItcGFkZGluZzogKFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWNvbnRhaW5lci1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyOiAoKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LWNlbnRlci1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nOiAwICFkZWZhdWx0O1xyXG5cclxuLy8gSGVhZGVyIGNvbnRlbnQgcmlnaHQuXHJcbiRoZWFkZXItY29udGVudC1yaWdodC1kaXNwbGF5OiBmbGV4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtdGVtcGxhdGUtY29sdW1uczogKFxyXG4gICAgbGFyZ2U6IDFmcixcclxuICAgIHhsYXJnZTogMWZyLFxyXG4gICAgeHhsYXJnZTogI3soJGdsb2JhbC13aWR0aCAvIDIpfSAxZnJcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LWFsaWdubWVudDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1tYXJnaW46IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLXBhZGRpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWNvbG91ciwgZGVmYXVsdClcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXNpemU6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQ6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtYW5jaG9yLXBhZGRpbmc6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtbGluZS1oZWlnaHQ6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuLy8gU28gdGhlIGNvbnRlbnQgZml0cyB0aWdodCBhZ2FpbnN0IHRoZSBjb250ZW50IGNvbnRhaW5lci5cclxuJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtc3VwcHJlc3MtcGFkZGluZzogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIC0tLSBIZWFkZXIgTG93ZXIgLS0tXHJcbiRoZWFkZXItbWVnYS1tZW51LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgsIGxhcmdlKSxcclxuICAgIHhsYXJnZTogbnVsbCxcclxuICAgIHh4bGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9yczogdHJ1ZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1zdXBwcmVzcy1vdXRlci1zZXBlcmF0b3JzOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1kaW1lbnRpb25zOiAoXHJcbiAgICB3aWR0aDogMXB4LFxyXG4gICAgaGVpZ2h0OiAxMDAlXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwOiBudWxsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbG93ZXItaXRlbS1ncm93OiBmYWxzZSAhZGVmYXVsdDtcclxuJGhlYWRlci1sb3dlci10ZXh0LWFsaWduOiBsZWZ0ICFkZWZhdWx0O1xyXG4vLyRoZWFkZXItbG93ZXItaXRlbS1wYWRkaW5nOiAxNXB4IDE1cHggIWRlZmF1bHQ7XHJcbi8vIE1lZ2EgTWVudVxyXG4kbWVnYS1tZW51LWJvcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtYm9yZGVyLXdpZHRoOiAxcHggMCAwICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWJvcmRlci1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LW1vYmlsZS1tYXgtaGVpZ2h0OiA4MHZoICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LW1vYmlsZS1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4vLyBNZWdhIG1lbnUgaWNvbnMuXHJcbiRtZWdhLW1lbnUtc2hvdy1pY29uczogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtc2hvdy1pY29ucy1tb2JpbGU6IHRydWUgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaWNvbnMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCA4cHggMCA4cHgsXHJcbiAgICBsYXJnZTogMCA4cHggMCAwIFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWljb25zLXNpemU6IDIwcHggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtaWNvbnMtZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXIgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1kZXNrdG9wLW1heC1oZWlnaHQ6IDcwdmggIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMCAwIDE3LjVweCxcclxuICAgIGxhcmdlOiA0MHB4IDQ3cHhcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtbGV2ZWwtMi1ib3gtc2hhZG93OiAwcHggMjBweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuMjIpICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXJhZGl1czogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIE1lZ2EgbWVudSBJbWFnZSAtLS1cclxuJG1lZ2EtbWVudS1pbWFnZS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy00ICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWltYWdlLWRlc2t0b3AtbWFyZ2luOiAwIDAgMjBweCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1pbWFnZS1ib3gtc2hhZG93OiBudWxsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWltYWdlLWRpbWVuc2lvbnM6IDIwMHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gTW9iaWxlIE5hdmlnYXRpb24gdGV4dCAoIEhlYWRlciApIC0tLVxyXG4kbWVudS1uYXYtdGV4dC1tYXJnaW46IDMwcHggMCA0MHB4ICFkZWZhdWx0O1xyXG4vLyBMZXZlbCAxXHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXN1cHByZXNzLW91dGVyLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zdXBwcmVzcy1maXJzdC1jaGlsZC1tYXJnaW46ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXN1cHByZXNzLW91dGVyLXBhZGRpbmcgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXM6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1tYXgtd2lkdGg6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGluZS1oZWlnaHQ6ICRkZWZhdWx0LWxpbmUtaGVpZ2h0IWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplOiAoXHJcbiAgICBzbWFsbDogMjAsXHJcbiAgICBsYXJnZTogMTVcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtd2VpZ2h0OiAoXHJcbiAgICBzbWFsbDogNzAwLFxyXG4gICAgbGFyZ2U6IDYwMFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZyxcclxuICAgIGxhcmdlOiAxNXB4IDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdC1zbWFsbDogJGNvbG91cjQsXHJcbiAgICBkZWZhdWx0LWxhcmdlOiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMy02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kbWVudXMtbGV2ZWwtMS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciksXHJcbiAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBsYXJnZS12YWx1ZSgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIpLCAvLyB5b3UgbWF5IGdldCBpc3N1ZXMgaGVyZSBmb3IgbW9iaWxlLlxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1hbmNob3ItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemU6IChcclxuICAgIHNtYWxsOiAzNXB4LFxyXG4gICAgbGFyZ2U6IDQ1cHhcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtZmxleC1kaXJlY3Rpb246IGNvbHVtbiAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtaW1hZ2UtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMTBweCAwIDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1kZXNjcmlwdGlvbi1wYWRkaW5nOiAxMHB4IDAgMCAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1czogbnVsbCAhZGVmYXVsdDtcclxuLy8gTGV2ZWwgMlxyXG4kbWVnYS1tZW51LW1heC1jb2x1bW5zOiA4ICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWRyb3Bkb3duLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGg6IGZhbHNlICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWRyb3Bkb3duLWNvbnRlbnQtY29udGFpbmVyOiBpZigkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGgsICRnbG9iYWwtd2lkdGgsIDEwMCUpICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlcjogMjBweCAxNXB4ICFkZWZhdWx0O1xyXG4kZGVmYXVsdC1tZW51LWRyb3Bkb3duLWJvcmRlci1jb2xvdXI6ICRjb2xvdXI0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICRnbG9iYWwtbWVudS1pdGVtLXBhZGRpbmcsXHJcbiAgICBsYXJnZTogMTBweCAwIDVweCA1cHhcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDE3LFxyXG4gICAgbGFyZ2U6IDE1XHJcbikgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBzbWFsbDogNzAwLFxyXG4gICAgbGFyZ2U6IDgwMFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIyLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogKCkgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LXRleHQtdHJhbnNmb3JtOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC10ZXh0LXRyYW5zZm9ybSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1wYXJlbnQtdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xyXG4kbWVnYS1tZW51LXBhcmVudC1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRtZWdhLW1lbnUtcGFyZW50LWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbi8vIExldmVsIDMuXHJcbiRtZWdhLW1lbnUtY2hpbGQtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAwIDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1jaGlsZC1zaXplOiAoXHJcbiAgICBzbWFsbDogMTcsXHJcbiAgICBsYXJnZTogMTRcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1jaGlsZC1mb250LXdlaWdodDogKFxyXG4gICAgc21hbGw6IDQwMCxcclxuICAgIGxhcmdlOiA0MDBcclxuKSAhZGVmYXVsdDsgXHJcbiRtZWdhLW1lbnUtY2hpbGQtY29sb3VyOiAoXHJcbiAgICBzbWFsbDogJGNvbG91cjIsXHJcbiAgICBsYXJnZS1kZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGxhcmdlLWhvdmVyOiAkY29sb3VyNixcclxuICAgIGxhcmdlLWFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJG1lZ2EtbWVudS1jaGlsZC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNXB4IHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgMikgNXB4IHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgNCksXHJcbiAgICBsYXJnZTogMCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDIsIGxhcmdlKSAwIHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgNCwgbGFyZ2UpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFZpZXcgbW9yZS5cclxuXHJcbi8vIEFjY291bnQgTWVudS5cclxuJGFjY291bnQtbWVudS13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogNTUwcHhcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtbWVudS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLFxyXG4gICAgbGFyZ2U6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gR2V0cyB1c2VkIGluIGhlYWRlciB2YXJpYW50IDNcclxuJGFjY291bnQtbWVudS1ib3gtc2hhZG93OiBudWxsICFkZWZhdWx0O1xyXG4kYWNjb3VudC1tZW51LWl0ZW0tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcclxuXHJcbiRtZW51LWxldmVsMS1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbWVudS1sZXZlbDItZGVmYXVsdC1tb2JpbGUtaG92ZXItYmFja2dyb3VuZDogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuJG1lbnUtbGV2ZWwxLWRlZmF1bHQtaG92ZXItY29sb3VyOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG4kbWVudS1sZXZlbDEtYW5jaG9yLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiRtZW51LWxldmVsMS1hbmNob3ItY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG1lbnUtbGV2ZWwxLWFuY2hvci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG5cclxuLy8gQ29tbW9uIG1lbnUgc3R5bGVzXHJcbiRtb2JpbGUtbWVudS1mb290ZXItcGFkZGluZy1ib3R0b206IDUwcHggIWRlZmF1bHQ7IFxyXG4kbWVudS1mb290ZXItYm9yZGVyLWJvdHRvbS1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kbWVudS1mb290ZXItYm9yZGVyLWJvdHRvbS1zaXplOiA2cHggIWRlZmF1bHQ7XHJcbiRtZW51LWVuYWJsZS1kcm9wZG93bi1mb290ZXI6IHRydWUgIWRlZmF1bHQ7XHJcbi8vIFN1cHByZXNzaW5nIHRvIGFsbG93IGZvciBjb21wYWN0IGhlYWRlciBmb3IgYXhpcyBwb3J0YWwuXHJcbi8vICRoZWFkZXItY29udGVudC1taW4taGVpZ2h0OiAxNDVweCAhZGVmYXVsdDtcclxuLy8gLS0tIFN0YXR1cyBtZXNzYWdlcyAtLS0gXHJcbiRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLXNlcGVyYXRvci1jb2xvdXI6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91ciAhZGVmYXVsdDtcclxuLy8gLS0tIFRhZ2xpbmUgLS0tXHJcbiRoZWFkZXItdGFnbGluZS1oZWlnaHQ6IDUwcHggIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1sb3dlci1zdXBwcmVzczogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkaW5nLXRhZ2xpbmUtcGFkZGluZzogOHB4IDAgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgKyAxICFkZWZhdWx0O1xyXG4kaGVhZGVyLXRhZ2xpbmUtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRoZWFkZXItdGFnbGluZS1sZXR0ZXItc3BhY2luZzogMCAhZGVmYXVsdDtcclxuJGhlYWRlci10YWdsaW5lLWxpbmUtaGVpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTZWFyY2ggLS0tXHJcbi8vICRoZWFkZXItc2VhcmNoLXdpZHRoOiA2MjBweCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaGVpZ2h0OiA1MHB4ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIGhvdmVyOiBudWxsLFxyXG4gICAgYWN0aXZlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1ib3gtc2hhZG93OiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LXNpemU6IDE3ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LWZhbWlseTogbnVsbCAhZGVmYXVsdDsgXHJcbiRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4vLyBBcyB3ZSBtaWdodCB3YW50IHRvIHNldCB0aGUgc2hhZG93IG9uIHRoZSBjb250YWluZXIgaW5zdGVhZCBvZiB0aGUgYWN0dWFsIGlucHV0cy5cclxuJGhlYWRlci1zZWFyY2gtaW5wdXQtc3VwcHJlc3MtaG92ZXItYm94LXNoYWRvdzogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtaWNvbi1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1idXR0b24tYm9yZGVyLXdpZHRoOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbCxcclxuICAgIGFjdGl2ZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci1zZWFyY2gtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGluZy1zZWFyY2gtanVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLXJlc3VsdHMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogJGhlYWRlci10YWdsaW5lLWhlaWdodCA0MHB4IDAgNDBweFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWlucHV0LWJveC1zaGFkb3c6IChcclxuICAgIGRlZmF1bHQ6IG51bGwsXHJcbiAgICBob3ZlcjogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1ib3JkZXItd2lkdGgtb3ZlcnJpZGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItc2VhcmNoLWJvcmRlci1jb2xvdXItb3ZlcnJpZGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItYnV0dG9uLWljb24tY29sb3VyLW92ZXJyaWRlOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gV2VsY29tZSBUZXh0IC0tLSBcclxuJGhlYWRlci13ZWxjb21lLXRleHQtbWFyZ2luOiBudWxsICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1qdXN0aWZ5LWNvbnRlbnQ6IChcclxuICAgIGxhcmdlOiBmbGV4LWVuZCxcclxuICAgIHh4bGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcclxuJGhlYWRlci13ZWxjb21lLXRleHQtaGVpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRoZWFkZXItd2VsY29tZS10ZXh0LXRleHQtYWxpZ246IHJpZ2h0ICFkZWZhdWx0O1xyXG4kaGVhZGVyLXdlbGNvbWUtdGV4dC1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuLy8gQXV0b2NvbXBsZXRlICggU2VhcmNoIClcclxuJGFjLXJlc3VsdC1waW4tdG8tdG9wOiB0cnVlICFkZWZhdWx0O1xyXG4kaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb246IChcclxuICAgIHRvcDogaWYobm90ICRhYy1yZXN1bHQtcGluLXRvLXRvcCwgLSN7c3BhY2luZy12YWx1ZSgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLXBhZGRpbmcsIDEsIGxhcmdlKX0sIG51bGwpLFxyXG4gICAgcmlnaHQ6IG51bGwsXHJcbiAgICBsZWZ0OiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRhYy1yZXN1bHRzLXdpZHRoOiA3MDBweCAhZGVmYXVsdDtcclxuJGFjLXJlc3VsdHMtb2Zmc2V0OiAtI3tzcGFjaW5nLXZhbHVlKCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtcGFkZGluZywgNCwgbGFyZ2UpfSAhZGVmYXVsdDtcclxuJGFjLXJlc3VsdHMtYm94LXNoYWRvdzogJGJveFNoYWRvdzEgIWRlZmF1bHQ7XHJcbiRhYy1yZXN1bHRzLXBhZGRpbmc6IChcclxuICAgIHRvcDogMTEwcHgsXHJcbiAgICBzaWRlOiAwLFxyXG4gICAgYm90dG9tOiA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1tYXJnaW46IDEwcHggMCAxNXB4ICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1wYWRkaW5nOiA1cHggMTVweCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXItY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDAgIWRlZmF1bHQ7XHJcbiRhYy10aXRsZS1jb2xsZWNpdG9uLWJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpICFkZWZhdWx0O1xyXG4kYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC1zaXplOiAoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKSAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGFjLXRpdGxlLXRpdGxlLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kYWMtdmlldy1hbGwtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGFjLXZpZXctYWxsLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNixcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYWMtdmlldy1hbGwtZm9udC1zaXplOiAoJGFjLXRpdGxlLWNvbGxlY3Rpb24tZm9udC1zaXplIC0gMSkgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWxpc3QtcGFkZGluZzogMTBweCAwICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1jb250ZW50LWdhcDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1wYWRkaW5nOiAwIDIwcHggMCAwICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1tYXJnaW46IDAgMCA1cHggIWRlZmF1bHQ7XHJcbiRhYy1pdGVtLWltYWdlLW1hcmdpbjogMCAxMHB4IDAgMCAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0taW1hZ2UtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDUwcHgsXHJcbiAgICBoZWlnaHQ6IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuJGFjLWl0ZW0tcmVmZXJlbmNlLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtM1xyXG4pICFkZWZhdWx0O1xyXG4kYWMtaXRlbS1zbmlwcGV0LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGFjLWl0ZW0tcmVmZXJlbmNlLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIE5hdmlnYXRpb24gLS0tXHJcbi8vIEhvbWUgQnV0dG9uXHJcbiRob21lLWJ1dHRvbi13aWR0aDogZml0LWNvbnRlbnQgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1pY29uLXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMCxcclxuICAgIGhvdmVyOiAkY29sb3VyMCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjBcclxuKSAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLXN1cHByZXNzLWJhY2tncm91bmQtY29sb3VyOiBmYWxzZSAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSlcclxuKSAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGRlZmF1bHQtbGFyZ2UpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRob21lLWJ1dHRvbi1wYWRkaW5nOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcsIGxhcmdlKSAhZGVmYXVsdDtcclxuJGhvbWUtYnV0dG9uLWJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpICFkZWZhdWx0O1xyXG4kaG9tZS1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kaG9tZS1zZXBlcmF0b3ItZGltZW5zaW9uczogKFxyXG4gICAgd2lkdGg6IDJweCxcclxuICAgIGhlaWdodDogODAlXHJcbikgIWRlZmF1bHQ7XHJcbiRob21lLXNlcGVyYXRvci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gU3RpY2t5IC0tLSBcclxuJGhlYWRlci1taW5pZmllZC1oZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbWluaWZpZWQtbWVnYS1tZW51LXBhcmVudC1ncm91cC1wYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcsIDEsIGxhcmdlKSAhZGVmYXVsdDtcclxuJGhlYWRlci1taW5pZmllZC1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZzogMCAhZGVmYXVsdDtcclxuJGhlYWRlci1taW5pZmllZC1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItbWFyZ2luOiAwICFkZWZhdWx0O1xyXG4kaGVhZGVyLWlzLXN0dWNrLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gLS0tIEJhc2tldCBQcmV2aWV3IC0tLSBcclxuJGRlc2t0b3Atc3VtbWFyeS13aWR0aDogMjU1cHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1ib3gtc2hhZG93OiAoXHJcbiAgICBkZWZhdWx0OiBudWxsLFxyXG4gICAgaG92ZXI6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0ICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC02LFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICB3YXJuaW5nOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgOSksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhbGVydDogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1ob3Zlci1jb2xvdXI6ICRjb2xvdXI0LTEgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1mb250LXdlaWdodDogKFxyXG4gICAgZGVmYXVsdDogNDAwLFxyXG4gICAgaG92ZXI6IDYwMFxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpb3VzLWljb24td2lkdGg6IDcycHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWhlaWdodDogNTBweCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tcGFkZGluZzogKFxyXG4gICAgZGVmYXVsdDogOXB4IDIzcHgsXHJcbiAgICBtaW5pZmllZDogNHB4IDIzcHhcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjEsXHJcbiAgICB3YXJuaW5nOiAkY29sb3VyMSxcclxuICAgIGFsZXJ0OiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzOiAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctZm9udC1zaXplOiAxNCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWZvbnQtc3R5bGU6IG51bGwgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcHJldmlldy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDsgLy8gRm9yIHdhcm5pbmcgJiBhbGVydCBzdGF0ZXMuXHJcbiRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLWdyYWRpYW50OiBudWxsICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMSxcclxuICAgIHdhcm5pbmc6ICRjb2xvdXI2LFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMClcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZCAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tYWxpZ24taXRlbXM6IGNlbnRlciAhZGVmYXVsdDtcclxuJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgZGVmYXVsdClcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMCksXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDYWxsIHRvIGFjdGlvbiAtLS0gXHJcbiRoZWFkZXItY2FsbC10by1hY3Rpb24tY29udGFpbmVyLWhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0ICFkZWZhdWx0O1xyXG5cclxuJGJhc2tldC1wcmV2aWV3LWljb24tZm9udC1zaXplOiAyMnB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gQnJlYWRjcnVtYnMgJiBWYXQgU3dpdGNoZXIgLS0tIFxyXG4kaGVhZGVyLW5vLWJyZWFrY3J1bWJzLXRvZ2dsZS1zd2l0Y2gtc2hpbS1vbi1ob21lcGFnZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoZWFkZXItbm8tYnJlYWRjcnVtYnMtdmF0LXN3aXRjaC1zaGltOiA3LjVweCAhZGVmYXVsdDsgLy8gdHJ5IGFuZCBrZWVwIGluIHN5bmMgd2l0aCBtb2R1bGUgbWFyZ2luIHRvcCArIGJvdHRvbSAoIGkuZSBoYWxmICRtb2R1bGVzLW1vZHVsZS1tYXJnaW4gKS5cclxuJGJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lci1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBsYXJnZTogOHB4IDAgMTVweFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQnJlYWRjcnVtYnMgLS0tXHJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy02LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1hbmNob3ItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLWFjdGl2ZS1mb250LXdlaWdodDogJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1jb2xvdXI6IG1hcC1nZXQoJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kYnJlYWRjcnVtYnMtc2VwZXJhdG9yLXNpemU6IDEwcHggIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy1zZXBlcmF0b3ItbWFyZ2luOiAwIDVweCAhZGVmYXVsdDtcclxuJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1zaGltOiAxcHggIWRlZmF1bHQ7XHJcbiRicmVhZGNydW1icy11cHBlcmNhc2U6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFZBVCBTd2l0Y2hlciAtLS0gXHJcbiR2YXQtc3dpdGNoZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kdmF0LWhpZ2hsaWdodGVkLWFjdGl2ZS1sYWJlbDogZmFsc2UgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItZm9udC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1mb250LXdlaWdodDogKFxyXG4gICAgZGVmYXVsdDogNDAwLFxyXG4gICAgYWN0aXZlOiA2MDBcclxuKSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnM6IDM0cHggIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGV4Y2x1c2l2ZTogJGNvbG91cjAsXHJcbiAgICBpbmNsdXNpdmU6ICRjb2xvdXIwXHJcbikgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcbiR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGV4Y2x1c2l2ZTogJGNvbG91cjMtMixcclxuICAgIGluY2x1c2l2ZTogJGNvbG91cjMtMlxyXG4pICFkZWZhdWx0O1xyXG4kdmF0LXN3aXRjaGVyLWluZGljYXRvci1nYXA6IDAgMTBweCAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1wYWRkbGUtY29sb3VyOiAoXHJcbiAgICBleGNsdXNpdmU6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMiwgMyksXHJcbiAgICBpbmNsdXNpdmU6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMiwgMylcclxuKSAhZGVmYXVsdDtcclxuJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogMCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBVU1AgQmFyIC0tLSBcclxuJHVzcC1vcmRlci1pbnZlcnQ6IGZhbHNlICFkZWZhdWx0O1xyXG4kdXNwLWltYWdlLWd1dHRlcjogMTJweCAhZGVmYXVsdDtcclxuJHVzcC1pbWFnZS1iYWNrZ3JvdW5kLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJHVzcC1pbWFnZS1wYWRkaW5nOiA2cHggIWRlZmF1bHQ7XHJcbiR1c3AtYmFyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiA1cHggMCA3LjVweCxcclxuICAgIGxhcmdlOiAxMHB4IDAgMFxyXG4pICFkZWZhdWx0O1xyXG4kdXNwLXBhZGRpbmc6IDE1cHggNXB4ICFkZWZhdWx0O1xyXG4kdXNwLWJhY2tncm91bmQtZnVsbC13aWR0aDogZmFsc2UgIWRlZmF1bHQ7XHJcbiR1c3AtaG92ZXItb3BhY2l0eTogLjYgIWRlZmF1bHQ7XHJcbiR1c3AtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMsXHJcbiAgICBob3ZlcjogZGFya2VuKCRjb2xvdXIzLCAxMCUpLFxyXG4gICAgYWN0aXZlOiBkYXJrZW4oJGNvbG91cjMsIDIwJSlcclxuKSAhZGVmYXVsdDtcclxuJHVzcC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6IG51bGwsXHJcbiAgICBhY3RpdmU6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJHVzcC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kdXNwLWd1dHRlcjogMCAhZGVmYXVsdDtcclxuJHVzcC1zZXBlcmF0b3I6IHRydWUgIWRlZmF1bHQ7XHJcbiR1c3Atc2VwZXJhdG9yLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAycHgsXHJcbiAgICBoZWlnaHQ6IDI4cHhcclxuKSAhZGVmYXVsdDtcclxuJHVzcC1zZXBlcmF0b3ItY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHVzcC1hbGlnbm1lbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJHVzcC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiR1c3AtZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJHVzcC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kdXNwLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kdXNwLWFuY2hvci1pbmRpY2F0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG4kdXNwLWFuY2hvci1pbmRpY2F0b3ItY3VzdG9tLWljb246ICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyAhZGVmYXVsdDtcclxuJHVzcC1hbmNob3ItaW5kaWNhdG9yLWZvbnQtc2l6ZTogMTFweCAhZGVmYXVsdDtcclxuJHVzcC1hbmNob3ItaW5kaWNhdG9yLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiR1c3AtYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xyXG4kdXNwLWJvcmRlci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBNb2R1bGVzIC0tLS0tIFxyXG4kbW9kdWxlLWgxLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRtb2R1bGUtaDItZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJG1vZHVsZS1oZWFkaW5nLWJvcmRlcjogMHB4IHNvbGlkICRjb2xvdXIwICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1maXJzdC1yb3ctbW9kdWxlLW1hcmdpbi10b3A6IDAgIWRlZmF1bHQ7XHJcbi8vIC0tLSBSb3cgQmFja2dyb3VuZCAtLS1cclxuJG1vZHVsZXMtcm93LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyNXB4LFxyXG4gICAgbGFyZ2U6IDQ1cHggMFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJG1vZHVsZXMtcm93LW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyNXB4LFxyXG4gICAgbGFyZ2U6IDAgMCA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUm93IENvbnRhaW5lciAtLS0gXHJcbiRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogKDApLFxyXG4gICAgbGFyZ2U6ICg0NXB4KVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1yb3ctYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTW9kdWxlIENvbnRhaW5lciAtLS1cclxuJG1vZHVsZXMtbW9kdWxlLWJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZzogKFxyXG4gICAgc21hbGw6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSxcclxuICAgIG1lZGl1bTogMTBweCxcclxuICAgIGxhcmdlOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZylcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAoMi41cHgsIGF1dG8pLFxyXG4gICAgbGFyZ2U6ICgzMHB4LCBhdXRvKVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1tb2R1bGUtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gTW9kdWxlIENvbnRlbnQgQ29udGFpbmVyIC0tLVxyXG4kbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyksXHJcbiAgICBtZWRpdW06IG1lZGl1bS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyksXHJcbiAgICBsYXJnZTogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQYWdlIEhlYWRpbmcgLS0tIFxyXG4kbW9kdWxlcy1wYWdlLWhlYWRpbmctbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAwIDEwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBFQkcgLS0tXHJcbiRtb2R1bGVzLWViZy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBDTVMgbW9kdWxlKHMpIGFzc29jaWF0ZWQgYmFubmVyIGltYWdlIG1hbmFnZW1lbnQgLS0tXHJcbiRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LWRlZmF1bHQ6IGNvdmVyICFkZWZhdWx0OyAvLyB0aGlzIGNvbnRyb2xzIHRoZSBsYXJnZSBicmVha3BvaW50LlxyXG4kbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdDogKFxyXG4gICAgZXZlbnRzOiAkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdC1kZWZhdWx0LFxyXG4gICAgbmV3czogJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQtZGVmYXVsdCxcclxuICAgIGJsb2c6ICRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1vYmplY3QtZml0LWRlZmF1bHQsXHJcbiAgICBlbnRyeTogJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQtZGVmYXVsdFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLWhlaWdodDogKFxyXG4gICAgZXZlbnRzOiA1NTBweCxcclxuICAgIG5ld3M6IDM3NXB4LFxyXG4gICAgYmxvZzogNDc1cHgsXHJcbiAgICBlbnRyeTogMzgwcHggLy8gSWYgbGVmdCBvciByaWdodCBhbGlnbmVkLlxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEJsb2cgLS0tLSBcclxuJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtc2l6ZTogbnVsbCAhZGVmYXVsdDtcclxuJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ibG9nLXktZ3V0dGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtYmxvZy1tYXJnaW46IChcclxuICAgIHNtYWxsOiAoMCksXHJcbiAgICBsYXJnZTogKDApXHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWJsb2ctY29udGVudC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogNTBweCAxMHB4LFxyXG4gICAgbGFyZ2U6IDUwcHggNy41JVxyXG4pICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1ibG9nLWNvbnRlbnQtcmVhZC1tb3JlLW1heC1oZWlnaHQtd2l0aC1iYW5uZXI6IHVuc2V0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE5ld3MgLS0tXHJcbiRtb2R1bGVzLW5ld3MteS1ndXR0ZXI6IGZhbHNlICFkZWZhdWx0O1xyXG4kbW9kdWxlcy1uZXdzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6ICgyNXB4KSxcclxuICAgIGxhcmdlOiAoNDBweClcclxuKSAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbmV3LWhlYWRpbmctbWFyZ2luOiAwIDAgMTVweCAhZGVmYXVsdDtcclxuJG1vZHVsZXMtbmV3cy1oZWFkaW5nLWZvbnQtZmFtaWx5OiBudWxsICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEV2ZW50cyAtLS0gXHJcbiRtb2R1bGVzLWV2ZW50cy1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIGxhcmdlOiA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRtb2R1bGVzLWV2ZW50cy1nYXA6IChcclxuICAgIHNtYWxsOiAyNXB4LFxyXG4gICAgbGFyZ2U6IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBHcmlkIGNvbGxlY3Rpb24gLS0tIFxyXG4vLyBDb2xsZWN0aW9uIGl0ZW1cclxuJG1vZHVsZXMtZ3JpZC1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiA3LjVweCxcclxuICAgIG1lZGl1bTogMTVweCwgLy8gQ2hhbmdpbmcgdG8gMTVweCB0byBtYXRjaCBmYWxsYmFjayBndXR0ZXIuXHJcbiAgICBsYXJnZTogNTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBHdXR0ZXIgZmFsbGJhY2sgaWYgQ1NTIHZhcmlhYmxlIGlzIG5vdCBkZWZpbmVkLCBpLmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmxpdHkgb2Ygb2xkIG1vZHVsZXMuXHJcbiRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrOiAoXHJcbiAgICBzbWFsbDogc21hbGwtdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSxcclxuICAgIG1lZHVtOiBtZWRpdW0tdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSxcclxuICAgIGxhcmdlOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQ01TIE1vZHVsZXMgLS0tIFxyXG4kY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1tYXJnaW46IGF1dG8gIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg6IDAgMCA1MCUgIWRlZmF1bHQ7XHJcbi8vIFVzZWQgZm9yIGltYWdlIHJpZ2h0ICsgbGVmdC5cclxuJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWluLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZzogKFxyXG4gICAgc21hbGw6ICgyMHB4LCAyNXB4KSxcclxuICAgIGxhcmdlOiAoNDVweCwgNTBweClcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtZW50cnktcmVhZC1tb3JlLW1heC1oZWlnaHQ6IChcclxuICAgIHNtYWxsOiAyNTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBVc2VkIGFzIGEgb3ZlcnJpZGUgZm9yIG1peGluIGNtcy1oZWFkaW5ncyBpZiBuZWVkZWQuXHJcbiRjbXMtbW9kdWxlLWhlYWRpbmctY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbjogKFxyXG4gICAgYmxvZzogZmFsc2UsXHJcbiAgICBldmVudHM6IGZhbHNlLFxyXG4gICAgbmV3czogZmFsc2VcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXI6IChcclxuICAgIGJsb2c6IG51bGwsXHJcbiAgICBldmVudHM6IG51bGwsXHJcbiAgICBuZXdzOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItY29sb3VyOiAkY29sb3VyMyAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aC1jb21tb246IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aDogKFxyXG4gICAgYmxvZzogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aC1jb21tb24sXHJcbiAgICBuZXdzOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLWNvbW1vbixcclxuICAgIGV2ZW50czogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aC1jb21tb25cclxuKTtcclxuJGNtcy1tb2R1bGUtY29udGVudC1qdXN0aWZ5LWNvbnRlbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIFVzZWQgZm9yIGNtcyBtb2R1bGVzIHRoYXQgYXJlIG5vdCBvZiB0eXBlIGVudHJ5IGkuZSBibG9nLCBuZXdzLCBldmVudC5cclxuJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtc2l6ZTogJGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIENNUyBTdWJzaWRpYXJ5IC0tLSBcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtcGFkZGluZzogMThweCAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1zaXplOiByZW0tY2FsKDIyKSAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kY21zLXN1YnNpZGlhcnktbGV2ZWwtMS1oZWFkaW5nLWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBDTVMgUGFnZXMgLS0tLS0gXHJcbi8vIC0tLSBDb21tb24gU3R5bGVzIC0tLSBcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LW1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGggIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktbWFyZ2luLXRvcC1ib3R0b206IDMwcHggIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQ6IGNlbnRlciAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtY29sb3VyOiAkY29sb3VyMy03ICFkZWZhdWx0O1xyXG4kZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWZvbnQtc2l6ZTogMjAgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLWVudHJpZXMtaGVhZGluZy1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGRpc3BsYXktY21zLWVudHJpZXMtY29udGVudC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSAhZGVmYXVsdDtcclxuJGNtcy1wYWdlLWhlYWRpbmctZm9udC1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4kY21zLXBhZ2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJGNtcy1wYWdlLWhlYWRpbmctbGV0dGluZy1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kc2hvdy1jbXMtYmFja2dyb3VuZDogKFxyXG4gICAgYmxvZzogZmFsc2UsXHJcbiAgICBuZXdzOiBmYWxzZSxcclxuICAgIGV2ZW50OiBmYWxzZSxcclxuICAgIGluZm9ybWF0aW9uOiB0cnVlXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBDTVMgVHlwZSBzcGVjaWZpYyAoIGJsb2csIGV2ZW50cywgbmV3cywgZXRjICkgLS0tXHJcbiRuZXdzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMyxcclxuICAgIGhvdmVyOiAkY29sb3VyMVxyXG4pICAhZGVmYXVsdDtcclxuJGJsb2ctYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxXHJcbiApICFkZWZhdWx0O1xyXG4kZXZlbnRzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMywgXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGluZm9ybWF0aW9uLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFRhYmxlIERpc3BsYXkgLS0tIFxyXG4kY21zLXRhYmxlLXJvdy1wYWRkaW5nOiAoXHJcbiAgICB0b3AtYm90dG9tOiA0MHB4LCBcclxuICAgIHJpZ2h0LWxlZnQ6IDExMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gQXJ0aWNsZSBQYWdlcyAtLS1cclxuJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kY21zLXBhZ2luYXRpb24tbGFiZWwtdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1idXR0b24tcGFkZGluZzogc3BhY2luZy12YWx1ZSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAxKSAxNXB4IHNwYWNpbmctdmFsdWUoJHNlY29uZGFyeS1idXR0b24tcGFkZGluZywgMykgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LCBcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNpemU6IDI2cHggIWRlZmF1bHQ7XHJcbi8vIERlcGVuZGluZyBvbiB0aGUgaWNvbiAvIGljb24tZmFtaWx5IHlvdSdyZSB1c2luZyB5b3UgbWF5IG5lZWQgdG8gcHJvdmlkZSBhIHNoaW0gdG8gcGVyZmVjdGx5IGNlbnRlcmFsaXNlLlxyXG4kY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2hpbTogMCAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0tLSBTdG9jayAtLS0tLSBcclxuLy8gLS0tIFByaWNlIC0tLSBcclxuJHByaWNlLW1hcmdpbjogMCAhZGVmYXVsdDtcclxuJHByaWNlLXZhdC1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBnZXQgcmlkIG9mIHRoaXMgZm9yIGNlbGwgYWxpZ25tZW50LlxyXG4kcHJpY2UtdGV4dC1hbGlnbjogbGVmdCAhZGVmYXVsdDtcclxuLy8gLS0tIFN0b2NrIEluZGljYXRvcnMgLS0tIFxyXG4kc3RvY2staW5kaWNhdG9yLXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItZGVmYXVsdC1pY29uLXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItaWNvbi1zaXplOiAoXHJcbiAgICBzb2gtMDogJHN0b2NrLWluZGljYXRvci1kZWZhdWx0LWljb24tc2l6ZSxcclxuICAgIHNvaC0xOiAkc3RvY2staW5kaWNhdG9yLWRlZmF1bHQtaWNvbi1zaXplLFxyXG4gICAgc29oLTI6ICRzdG9jay1pbmRpY2F0b3ItZGVmYXVsdC1pY29uLXNpemVcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrLWluZGljYXRvci1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWljb24tcGFkZGluZzogMCA1cHggMCAwICFkZWZhdWx0O1xyXG4kc3RvY2staW5kaWNhdG9yLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRzb2gtMi1pY29uLWNvbG91cjogJGNvbG91cjQtMiAhZGVmYXVsdDtcclxuJHNvaC0wLWljb24tY29sb3VyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpICFkZWZhdWx0O1xyXG4kc29oLTAtbGV2ZWwtY29sb3VyOiAkc29oLTAtaWNvbi1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRzb2gtMS1pY29uLWNvbG91cjogJGNvbG91cjYtMyAhZGVmYXVsdDtcclxuJHNvaC0xLWxldmVsLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRzb2gtbm90aWZpY2F0aW9uLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkc29oLTAtaWNvbi1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRzb2gtbm90aWZpY2F0aW9uLXN0YXR1cy1pY29uLXNpemU6IDE2cHggIWRlZmF1bHQ7XHJcbiRzb2gtY29sbGVjdGlvbi1vbmx5LWN1c3RvbS1pY29uOiBmYWxzZSAhZGVmYXVsdDtcclxuJHNvaC1jb2xsZWN0aW9uLW9ubHktaWNvbi1zaXplOiAyNHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gSW1hZ2VzIC0tLS0tXHJcbi8vIEFsbCBpbWFnZXMgc2hvdWxkIGJlIHdyYXBwZWQgaW4gYSAuaW1hZ2UgY29udGFpbmVyLCBmb3IgcG5nJ3MgdGhleSBtYXkgaGF2ZSBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQgd2hpY2ggb2Z0ZW4gZG9lc24ndCB3b3JrIGluIHRoZSBjb250ZXh0IG9mIHRhYmxlcyB3aGVyZSB3ZSBoYXZlIG9kZC9ldmVuIGNvbG91cmluZyBvbiByb3dzLCBzbyBhcyBhIGdlbmVyaWFsIHJ1bGUgYWRkaW5nIGEgd2hpdGUgYmFja2dyb3VuZCB0byBhbGwgaW1hZ2VzLlxyXG4kaW1hZ2UtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbWVkaWEtYXNwZWN0LXJhdGlvczogKFxyXG4gICAgXCJwcm9kdWN0XCI6IChcclxuICAgICAgICBcIndpZHRoXCI6IDEsXHJcbiAgICAgICAgXCJoZWlnaHRcIjogMVxyXG4gICAgKSxcclxuICAgIFwiZWJnXCI6IChcclxuICAgICAgICBcIndpZHRoXCI6IDEsXHJcbiAgICAgICAgXCJoZWlnaHRcIjogMVxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW86IG1hcC1kZWVwLWdldCgkbWVkaWEtYXNwZWN0LXJhdGlvcywgcHJvZHVjdCwgd2lkdGgpICsgXCIvXCIgKyBtYXAtZGVlcC1nZXQoJG1lZGlhLWFzcGVjdC1yYXRpb3MsIHByb2R1Y3QsIGhlaWdodCkgIWRlZmF1bHQ7XHJcbiRlYmctbWVkaWEtYXNwZWN0LXJhdGlvOiBtYXAtZGVlcC1nZXQoJG1lZGlhLWFzcGVjdC1yYXRpb3MsIGViZywgd2lkdGgpICsgXCIvXCIgKyBtYXAtZGVlcC1nZXQoJG1lZGlhLWFzcGVjdC1yYXRpb3MsIGViZywgaGVpZ2h0KSAhZGVmYXVsdDtcclxuJGltYWdlLWNvbGxlY3Rpb24tYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS13aWR0aCwgYXV0bykgLyB2YXIoLS1tZWRpYS1oZWlnaHQsIGF1dG8pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gSW1hZ2Ugb3ZlcmxheXMgKCBzYXNoZXMgKSAtLS0gLS1cclxuJGltYWdlLW92ZXJsYXktdXJsOiAnL2NvbnRlbnQvaW1hZ2VzL292ZXJsYXlzLyc7XHJcbiRpbWFnZS1vdmVybGF5LXBvc2l0aW9uOiBjZW50ZXIgIWRlZmF1bHQ7XHJcbi8vIC0tLSBHcm91cCBvdmVybGF5cyAoIEVCRydzICkgLS0tXHJcbiRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlcjogKFxyXG4gICAgc3BlY2lhbC1vZmZlcjogNSxcclxuICAgIGZlYXR1cmVkLWl0ZW06IDQsXHJcbiAgICBiZXN0LXNlbGxlcjogM1xyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gU3RvY2sgT3ZlcmxheXMgKCBzaW5nbGUgcHJvZHVjdCAmIHN0b2NrbGluZSApIC0tLVxyXG4kcHJvZHVjdC1pbWFnZS1vdmVybGF5cy1vcmRlcjogKFxyXG4gICAgc3BlY2lhbC1vZmZlcjogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIHNwZWNpYWwtb2ZmZXIpLFxyXG4gICAgZmVhdHVyZWQtaXRlbTogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGZlYXR1cmVkLWl0ZW0pLFxyXG4gICAgYmVzdC1zZWxsZXI6IG1hcC1nZXQoJGdyb3VwLWltYWdlLW92ZXJsYXlzLW9yZGVyLCBiZXN0LXNlbGxlciksXHJcbiAgICBwcmV2aW91c2x5LXB1cmNoYXNlZDogNixcclxuICAgIGNvbnRyYWN0LWl0ZW06IDdcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFZpZGVvIFBsYXllciAtLS0tLVxyXG4kdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJvcmRlci13aWR0aDogMCAhZGVmYXVsdDtcclxuJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0zLFxyXG4gICAgaG92ZXI6IC0td2hpdGUtY29sb3VyXHJcbikgIWRlZmF1bHQ7XHJcbiR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tYmFja2dyb3VuZDogKFxyXG4gICAgZGVmYXVsdDogaG92ZXItY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKSxcclxuICAgIGhvdmVyOiBkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tLS0gQ2F0ZWdvcnkgLS0tLS0tXHJcbiRjYXRlZ29yeS1ncm91cC1ob3Zlci1zY2FsZTogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFByb2R1Y3QgTGlzdCAtLS0tLS0gXHJcbi8vIC0tLSBHZW5lcmFsIExpc3RpbmcgU3R5bGVzIC0tLSBcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXdlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXNpemU6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWxpbmUtaGVpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWhvdmVyLXVuZGVybGluZTogdHJ1ZSAhZGVmYXVsdDtcclxuJHZpZXdJY29uRGltZW50aW9uczogMTZweCAhZGVmYXVsdDtcclxuJGxpc3Qtdmlldy10eXBlLWljb25zLWRpbWVudGlvbnM6IDE2cHggIWRlZmF1bHQ7XHJcbi8vIFNlY3Rpb24gaGVhZGluZ3MgKCByZWNvbW1lbmRlZCByZXN1bHRzIC8gcHJpbnRlciB3aXphcmQgKVxyXG4kc2VjdGlvbi1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWNvbG91cjogJGNvbG91cjEgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xyXG4kc2VjdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctdGV4dC1hbGlnbjogbnVsbCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1ib3JkZXItd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRzZWN0aW9uLWhlYWRpbmctYm9yZGVyLWNvbG91cjogJGhlYWRpbmctMS1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy10ZXh0LXRyYW5zZm9ybTogbnVsbCAhZGVmYXVsdDtcclxuJHNlY3Rpb24taGVhZGluZy1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuXHJcbi8vIFJlY29tbWVuZGVkIHJlc3VsdHMuXHJcbiRyZWNvbW1lbmRlZC1yZXN1bHRzLW1hcmdpbjogKFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJHJlY29tbWVuZGVkLXJlc3VsdHMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMixcclxuICAgIGhvdmVyOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSAhZGVmYXVsdDtcclxuJHJlY29tbWVuZGVkLXJlc3VsdHMtaXRlbS1wYWRkaW5nOiAoXHJcbiAgICBsYXJnZTogMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBJdGVtcyBmb3VuZC5cclxuJHNvcnRpbmctaXRlbXMtZm91bmQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIwICFkZWZhdWx0O1xyXG4kc29ydGluZy1pdGVtcy1mb3VuZC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG5cclxuLy8gRG93bmxvYWQgb3B0aW9uLlxyXG4kc29ydGluZy1kb3dubG9hZC1vcHRpb24tZ2FwOiAxMHB4ICFkZWZhdWx0OyBcclxuJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLXNlcGVyYXRvci13aWR0aDogKCRjb21tb24tcnVsZS13ZWlnaHQgKiAyKSAhZGVmYXVsdDtcclxuXHJcbi8vIFNvcnRpbmcgb3B0aW9ucyBzZXR0aW5ncy5cclxuLy8gQ29udGFpbmVyIHNldHRpbmdzLlxyXG4kc29ydGluZy1vcHRpb25zLWNvbnRhaW5lci1nYXA6IChcclxuICAgIHNtYWxsOiAyMHB4LFxyXG4gICAgbWVkaXVtOiAxMHB4IDE1cHggLy8gcmVkdWNpbmcgZnJvbSAxMHB4IDIwcHggdG8gMTBweCAxNXB4IHRvIGFsbG93IGZvciBtb3JlIHNwYWNlIGZvciBhIHZhcml0eSBvZiBjb250cm9scy5cclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIE9wdGlvbnMgc2V0dGluZ3MuXHJcbiRzb3J0aW5nLW9wdGlvbnMtaWNvbi1jb2xvdXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0zKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSAhZGVmYXVsdDtcclxuJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtbGFiZWwtbWFyZ2luLXJpZ2h0OiAxM3B4ICFkZWZhdWx0OyBcclxuJHBhZ2luYXRpb24tbGFiZWwtZGlzcGxheTogYmxvY2sgIWRlZmF1bHQ7XHJcbiRzb3J0aW9uLW9wdGlvbnMtYnV0dG9uLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQ6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCksXHJcbiAgICBob3ZlcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApLFxyXG4gICAgYWN0aXZlOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCksXHJcbiAgICBkaXNhYmxlZDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTEwKVxyXG4pICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGhvdmVyOiB2YXIoLS13aGl0ZS1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBkaXNhYmxlZDogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApXHJcbikgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLW9wdGlvbi1idXR0b24tZ2FwOiAoXHJcbiAgICBzbWFsbDogMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzb3J0aW5nLXNvcnQtc2VsZWN0LWRlc2t0b3Atd2lkdGg6IDIxNXB4ICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZTogKFxyXG4gICAgY291bnQ6IDIsXHJcbiAgICBmaWx0ZXItdG9nZ2xlOiAxLFxyXG4gICAgY2FsbC1zZWFyY2g6IDMsXHJcbiAgICBzb3J0LWJ5OiA1LFxyXG4gICAgdmlldzogNixcclxuICAgIHBlci1wYWdlOiA0LFxyXG4gICAgcGFnaW5hdGlvbjogN1xyXG4pICFkZWZhdWx0O1xyXG4kc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3A6IChcclxuICAgIGNvdW50OiAxLFxyXG4gICAgZmlsdGVyLXRvZ2dsZTogMixcclxuICAgIGNhbGwtc2VhcmNoOiAzLFxyXG4gICAgc29ydC1ieTogNCxcclxuICAgIHZpZXc6IDUsXHJcbiAgICBwZXItcGFnZTogNixcclxuICAgIHBhZ2luYXRpb246IDdcclxuKSAhZGVmYXVsdDtcclxuJGl0ZW1zLXBlci1saXN0LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNTAlLFxyXG4gICAgbGFyZ2U6IDE3JVxyXG4pICFkZWZhdWx0O1xyXG4kc29ydC1vcHRpb25zLWJ1dHRvbi1wYWRkaW5nLXRvcC1ib3R0b206IChcclxuICAgIGxhcmdlOiAxMC4yNnB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUHJvZHVjdCBsaXN0IHNldHRpbmdzIC0tLVxyXG4kcHJvZHVjdC1saXN0LWNvbnRlbnQtbWFyZ2luLWxlZnQ6IDUzcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3Qtc29ydC1zZXBlcmF0b3I6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gUHJvZHVjdCBsaXN0IGl0ZW0gc2V0dGluZ3MuXHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1ob3Zlci1ib3gtc2hhZG93OiB0cnVlICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0taW1hZ2UtYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWNvbG91cjogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWhvdmVyLWNvbG91cjogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWhvdmVyLWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLXdlaWdodDogJGxpc3QtaXRlbS1kZXNjcmlwdGlvbi1kZWZhdWx0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tZm9udC1zaXplOiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1nYXA6IDEwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMjBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtaXRlbS1zcGVjaWZpY2F0aW9uLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1xdWFudGl0eS1kZXNrdG9wLW1heC13aWR0aDogMzQwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC12aWV3LXJvdy1tYXJnaW46IDEwcHggMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LXZpZXctcm93LXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWltYWdlLXdpZHRoOiAkdGFibGUtaW1hZ2Utc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZXZlbi1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tc3RvY2tsaW5lLWJ1dHRvbi13aWR0aDogMTMwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWxvZ2dpbi1idXR0b24td2lkdGg6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXN0b2NrbGluZS1idXR0b24td2lkdGggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC1wYWRkaW5nOiAoXHJcbiAgICBsYXJnZTogMCAxNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC13aWR0aDogKFxyXG4gICAgbGFyZ2U6IDIwJVxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXdpZHRoOiAoXHJcbiAgICBsYXJnZTogMTElXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtcGFkZGluZzogKFxyXG4gICAgbGFyZ2U6IDAgMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1xdWFudGl0eS1jb2wtd2lkdGg6IChcclxuICAgIGxhcmdlOiAxNTBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBQcm9kdWN0IGxpc3QgaXRlbSBjb21wb25lbnQgb3JkZXIuXHJcbiRwcm9kdWN0LWxpc3QtaW1hZ2Utb3JkZXI6IDEgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZGVzY3JpcHRpb24tb3JkZXI6IDIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtY29kZS1vcmRlcjogNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1wcmljZS1vcmRlcjogMyAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1xdWFudGl0eS1wcmljZS1mYXZvdXJpdGVzLW9yZGVyOiA1ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LW5vdC1sb2dnZWQtaW4tb3JkZXI6IDYgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUHJvZHVjdCBMaXN0IEdyaWQgU2V0dGluZ3MgLS0tLVxyXG4kcHJvZHVjdC1saXN0LWdyaWQtY29udGVudC1wYWRkaW5nOiAwIDIwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1kZXNjcmlwdGlvbi1jb2xvdXI6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1kZXNjcmlwdGlvbi1ob3Zlci1jb2xvdXI6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgaG92ZXIpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuLy8gUHJvZHVjdCBsaXN0IGdyaWQgY29tcG9uZW50IG9yZGVyLlxyXG4kcHJvZHVjdC1saXN0LWdyaWQtYW5jaG9yLWJsb2NrLW9yZGVyOiAxICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtc3RvY2staW5kaWNhdG9yLW9yZGVyOiAzICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtcHJpY2VzLW9yZGVyOiAyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtYnV0dG9ucy1vcmRlcjogNCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbGlzdC1ncmlkLW5vdC1sb2dnZWQtaW4tb3JkZXI6IDQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWxpc3QtZ3JpZC1zdG9ja2xpbmUtYnV0dG9uOiA0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1saXN0LWdyaWQtbGFiZWwtdmFsdWUtYWxpZ21lbmVudDogaWYoJHByaWNlLXRleHQtYWxpZ24gPT0gXCJsZWZ0XCIsIGF1dG8sIDApICFkZWZhdWx0O1xyXG5cclxuLy8gVE9ETzogSSBrbm93IHRoaXMgaXMgbWVzcyBhbmQgaGFzIGdvbmUgdGhyb3VnaCBtYW55IHJlZmFjdG9ycy4uLi4gXHJcbi8vIC0tLSBQcm9kdWN0IExpc3QgTGlzdCBTZXR0aW5ncyAtLS0tXHJcbiRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJveC1zaGFkb3c6ICRib3hTaGFkb3czICFkZWZhdWx0O1xyXG4vLyBMb2dpbiAvIHN0b2NrbGluZSBidXR0b24gd2lkdGguXHJcbiRsb2dpbi1zdG9ja2xpbmUtd2lkdGg6IDI1JSAhZGVmYXVsdDtcclxuLy8gRmF2b3VyaXRlcyBjb2x1bW4gd2lkdGggKCBEZXNrdG9wIClcclxuJGZhdm91cml0ZXMtY29sLWRlc2t0b3Atd2lkdGg6IDI1JSAhZGVmYXVsdDtcclxuLy8gdGFibGUgaXRlbSBjb250cm9scy5cclxuJHRhYmxlLWl0ZW0tY29udHJvbHMtY29udGFpbmVyLXdpZHRoOiAkbG9naW4tc3RvY2tsaW5lLXdpZHRoICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEZpbHRlcnMgLyBTZWFyY2ggQXR0cmlidXRlcyAtLS0gXHJcbi8vIEdlbmVyYWwgc2V0dGluZ3MgXHJcbiRmaWx0ZXJzLWF0dHJpYnV0ZS1zZXBlcmF0b3ItY29sb3VyOiAkaGVhZGluZy0xLXJ1bGUtY29sb3VyICFkZWZhdWx0O1xyXG4kZmlsdGVycy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtbW9iaWxlLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtZGVza3RvcC1jb250YWluZXItbWF4LXdpZHRoOiAyODBweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtZGVza3RvcC1hdHRyaWJ1dGUtbGlzdC13aWR0aDogMjQwcHggIWRlZmF1bHQ7XHJcbi8vIEZpbHRlcnMgbW9iaWxlIHRvZ2dsZS5cclxuJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgdW4tc3R1Y2s6ICRjb2xvdXI0LTYsXHJcbiAgICBzdHVjazogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtY29sb3VyOiAoXHJcbiAgICB1bi1zdHVjazogJGNvbG91cjQsXHJcbiAgICBzdHVjazogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtdG9nZ2xlLWxldHRlci1zcGFjaW5nOiBudWxsICFkZWZhdWx0O1xyXG4vLyBGaWx0ZXJzIGhlYWRlci5cclxuJGZpbHRlcnMtaGVhZGluZy1mb250LXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1oZWFkaW5nLWZvbnQtc2l6ZTogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTEpICFkZWZhdWx0O1xyXG4kZmlsdGVycy1oZWFkaW5nLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWhlYWRpbmctbW9iaWxlLWJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTYgIWRlZmF1bHQ7XHJcbi8vIEFwcGxpZWQgYXR0cmlidXRlKHMpXHJcbiRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWhvdmVyLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtaWNvbi1jb2xvdXI6ICRjb2xvdXIzLTMgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXJlbW92ZS1hbGwtY29sb3VyOiAkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWNvbG91ciAhZGVmYXVsdDtcclxuJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXNpemU6ICgkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZSArIDEpICFkZWZhdWx0O1xyXG4kZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4vLyBPcHRpb24gaGVhZGluZ1xyXG4kZmlsdGVycy1vcHRpb24tbW9iaWxlLW1hcmdpbjogMCAwIDIwcHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW9wdGlvbi1kZXNrdG9wLW1hcmdpbjogMjVweCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtb3B0aW9uLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGZpbHRlcnMtaGVhZGluZy1jb2xvdXIsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZTokcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIEF0dHJpYnV0ZXNcclxuJGZpbHRlcnMtYXR0cmlidXRlcy1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRib2R5LWZvbnQtY29sb3VyLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkZmlsdGVycy1vcHRpb24taGVhZGluZy1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuLy8gQ29sb3VyIHByZXZpZXdcclxuJGZpbHRlcnMtY29sb3VyLXByZXZpZXctd2lkdGg6IDEwcHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWhlaWdodDogJGZpbHRlcnMtY29sb3VyLXByZXZpZXctd2lkdGggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwICFkZWZhdWx0O1xyXG4kZmlsdGVycy1jb2xvdXItcHJldmlldy1ib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMSAhZGVmYXVsdDtcclxuLy8gUHJpY2Ugc2xpZGVyXHJcbiRmaWx0ZXJzLXBzLWlucHV0LXdpZHRoOiA3MHB4ICFkZWZhdWx0O1xyXG4kZmlsdGVycy1wcy1pbnB1dC1oZWlnaHQ6IDM1cHggIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXBzLWlucHV0LWJvcmRlci1jb2xvdXI6ICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbiRmaWx0ZXJzLXBzLWFjdGl2ZS1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4vLyBTaG93IG1vcmUgLyBsZXNzIGF0dHJpYnV0ZXNcclxuJGZpbHRlcnMtcmV2ZWFsLWF0dHJpYnV0ZXMtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtdG9nZ2xlLWF0dHJpYnV0ZXMtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuJGZpbHRlcnMtdG9nZ2xlLWF0dHJpYnV0ZXMtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xyXG4kZmlsdGVycy1yZXZlYWwtYXR0cmlidXRlcy1ob3Zlci1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjYsXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cilcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFByb2R1Y3QgLS0tLS0gXHJcblxyXG4kcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGVzLWVuYWJsZWQ6IHRydWUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xICFkZWZhdWx0O1xyXG4vLyBNYXJnaW4gLyBQYWRkaW5nIHRvcCArIGJvdHRvbS5cclxuJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLXNwYWNpbmc6IDIwcHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAxNXB4IDAsXHJcbiAgICBsYXJnZTogMTBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMTBweCAxNXB4LFxyXG4gICAgbWVkaXVtOiAxMHB4IDI1cHgsXHJcbiAgICBsYXJnZTogMTBweCAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kcHJvZHVjdC1lbnF1aXJ5LWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDEwcHgsXHJcbiAgICBtZWRpdW06IDE1cHgsXHJcbiAgICBsYXJnZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbiRwcm9kdWN0LWNvbnRhaW5lci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCA1cHggMCxcclxuICAgIGxhcmdlOiA0MHB4IDAgMFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gUHJvZHVjdCBJbWFnZSAtLS0gXHJcbiRwcm9kdWN0LWltYWdlLXdpZHRoOiA1NTBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtaW1hZ2UtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDIwcHgsXHJcbiAgICBsYXJnZTogMCBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgOCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkcHJpbWFyeS1jb2xvdXIsIDApXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcm9kdWN0IE1haW4gaGVhZGluZyAtLS0gXHJcbiRwcm9kdWN0LW1haW4taGVhZGluZy1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC1zaXplOiAyOCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW1haW4taGVhZGluZy1saW5lLWhlaWdodDogMzRweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtbWFpbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKSAhZGVmYXVsdDtcclxuLy8gQ29kZSAoIFJlZmVybmVjZSAmIGFsdCByZWZlbmVuY2UgX1xyXG4kcHJvZHVjdC1jb2RlLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWNvZGUtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtY29kZS10ZXh0LXRyYW5mb3JtOiBub25lICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTBweCAwLFxyXG4gICAgbWVkaXVtOiAyMHB4IDBcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFByb2R1Y3QgRW5xdWlyeSBCdXkgQnV0dG9uIC0tLVxyXG4kcHJvZHVjdC1lbnF1aXJ5LWJ1eS1idXR0b24tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCxcclxuICAgIG1lZGl1bTogMTBweCAwXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcmljZSAtLS0gXHJcbiRwcm9kdWN0LXByaWNlLWNvbHVtbi13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZTogJHByaWNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtaW5kaXZpZHVhbC1wcmljZS1mb250LXNpemU6IDI4ICFkZWZhdWx0O1xyXG4vLyAtLS0gQWRkaXRpb25hbCBpbWFnZXMgLS0tXHJcbiRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXdpZHRoOiAzNzVweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtYWN0aXZlLW9wYWNpdHk6IDAuNiAhZGVmYXVsdDtcclxuJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtdGh1bWJuYWlsLWJvcmRlcjogKFxyXG4gICAgZGVmYXVsdDogMXB4IHNvbGlkICRjb2xvdXIzLTEsXHJcbiAgICBob3ZlcjogMXB4IHNvbGlkICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAxcHggc29saWQgJGNvbG91cjYsXHJcbiAgICBhY3RpdmUtY2xpY2s6IDFweCBzb2xpZCByZ2JhKCRjb2xvdXI2LCAwLjUpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIEdyaWRcclxuJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXI6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbWVkaXVtOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDVweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQ2FzZSBwcmljZVxyXG4kcHJvZHVjdC1jYXNlLXByaWNlLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBMaWdodGJveCAtLS0tLVxyXG4kbGlnaHRib3gtdHJpZ2dlci1wYWRkaW5nOiAoXHJcbiAgICBkZWZhdWx0OiAycHggOHB4LFxyXG4gICAgbWFnbmlmaWNhdGlvbi1ob3ZlcjogMnB4IDRweFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtdHJpZ2dlci1pY29uLWJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjEsIDAuODUpICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtdHJpZ2dlci1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1zaXplOiAyMnB4ICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udGVudC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAxMHB4IDAsXHJcbiAgICBsYXJnZTogMjBweCAwLFxyXG4gICAgeGxhcmdlOiBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zOiAoXHJcbiAgICBzbWFsbDogMTAwLFxyXG4gICAgbWVkaXVtOiA4MCxcclxuICAgIGxhcmdlOiA4NVxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtc2xpZGUtaW1hZ2UtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAvLyBzZXR0aW5nIHRvIDAgb3RoZXIgaW1hZ2Ugd291bGQgc2NhbGUgb3V0c2lkZSBvZiB0aGUgY29udGFpbmVyIHB1c2hpbmcgdGhlIHBhZ2VyIG91dHNpZGUgb2YgdGhlIHZpZXdwb3J0LlxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtd2lkdGg6IChcclxuICAgIHNtYWxsOiAyNXB4LFxyXG4gICAgbGFyZ2U6IDUwcHhcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLWhlaWdodDogKFxyXG4gICAgc21hbGw6IDQwcHgsXHJcbiAgICBsYXJnZTogNzBweFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY29udHJvbHMtaWNvbi1zaXplOiAoXHJcbiAgICBzbWFsbDogMTZweCxcclxuICAgIGxhcmdlOiAyNnB4XHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGg6IDJweCAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQtMSAhZGVmYXVsdDtcclxuJGxpZ2h0Ym94LWJhY2tncm91bmQtY29sb3VyOiByZ2JhKCRjb2xvdXIzLTIsIDAuMykgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1pdGVtLWNvdW50LWZvbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDE2LFxyXG4gICAgbWVkaXVtOiAyMFxyXG4pICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtaXRlbS1jb3VudC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kbGlnaHRib3gtY2xvc2UtYnV0dG9uLWRpbWVudGlvbnM6IDMwcHggIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1jbG9zZS1idXR0b24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIFBhZ2VyIC0tLVxyXG4kbGlnaHRib3gtcGFnZXItaGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogYXV0byxcclxuICAgIGxhcmdlOiBhdXRvXHJcbikgIWRlZmF1bHQ7XHJcbiRsaWdodGJveC1wYWdlci1pdGVtLXdpZHRoOiAoXHJcbiAgICBtZWRpdW06IDEwMHB4LFxyXG4gICAgbGFyZ2U6IDE3MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gUHJvZHVjdCBFbnF1aXJ5IERldGFpbHMgLS0tXHJcbi8vIExhYmVsIHZhbHVlIHBhaXJcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWFsaWduLWl0ZW1zOiBiYXNlbGluZSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcDogKFxyXG4gICAgc21hbGw6IDVweCxcclxuICAgIG1lZGl1bTogNXB4IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWNvbG91cjogJGJvZHktZm9udC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1jb2xvdXI6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1jb2xvdXIgIWRlZmF1bHQ7XHJcblxyXG4vLyBNdWx0aSBsaW5lIGNvbnRhaW5lclxyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1tYXJnaW46IDAgMCAxMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtcGFyYWdyYXBoLWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1wYXJhZ3JhcGgtY29sb3VyOiAkZGVmYXVsdC1jbXMtY29weS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1ub3Rlcy1tYXJnaW46IG51bGwgIWRlZmF1bHQ7XHJcbi8vIExhYmVsICsgdmFsdWUgcGFpclxyXG4kcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXNpemU6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIFByaWNpbmcuXHJcbiRwcm9kdWN0LWVucXVpcnktcHJpY2UtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcDogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBtZWRpdW06IDEwcHggMjBweCxcclxuICAgIGxhcmdlOiAxMHB4IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWluLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMjIwcHgsXHJcbiAgICBtZWRpdW06IDE5MHB4LFxyXG4gICAgbGFyZ2U6IDE5MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1heC13aWR0aDogKFxyXG4gICAgc21hbGw6IDFmcixcclxuICAgIG1lZGl1bTogNTAlLFxyXG4gICAgbGFyZ2U6IDQwJVxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpICFkZWZhdWx0O1xyXG4vLyBIYXphcmQgU3RhdGVtZW50LlxyXG4kcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGVhZGluZy1mb250LXNpemU6IDE2ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGVhZGluZy1mb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oYWFkaW5nLXRleHQtdHJhbnNmb3JtOiBudWxsICFkZWZhdWx0O1xyXG4vLyBTaGFyZVxyXG4kcHJvZHVjdC1lbnF1aXJ5LXNoYXJlLWJ1dHRvbi1mb250LXdlaWdodDogJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1lbnF1aXJ5LXNoYXJlLWJ1dHRvbi1mb250LXNpemU6ICRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vIE9wdGlvbmFsIGV4dHJhc1xyXG4kcHJvZHVjdC1lbnF1aXJ5LW9wdGlvbmFsLWV4dHJhcy1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcmV2aW91c2x5IHB1cmNoYXNlZCAtLS0gXHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxNXB4LFxyXG4gICAgbWVkaXVtOiAwIDAgMzVweFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMTVweCAwLFxyXG4gICAgbWVkaXVtOiAxNXB4IDBcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogNXB4IDEwcHgsXHJcbiAgICBtZWRpdW06IDEwcHggMjBweCxcclxuICAgIGxhcmdlOiAxMHB4IDQwcHhcclxuKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYm9yZGVyLWNvbG91cjogdmFyKC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy02KSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYmFja2dyb3VuZDogdmFyKC0tYWNjZW50LWNvbG91ci00LWxpZ2h0bmVzcy05KTtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWl0ZW0tc3BhY2luZzogNDBweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtc2l6ZTogKFxyXG4gICAgc21hbGw6IDE2LFxyXG4gICAgbWVkaXVtOiAxNFxyXG4pICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1sYWJlbC1mb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1mb250LXNpemU6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtc2l6ZSkgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXZpZXctb3JkZXItYnV0dG9uLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbi8vIC0tLSBQcm9kdWN0IE92ZXJsYXkgTW9kdWxlIC0tLSBcclxuLy8gLS0tIFF1YW50aXR5IFByaWNlIEJyZWFrIC0tLSBcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstdGFibGUtd2lkdGg6IDQyMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1zYXZlLWFtb3VudC1jb2xvdXI6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJhY2tncm91bmQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXI0LTQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByY2llLWJyZWFrLWhlYWRpbmctZm9udC1zaXplOiAxNSAhZGVmYXVsdDtcclxuJHByb2R1Y3QtcXVhbnRpdHktcHJjaWUtYnJlYWstaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1zYXZpbmctY29sLWZvbnQtd2VpZ2h0OiAkc2F2aW5nLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS1tYXJnaW46IDE1cHggMCAwICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS10aC1wYWRkaW5nOiAwIDVweCAxMHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS10aC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXN1cHByZXNzLWhlYWRlci1nYXA6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIEdyb3VwZWQgbW9kdWxlcyAtLS1cclxuJHByb2R1Y3QtZ3JvdXBlZC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcclxuJHByb2R1Y3QtZ3JvdXBlZC1zZWNvbmQtaXRlbS1ib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG91cjMtMTsgXHJcbi8vIC0tLSBQcm9kdWN0IE5vdGVzXHJcbiRwcm9kdWN0LW5vdGVzLWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtaGVhZGluZy1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLXNpemU6IDE4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtbm90ZXMtbGluZS1oZWlnaHQ6IDI1cHggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLXJlYWQtbW9yZS1oZWlnaHQ6IDE0dmggIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LW5vdGVzLXJlYWQtbW9yZS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4vLyAtLS0gU3BlY2lmaWNhdGlvbiAtLS0gXHJcbiRzcGVjaWZpY2F0aW9uLWZvbnQtc2l6ZTogJHByb2R1Y3Qtbm90ZXMtc2l6ZSAhZGVmYXVsdDtcclxuJHNwZWNpZmljYXRpb24tZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kc3BlY2lmaWNhdGlvbi1saW5lLWhlaWdodDogJHByb2R1Y3Qtbm90ZXMtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbiRzcGVjaWZpY2F0aW9uLWNvbG91cjogJHByb2R1Y3Qtbm90ZXMtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0gQWx0ZXJuYXRpdmUgT3B0aW9ucyAtLS0gXHJcbiRwcm9kdWN0LWFsdC1vcHRpb25zLWZvbnQtc2l6ZTogMTUgIWRlZmF1bHQ7XHJcbi8vIC0tLSBUYWJiZWQgU3BlY2lmaWNhdGlvbiAtLS0gXHJcbiRwcm9kdWN0LXRhYnMtdGl0bGUtZGVza3RvcC13aWR0aDogZml0LWNvbnRlbnQgIWRlZmF1bHQ7XHJcbiRwcm9kdWN0LXRhYnMtdGl0bGUtcGFkZGluZzogMThweCA4MHB4ICFkZWZhdWx0O1xyXG4kcHJvZHVjdC10YWJzLXRpdGxlLXRleHQtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcclxuJHByb2R1Y3QtdGFiLXNwZWNpZmljaWF0aW9uLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0gU3RvY2tsaW5lIC0tLVxyXG4kc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItd2lkdGg6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDEwMCVcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAxMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtbGFiZWwtd2lkdGg6IChcclxuICAgIHNtYWxsOiA0MCUsXHJcbiAgICBsYXJnZTogMjclXHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtb3B0aW9uLWNvbG91cjogKFxyXG4gICAgdW5hdmFpbGFibGU6ICRjb2xvdXIzLTdcclxuKSAhZGVmYXVsdDtcclxuJHN0b2NrbGluZS1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIHVuYXZhaWxhYmxlOiAkY29sb3VyMy01XHJcbikgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYXR0cmlidXRlLW1heC13aWR0aDogNTIwcHggIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtYXR0cmlidXRlLWdhcDogKFxyXG4gICAgc21hbGw6IDE1cHgsXHJcbiAgICBsYXJnZTogMTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHN0b2NrbGluZS1sYWJlbC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kc3RvY2tsaW5lLWxhYmVsLWZvbnQtc2l6ZTogMTQgIWRlZmF1bHQ7XHJcbiRzdG9ja2xpbmUtbGFiZWwtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gUmF0aW5nIC0tLS0tIFxyXG4kcmF0aW5nLWljb24tY29sb3VyOiAoXHJcbiAgICBpbmFjdGl2ZTogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDgpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTMsIDApXHJcbikgIWRlZmF1bHQ7XHJcbiRyYXRpbmctc3VtbWFyeS1mb250LXNpemU6IDE1ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBCYXNrZXQgLS0tLS0gXHJcbi8vIC0tLSBCYXNrZXQgVGFibGUgLS0tIFxyXG4kYmFza2V0LXN0b2NrLWRlc2NyaXB0aW9uLWdhcDogMTBweCAwICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVzY3JpcHRpb24tZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kYmFza2V0LWRlc2NyaXB0aW9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1yZW1vdmUtYnV0dG9uLWljb24tc2l6ZTogKCRvcmRlci10YWJsZS1yZW1vdmUtYnV0dG9uLXNpemUgLyA0KSAhZGVmYXVsdDsgXHJcbi8vIC0tLSBCYXNrZXQgQ29udHJvbHMgLS0tXHJcbiRiYXNrZXQtY29udHJvbHMtZm9udC13ZWlnaHQ6IDYwMCAhZGVmYXVsdDtcclxuXHJcbi8vIFJlbW92ZSBBbGwgQnV0dG9uXHJcbiRiYXNrZXQtcm0tYWxsLWJhY2tncm91bmQ6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCxcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1ybS1hbGwtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtcmVtb3ZlLWFsbC1mb250LXNpemU6IDEyICFkZWZhdWx0O1xyXG4kYmFza2V0LXJtLWFsbC1idXR0b24taWNvbjogdHJ1ZSAhZGVmYXVsdDtcclxuJGJhc2tldC1ybS1hbGwtaWNvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYmFza2V0LXJtLWFsbC1jb2xvdXIsIGhvdmVyKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBVcGRhdGUgYmFza2V0IGJ1dHRvbi5cclxuJGJhc2tldC11cGRhdGUtaWNvbjogdHJ1ZSAhZGVmYXVsdDtcclxuJGJhc2tldC11cGRhdGUtYnV0dG9uLXBhZGRpbmc6IDEwcHggMzBweCAhZGVmYXVsdDtcclxuJGJhc2tldC11cGRhdGUtYnV0dG9uLWJhY2tncm91bmQ6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNCwgXHJcbiAgICBkaXNhYmxlZDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC11cGRhdGUtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsIFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgZGlzYWJsZWQ6ICRjb2xvdXIzLTJcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC11cGRhdGUtYnV0dG9uLWZvbnQtc2l6ZTogMTIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdXBkYXRlLWljb24tc2l6ZTogKCRvcmRlci10YWJsZS1yZW1vdmUtYnV0dG9uLXNpemUgLyA0KSAhZGVmYXVsdDsgXHJcbiRiYXNrZXQtdXBkYXRlLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMy0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgIGRpc2FibGVkOiAkY29sb3VyMy0yIFxyXG4pICFkZWZhdWx0O1xyXG4vLyAtLS0gQmFza2V0IERlbGl2ZXJ5IC0tLSBcclxuJGJhc2tldC1kZWxpdmVyeS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIGxhcmdlOiA0NXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVsaXZlcnktbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDMwcHgsXHJcbiAgICBsYXJnZTogMCAwIDM1cHhcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZWxpdmVyeS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtZGVsaXZlcnktYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZWxpdmVyeS1pY29uLWNvbG91cjogJGNvbG91cjQtMSAhZGVmYXVsdDtcclxuJGJhc2tldC1kZWxpdmVyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIC0tLSBCYXNrZXQgU3VtbWFyeSAtLS0gXHJcbiRiYXNrZXQtc3VtbWFyeS13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogMzEwcHhcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS10b3RhbC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktdG90YWwtdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktcGFkZGluZzogNDBweCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWJhY2tncm91bmQtY29sb3VyOiAtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0xMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctZm9udC1zaXplOiAxOCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctbGV0dGVyLXNwYWNpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1kZXRhaWxzLWp1c3RpZnktY29udGVudDogY2VudGVyICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktZGV0YWlscy1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1mb250LXNpemU6IDE4ICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktaXRlbS1sYWJlbC1mb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pdGVtLXZhbHVlLWZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY29sb3VyOiAkYm9keS1mb250LWNvbG91ciAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWhpZ2hsaWdodGVkLWl0ZW0tY29sb3VyOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yLWNvbG91cjogJGhlYWRpbmctcnVsZS1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1jb250YWluZXItbWFyZ2luOiAzMHB4IDAgMjVweCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1pY29uLWNvbG91cjogJGNvbG91cjQtMSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ0LWlucHV0LXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1oZWlnaHQ6IDM1cHggIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1pbnB1dC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1hcHBseS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNiwgLy8gUmVwbGFjaW5nIHdpdGggc29saWQgY29sb3VyLlxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtcmVtb3ZlLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDApLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIzLTYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LXN1bW1hcnktc3VibWl0LWZvbnQtc2l6ZTogMTJweCAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWNhbGxvdXQ6IChcclxuICAgIGJhY2tncm91bmQtY29sb3VyLXZhbGlkOiByZ2JhKCRjb2xvdXI0LCAwLjYpLFxyXG4gICAgY29sb3VyLXZhbGlkOiAkY29sb3VyMSxcclxuICAgIGJhY2tncm91bmQtY29sb3VyLWludmFsaWQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSksXHJcbiAgICBjb2xvdXItaW52YWxpZDogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWZvbnQtc2l6ZTogMTIgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtc3VtbWFyeS1lZGl0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy02XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBUb3RhbCAoIHN0aWNreSBtb2JpbGUgKVxyXG4kYmFza2V0LXRvdGFsLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNC03ICFkZWZhdWx0O1xyXG4kYmFza2V0LXRvdGFsLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRiYXNrZXQtdG90YWwtZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJGJhc2tldC10b3RhbC1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tLSBDaGVja291dCBCdXR0b25zIC0tLSBcclxuJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLXBhZGRpbmc6IDEycHggNXB4ICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtc2FnZXBheS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI0LTEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1zYWdlcGFnZS1idXR0b24tYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtc2FnZXBheS1idXR0b24tZm9udC1zaXplOiAxNiAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyLXRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWRlZmF1bHQ7XHJcbiRjaGVja291dC1wYXlwYWwtYnV0dG9uLXBhZGRpbmc6IDEycHggNXB4ICFkZWZhdWx0O1xyXG4kY2hlY2tvdXQtcGF5cGFsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogI2ZmYzQzOSxcclxuICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgIGFjdGl2ZTogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIENoZWNrb3V0IFJldHVybmluZyBDdXN0b21lciAtLS1cclxuJGNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJGNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogYWRqdXN0LWh1ZShzYXR1cmF0ZShsaWdodGVuKCRjb2xvdXI0LTUsIDEzJSksIDIwJSksIC04JSksXHJcbiAgICBob3ZlcjogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuLy8gQ29udGludWUgc2hvcHBpbmdcclxuJGJhc2tldC1jb250aW51ZS1zaG9wcGluZy1idXR0b24tcGFkZGluZzogMTVweCAzNXB4ICFkZWZhdWx0O1xyXG4kYmFza2V0LWNvbnRpbnVlLXNob3BwaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtNixcclxuICAgIGhvdmVyOiAkY29sb3VyNC0xLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWNvbnRpbnVlLXNob3BwaW5nLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFza2V0LWNvbnRpbnVlLXNob3BwaW5nLWJ1dHRvbi1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gUGF5bWVudCBtZXRob2RzIC0tLS0tIFxyXG4vLyBQYXltZW50IG1ldGhvZCBzZWxlY3RvclxyXG4kcGF5bWVudC1jb250YWluZXItbWF4LXdpZHRoOiA1MDBweCAhZGVmYXVsdDtcclxuLy8gVGhpcyBoYXMgYmVlbiB3b3JrZWQgb3V0IHRoZSBzeXN0ZW0gaW4gZmF2b3VyIG9mIHVzaW5nIHRoZSBTQ0EgY2hhbGxlbmdlIGRpbWVuc2lvbnMgaW5zdGVhZC5cclxuLy8gJHBheW1lbnQtY29udGFpbmVyLXdpZHRoOiAoXHJcbi8vICAgICBzbWFsbDogMTAwJSxcclxuLy8gICAgIGxhcmdlOiBjYWxjKCN7bGFyZ2UtdmFsdWUoJGZpZWxkLWxhYmVsLXdpZHRoKX0gKyAjeyRjaGVja2JveC1kaW1lbnRpb25zfSlcclxuLy8gKSAhZGVmYXVsdDtcclxuJHBheW1lbnQtY29udGFpbmVyLWJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuJHBheW1lbnQtbWV0aG9kLWlmcmFtZS1oZWlnaHQ6IChcclxuICAgIGRlZmF1bHQ6IDUwMHB4LFxyXG4gICAgb3BheW86IDI3cmVtIC8vIFN3aXRjaGluZyB0aGUgcmVtIGFzIHNvbWUgdXNlcnMgd2lsbCB1c2UgZXh0cmVtZSBmb250IHNjYWxpbmcgc28gdGhlIGhlaWdodCB3aWxsIG5lZWQgdG8gc2NhbGUgd2l0aCBmb250LXNjYWxpbmcuXHJcbikgIWRlZmF1bHQ7XHJcbiRwYXltZW50LW1ldGhvZC10aXRsZS1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyBBY2NvdW50IEdlbmVyYWwuXHJcbi8vIFNvcnRpbmcuXHJcbiRhY2NvdW50LXNvcnRpbmctbWFyZ2luOiAwIDAgMTBweCAhZGVmYXVsdDtcclxuLy8gUGFzc3dvcmQgcmVzZXQgbmV3IGxpbmsuXHJcbiRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpICFkZWZhdWx0O1xyXG4kcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWZvbnQtc2l6ZTogMjIgIWRlZmF1bHQ7XHJcbiRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1tYXJnaW46IDAgMCAzMHB4ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gTG9va3VwcyAtLS0tLVxyXG4vLyAtLS0gUG9zdGNvZGUgbG9va3VwIHYxICggU2luZ2xlIEZpZWxkICkgLS0tXHJcbiRwY29kZS1sb29rdXAtYnV0dG9uLXBhZGRpbmc6IDEycHggMTNweCAhZGVmYXVsdDtcclxuJHBjb2RlLWxvb2t1cC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC0xXHJcbikgIWRlZmF1bHQ7XHJcbiRwY29kZS1sb29rdXAtYnV0dG9uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjIsXHJcbiAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIxXHJcbikgIWRlZmF1bHQ7XHJcbiRwY29kZS1sb29rdXAtYnV0dG9uLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogJGNvbG91cjZcclxuKSAhZGVmYXVsdDtcclxuJGxvb2t1cHMtcmVzdWx0cy1oaWdobGlnaHRlZC10ZXh0LWVuYWJsZWQ6IHRydWUgIWRlZmF1bHQ7XHJcbi8vIC0tLSBNdWx0aSBGaWVsZCBMb29rdXAgLS0tXHJcbiRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxNXB4LFxyXG4gICAgbWVkaXVtOiA1MHB4IDglLFxyXG4gICAgbGFyZ2U6IDUwcHggMTEwcHhcclxuKSAhZGVmYXVsdDtcclxuJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItZ2FwOiAoXHJcbiAgICBzbWFsbDogc21hbGwtdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItcGFkZGluZyksXHJcbiAgICBtZWRpdW06IDI1cHgsXHJcbiAgICBsYXJnZTogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMlxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gSW50ZXJhY3RpdmUgTWFwICggU3RvY2tpc3QgKSAtLS0tLVxyXG4kaW50ZXJhY3RpdmUtbWFwLWZpbHRlci1pY29uLWNvbG91cjogJGNvbG91cjQtMSAhZGVmYXVsdDtcclxuLy8gbG9jYXRpb24gYnV0dG9uIHByaW1hcmlseSB1c2VkIGZvciB0aGUgZ2VvbG9jYXRpb24gbG9va3VwLlxyXG4kbG9jYXRpb24tYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbG9jYXRpb24pLFxyXG4gIHBvc2l0aW9uOiBhZnRlcixcclxuICBtYXJnaW46IDAgMCAwIDQwcHgsXHJcbiAgY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkaW50ZXJhY3RpdmUtbWFwLWZpbHRlci1pY29uLWNvbG91cixcclxuICAgIGhvdmVyOiBtYXAtZ2V0KCRsb2NhdGlvbi1idXR0b24tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGxvY2F0aW9uLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSlcclxuICApLFxyXG4gIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuICBzaXplOiAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBTaXRlIE1hcCAtLS0tLVxyXG4kc2l0ZS1tYXAtcGFyZW50LWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0LTFcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbWFwLXBhcmVudC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kc2l0ZS1tYXAtcnVsZS1wYXJlbnQtc2VwZXJhdG9yOiAkaGVhZGluZy1ydWxlLWNvbG91ciAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0tLSBTaXRlIExpc3QgLS0tLS0tXHJcbiRzaXRlLWxpc3QtaXRlbS1wYWRkaW5nOiAyMHB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTUsXHJcbiAgICBob3ZlcjogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1sb2dvLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWxvZ28tbWFyZ2luOiAwIDAgMjBweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC10YWJsZS1sb2dvLW1hcmdpbjogKFxyXG4gICAgc21hbGw6ICRzaXRlLWxpc3QtbG9nby1tYXJnaW4sXHJcbiAgICBsYXJnZTogJHNpdGUtbGlzdC1sb2dvLWJvcmRlci13aWR0aFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWxvZ28tcGFkZGluZzogMzBweCAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC10YWJsZS1sb2dvLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAkc2l0ZS1saXN0LWxvZ28tcGFkZGluZyxcclxuICAgIGxhcmdlOiAxMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtbG9nby1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtMSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1sb2dvLWJvcmRlcjogJHNpdGUtbGlzdC1sb2dvLWJvcmRlci13aWR0aCBzb2xpZCAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC10YWJsZS1sb2dvLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiAxMTBweFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWl0ZW0taGVhZGVyLXNlcGVyYXRvci1ydWxlLW1hcmdpbjogMTBweCAwIDE1cHggIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtZGVzY3JpcHRpb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtNlxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbi8vIFRoaXMgaXMgZm9yIGNhcmQgdmlldyBhbmQgdGFibGUgaW4gbW9iaWxlICggaS5lIG5vdCBkZXNrdG9wIHRhYmxlICkuXHJcbiRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC1zaXplOiAxNyAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1lbnZpcm9ubWVudC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3QtdGltZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2lkdGg6IDQwJSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC1jb2xvdXI6ICRib2R5LWZvbnQtY29sb3VyICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdlaWdodDogNjAwICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXNpdGUtb3B0aW9uLXRpbWUtbWFyZ2luLWxlZnQ6IChcclxuICAgIHNtYWxsOiAxNXB4LFxyXG4gICAgbGFyZ2U6IDE1cHhcclxuKSAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1idXR0b24tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMzBweCAwIDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWJ1dHRvbnMtcGFkZGluZzogMTBweCAxNXB4ICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LWJ1dHRvbnMtZm9udC1zaXplOiAxMyAhZGVmYXVsdDtcclxuJHNpdGUtbGlzdC1idXR0b25zLWdhcDogKFxyXG4gICAgc21hbGw6IDIwcHgsXHJcbiAgICBsYXJnZTogMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kc2l0ZS1saXN0LXRhYmxlLWJ1dHRvbnMtZ2FwOiAoXHJcbiAgICBzbWFsbDogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC1idXR0b25zLWdhcCksXHJcbiAgICBsYXJnZTogMTBweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBBeGlzIFNlY3Rpb25zIC0tLS0tXHJcbiRheGlzLXNlY3Rpb25zLWhlYWRlci1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XHJcbiRheGlzLXNlY3Rpb25zLWhlYWRlci1zdGF0dXMtaWNvbi1zaXplOiAxOHB4ICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIC0tLS0tIFlvdXIgQWNjb3VudCAtLS0tLSBcclxuJGFjY291bnQtcGFnZXMtaXRlbS1ncmlkLW1hcmdpbjogMDtcclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLXBhZGRpbmc6IDIwcHggIWRlZmF1bHQ7XHJcbiRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogdmFyKC0td2hpdGUtY29sb3VyKSxcclxuICAgIGhvdmVyOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMClcclxuKSAhZGVmYXVsdDtcclxuJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKSxcclxuICAgIGhvdmVyOiB2YXIoLS13aGl0ZS1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IG5hbWluZyBjb252ZW50aW9ucyBuZWVkIHRvIGJlIHJlZG9uZSBhcyB0aGlzIGlzIG5vIGxvbmdlciBhY2NvdW50IHNwZWNpZmljIGZ1bmN0aW9uYWxpdHkuXHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjMtNSxcclxuICAgIGRlZmF1bHQtYWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGhvdmVyLWFsdDogJGNvbG91cjEsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTEsXHJcbiAgICBhY3RpdmUtYWx0OiAkY29sb3VyNlxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbiRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyOiAoXHJcbiAgICBzbWFsbDogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXIzLTYsXHJcbiAgICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLWNvbG91cigkaW5wdXQtY29sb3VyKVxyXG4gICAgKSxcclxuICAgIGxhcmdlOiAoXHJcbiAgICAgICAgZGVmYXVsdDogJGNvbG91cjMtNixcclxuICAgICAgICBob3ZlcjogJGNvbG91cjEsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMVxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cjogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpLFxyXG4gICAgICAgIGhvdmVyOiBob3Zlci1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKSxcclxuICAgICAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKSxcclxuICAgICAgICBkaXNhYmxlZDogZGlzYWJsZWQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tY29sb3VyKSlcclxuICAgICksXHJcbiAgICBsYXJnZTogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgICAgIGhvdmVyOiBob3Zlci1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKSxcclxuICAgICAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKVxyXG4gICAgKVxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgc21hbGw6IChcclxuICAgICAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgICAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICAgICAgYWN0aXZlOiAkY29sb3VyMSxcclxuICAgICAgICBkaXNhYmxlZDogJGNvbG91cjNcclxuICAgICksXHJcbiAgICBsYXJnZTogKFxyXG4gICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgICAgIGhvdmVyOiAkY29sb3VyNCxcclxuICAgICAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbiAgICApXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gUmVwbGFjZW1lbnQgZm9yIHRoZSBhYm92ZSwgbWFuYWdlIGNhbGxzIHN0aWNreSBidXR0b25zIHdpbGwgbmVlZCB0byByZXdvcmsgdG8gcmVtb3ZlIGRlcGVuZGFuY3kgb24gJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQuXHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGhvdmVyOiAkY29sb3VyNFxyXG4pICFkZWZhdWx0O1xyXG4kYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRib2R5LWZvbnQtY29sb3VyLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0zXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuJGFjY291bnQtcGFnZS1pdGVtLXBhZGRpbmc6IDAgMCAyMHB4ICFkZWZhdWx0OyBcclxuJGFjY291bnQtcGFnZS1pdGVtLWFuY2hvci1wYWRkaW5nOiAzNXB4IDIwcHggMzBweCAhZGVmYXVsdDtcclxuJGFjY291bnQtcGFnZS1pdGVtLWZvbnQtd2VpZ2h0OiAoXHJcbiAgICBhY2NvdW50LXBhZ2U6IDcwMCxcclxuICAgIGFjY291bnQtbWVudTogNjAwXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBkZWZhdWx0LWFsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBob3Zlci1hbHQ6ICRjb2xvdXI0LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMy0zLFxyXG4gICAgYWN0aXZlLWFsdDogJGNvbG91cjEsXHJcbiAgICBkaXNhYmxlZDogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZClcclxuKSAhZGVmYXVsdDtcclxuLy8gUmVwbGFjZW1lbnQgZm9yIHRoZSBhYm92ZSwgbWFuYWdlIGNhbGxzIHN0aWNreSBidXR0b25zIHdpbGwgbmVlZCB0byByZXdvcmsgdG8gcmVtb3ZlIGRlcGVuZGFuY3kgb24gJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ci5cclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcbiRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBkZWZhdWx0LWFsdDogJGNvbG91cjEsXHJcbiAgICBob3ZlcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBob3ZlciksXHJcbiAgICBob3Zlci1hbHQ6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgaG92ZXItYWx0KSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBhY3RpdmUpLFxyXG4gICAgYWN0aXZlLWFsdDogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBhY3RpdmUtYWx0KSxcclxuICAgIGRpc2FibGVkOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGRpc2FibGVkKVxyXG4pICFkZWZhdWx0O1xyXG4vLyBSZXBsYWNlbWVudCBmb3IgdGhlIGFib3ZlLCBtYW5hZ2UgY2FsbHMgc3RpY2t5IGJ1dHRvbnMgd2lsbCBuZWVkIHRvIHJld29yayB0byByZW1vdmUgZGVwZW5kYW5jeSBvbiAkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXJcclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCksXHJcbiAgICBob3ZlcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMClcclxuKSAhZGVmYXVsdDtcclxuLy8gSWYgdGhlIHByaW1hcnkgY29sb3VyIGRvZXMgbm90IGNvbnRyYXN0IGFnYWluc3QgdGhlIHRleHQgc2V0IHRoaXMgdG8gdHJ1ZS5cclxuJGFjY291bnQtc2VjdGlvbi1pdGVtLWljb24tdXNlLXNlY29uZGFyeS1jb2xvdXI6IGZhbHNlICFkZWZhdWx0O1xyXG5cclxuXHJcbi8vIFRPRE86IG9uY2UgdGhlIG9sZCBhY2NvdW50IGdyaWQgaGFzIGJlZW4gcmVwbGFjZSB3aXRoIHRoZSBuZXcgc2Vjb25kIHRoaXMgY2FuIGRvLlxyXG4kYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplOiAoXHJcbiAgICBjaGFuZ2UtZGV0YWlsczogNDVweCxcclxuICAgIGNoYW5nZS1wYXNzd29yZDogMTNweCxcclxuICAgIGNvbnRyYWN0LWl0ZW1zOiA2NXB4LFxyXG4gICAgZmF2b3VyaXRlczogNDVweCxcclxuICAgIHZpZXctb3JkZXJzOiA1NXB4LFxyXG4gICAgcmVjZW50bHktcHVyY2hhc2VkOiA2NXB4LFxyXG4gICAgbWFuYWdlLWNhcmRzOiAzNXB4LFxyXG4gICAgc3RhdGVtZW50OiA0NXB4LFxyXG4gICAgbWFuYWdlLXVzZXJzOiA1NXB4LFxyXG4gICAgYnJhbmNoLXN3aXRjaGVyOiA2MHB4LFxyXG4gICAgY29udGFjdC1wcmVmZXJlbmNlczogNjBweCxcclxuICAgIGhpc3RvcmljYWwtdHJhbnNhY3Rpb25zOiA2MHB4LFxyXG4gICAgdXBsb2FkLWJhc2tldDogNDVweCxcclxuICAgIHVwbG9hZC1vcmRlcjogNDVweCxcclxuICAgIGxvZ291dDogNDVweCxcclxuICAgIG1hbmFnZS1jYWxsczogNDVweCxcclxuICAgIHNlcnZpY2UtY29udHJhY3RzOiA0NXB4LFxyXG4gICAgY3VzdG9tZXItYXNzZXRzOiA0NXB4LFxyXG4gICAgcGF5bWVudC1yZXF1ZXN0czogNDVweCxcclxuICAgIGRvd25sb2FkLXByaWNlLWxpc3RzOiA0NXB4LFxyXG4gICAgc2l0ZS1saXN0OiA0NXB4LFxyXG4gICAgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkOiA0NXB4LFxyXG4gICAgZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlOiA0NXB4LFxyXG4gICAgZGVmYXVsdC1pY29uOiA0NXB4LFxyXG4gICAgb25saW5lLWRvY3VtZW50YXRpb246IDQ1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcbiRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZTogKFxyXG4gICAgZGVmYXVsdDogMzBweCxcclxuICAgIGNoYW5nZS1wYXNzd29yZDogOHB4LFxyXG4gICAgY2hhbmdlLWRldGFpbHM6IDI1cHgsXHJcbiAgICBtYW5hZ2UtY2FyZHM6IDIzcHgsXHJcbiAgICBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQ6IDI1cHgsXHJcbiAgICBsb2dvdXQ6IDI1cHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyAtLS0gVmlldyBPcmRlciAtLS1cclxuJHByaWNlLWRyb3AtZm9udC1zaXplOiAxMSAhZGVmYXVsdDtcclxuJHByaWNlLWRyb3AtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHByaWNlLWRyb3AtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcclxuJHByaWNlLWRyb3AtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHByaWNlLWRyb3AtYXJyb3ctY29sb3VyOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWd1dHRlcjogKFxyXG4gICAgc21hbGw6IDIwcHhcclxuKSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAxNXB4IDIwcHgsXHJcbiAgICBsYXJnZTogMzBweCA0MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtaGVhZGluZy1mb250LXNpemU6IDIyICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWhlYWRpbmctZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJHZpZXctb3JkZXItZGV0YWlscy1mb250LXNpemU6IDE0ICFkZWZhdWx0O1xyXG4kdmlldy1vcmRlci1kZXRhaWxzLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWw6IChcclxuICAgIHNtYWxsOiAxMDAlLFxyXG4gICAgbGFyZ2U6IDE3MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwtZm9udC13ZWlnaHQ6ICRkZWZhdWx0LWxhYmVsLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIE1hbmFnZSBDYWxscyAtLS0gXHJcbiRjYWxsLWVucXVpcnktaWNvbi1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWljb24tY29sb3VyOiAkY29sb3VyNC0yICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjogJHZpZXctb3JkZXItZGV0YWlscy1iYWNrZ3JvdW5kLWNvbG91ciAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWhlYWRpbmctZm9udC1zaXplOiAkYXhpcy1zZWN0aW9ucy1oZWFkZXItZm9udC1zaXplICFkZWZhdWx0O1xyXG4kY2FsbC1lbnF1aXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGNhbGwtZW5xdWlyeS1jb250ZW50LWxhYmVsLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJG1hbmFnZS1jYWxscy10YWJsZS1oZWFkaW5nLW1hcmdpbjogMTBweCAwICFkZWZhdWx0O1xyXG4vLyBSYXRpbmcuXHJcbiRjYWxsLXJhdGluZy1saXN0LWljb24tc2l6ZTogMjIuNXB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gTWFuYWdlIFVzZXJzIC0tLVxyXG4kdXNlcnMtZm91bmQtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHVzZXJzLWZvdW5kLWNvdW50LWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbi8vIFRhYmxlLlxyXG4kdXNlcnMtdGJvZHktZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJHVzZXJzLXRib2R5LWNvbnRhY3QtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHVzZXJzLXRib2R5LWNvbnRhY3QtY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4vLyBSZW1vdmUgdXNlciBidXR0b24gKCBsaXN0IClcclxuJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1kaW1lbnRpb25zOiAyMHB4ICFkZWZhdWx0OyBcclxuJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFZpZXcgLyBFZGl0IHVzZXJcclxuJHVzZXJzLWJyYW5jaC1zZWxlY3Rpb24tYnV0dG9uLWljb24tc2l6ZTogKCRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplIC0gMikgIWRlZmF1bHQ7XHJcbiR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTNcclxuKSAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWRpbWVudGlvbnM6IChcclxuICAgIHdpZHRoOiAxMTUwcHgsXHJcbiAgICBoZWlnaHQ6IDczMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1wYWRkaW5nOiAxMHB4ICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLXBhZGRpbmc6IDI1cHggMCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci1oZWFkaW5nLWZvbnQtc2l6ZTogMjUgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC1oZWFkZXItaGVhZGluZy1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtaGVhZGVyLXRleHQtZm9udC1zaXplOiAyMiAhZGVmYXVsdDtcclxuJHVzZXJzLXBvcHVwLWhlYWRlci10ZXh0LWZvbnQtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiR1c2Vycy1wb3B1cC10YWJsZS1tYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoICFkZWZhdWx0O1xyXG4kdXNlcnMtcG9wdXAtdGFibGUtYnJhbmNoLWNvbC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG5cclxuLy8gdmlldyAvIGVkaXQgdXNlclxyXG4kdXNlcnMtcG9wdXAtZGltZW50aW9uczogKFxyXG4gICAgd2lkdGg6IDExNTBweCxcclxuICAgIGhlaWdodDogNzMwcHhcclxuKSAhZGVmYXVsdDtcclxuJHVzZXJzLXNlYXJjaC1tYXgtd2lkdGg6IDYyMHB4ICFkZWZhdWx0O1xyXG4kdXNlcnMtc2VhcmNoLWhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBCcmFuY2ggc2VsZWN0b3IgLS0tLS0gXHJcbiRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2lkdGg6IDEyMHB4ICFkZWZhdWx0O1xyXG4kYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdlaWdodDogJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC1jb2xvdXI6ICR2aWV3LW9yZGVyLWRldGFpbHMtY29sb3VyICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBNYW5hZ2UgUGF5bWVudCBDYXJkcyAtLS0tLSBcclxuJGNhcmRzLWNhcmQtdHlwZS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIzLTFcclxuKSAhZGVmYXVsdDtcclxuJGNhcmRzLXJlbW92ZS1jYXJkLWJ1dHRvbi1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTMsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFBheW1lbnQgRnJhbWUuXHJcbiRwYXltZW50LWZyYW1lLXBvcHVwLW1heC13aWR0aDogMTE1MHB4ICFkZWZhdWx0O1xyXG4kcGF5bWVudC1mcmFtZS1tYXgtd2lkdGg6IDYzMHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBTdGF0ZW1lbnQgLS0tLS0gXHJcbiRzdGF0ZW1lbnQtYmFsYW5jZS1mb250LXNpemU6ICgkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDMpICFkZWZhdWx0O1xyXG4kc3RhdGVtZW50LWJhbGFuY2UtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHN0YXRlbWVudC1iYWxhbmNlLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFRva2VucyAtLS0tLSBcclxuJHRva2Vucy10YWJsZS1wYWRkaW5nOiAyMDBweCAhZGVmYXVsdDtcclxuLy8gLS0tLS0gUGFnZSBzZWN0aW9uIGNvbG91cnMgLS0tLS1cclxuJHNlY3Rpb25zLWJhY2tncm91bmQtY29sb3VyczogKCkgIWRlZmF1bHQ7XHJcbi8vIC0tLS0tIFBhZ2UgYmFja2dyb3VuZCBjb2xvdXJzIC0tLS0tIFxyXG4kcGFnZS1iYWNrZ3JvdW5kLWNvbG91cnM6ICgpICFkZWZhdWx0O1xyXG4vLyAtLS0tLSBQYWdlIGJhY2tncm91bmQgaW1hZ2VzIC0tLS0tXHJcbiRwYWdlLWJhY2tncm91bmQtaW1hZ2VzOiAoKSAhZGVmYXVsdDtcclxuXHJcbi8vLS0tLS0gRm9vdGVyIC0tLS0tIFxyXG4vLyBJZiB1c2luZyBGb290ZXIgbGF5b3V0IDIgdGhlbiB5b3UgY2FuIHVzZSB0aGlzIHRvIHF1aWNrbHkgY2VudGVyYWxpc2UuXHJcbiRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXBlcmF0b3ItdG9wOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zZXBlcmF0b3ItaGVpZ2h0OiAxMHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNlcGVyYXRvci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VwZXJhdG9yLWJhY2tncm91bmQtaW1hZ2U6IFwiL2NvbnRlbnQvaW1hZ2VzL2Zvb3Rlci1zZXBlcmF0b3ItYmFja2dyb3VuZC1pbWFnZS5wbmdcIiAhZGVmYXVsdDtcclxuXHJcblxyXG4kZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplOiA0cHggIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3ItY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuLy8gRm9vdGVyIGdyaWQgKCBjb250ZW50IGNvbnRhaW5lciApXHJcbiRmb290ZXItZ3JpZC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcclxuJGZvb3Rlci1ncmlkLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbWVkaXVtOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLXRvcDogdHJ1ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLXVybDogKFxyXG4gICAgc21hbGw6ICdodHRwczovL3BpY3N1bS5waG90b3MvaWQvMTMvMzIwLzUwMCcsXHJcbiAgICBsYXJnZTogJ2h0dHBzOi8vcGljc3VtLnBob3Rvcy9pZC8xMy8xMzAwLzMwMCdcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodDogKFxyXG4gICAgc21hbGw6IDUwMHB4LFxyXG4gICAgbGFyZ2U6IDMwMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFja2dyb3VuZC1tYXJnaW4tdG9wOiAyNXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWdyYWRpYW50OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFyZ2luLXRvcDogNTBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYWRkaW5nOiAoXHJcbiAgICBzbWFsbDogMjBweCAxMHB4LFxyXG4gICAgbWVkaXVtOiA3MHB4IDEwcHggMjBweCxcclxuICAgIGxhcmdlOiA3MHB4IDAgMjBweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogMTAwJSxcclxuICAgIGxhcmdlOiA1MCVcclxuKSAhZGVmYXVsdDtcclxuLy8gVHlwaWNhbGx5IHRoaXMgZ2VuZXJhbGx5IGRvZXNuJ3QgbmVlZCB0byBiZSBzZXQgZHVlIHRvIGFsbG93aW5nIHRoZSBjb250ZW50IGRlZmluZSB0aGUgd2lkdGguXHJcbiRmb290ZXItcHJvbW90aW9ucy13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb25zLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtb3JkZXI6IChcclxuICAgIG1haWxpbmctbGlzdDogMSxcclxuICAgIHNvY2lhbC1pY29uczogMixcclxuICAgIHRleHRkYjogM1xyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtZmxleC1kaXJlY3Rpb246IChcclxuICAgIHNtYWxsOiBjb2x1bW4sXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbnMtZ2FwOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9ucy1hbGlnbi1pdGVtczogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogaWYoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlLCBjZW50ZXIsIG51bGwpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI6IG51bGwgIWRlZmF1bHQ7XHJcbi8vIC0tLSBCYWNrIHRvIFRvcCAtLS1cclxuJGJhY2stdG8tdG9wLWljb24tc2l6ZTogKFxyXG4gICAgc21hbGw6IDE3cHgsXHJcbiAgICBsYXJnZTogMjJweFxyXG4pICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYnV0dG9uLXdpZHRoOiAoXHJcbiAgICBzbWFsbDogNTBweCxcclxuICAgIGxhcmdlOiA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1idXR0b24taGVpZ2h0OiAoXHJcbiAgICBzbWFsbDogNTBweCxcclxuICAgIGxhcmdlOiA2MHB4XHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kYmFjay10by10b3AtcG9zaXRpb24tcmlnaHQ6IHRydWUgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2U6IChcclxuICAgIHNtYWxsOiAxMHB4LFxyXG4gICAgbGFyZ2U6IDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGJhY2stdG8tdG9wLWJvcmRlci1yYWRpdXM6IDEwcHggIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1idXR0b24tZ3JhZGlhbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjQsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI2XHJcbikgIWRlZmF1bHQ7XHJcbiRiYWNrLXRvLXRvcC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kYmFjay10by10b3AtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogZGVmYXVsdC1jb2xvdXIoJGJhY2stdG8tdG9wLWNvbG91ciksXHJcbiAgICBob3ZlcjogaG92ZXItY29sb3VyKCRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRiYWNrLXRvLXRvcC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpXHJcbikgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gLS0tIExpc3QgLS0tIFxyXG4kZm9vdGVyLWxpc3QtZ2FwOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbmF2aWdpYXRpb24tanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xyXG4vLyBSZXZlcnNlIGZvb3RlciBsaXN0ICYgc29jaWFscyBlbGVtZW50cyBvcmRlci5cclxuJGZvb3Rlci1saXN0LW9yZGVyOiAxICFkZWZhdWx0O1xyXG4kZm9vdGVyLXByb21vdGlvbi1hcmVhLW9yZGVyOiAyICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDYW4gZ28gYWZ0ZXIgZm9vdGVyIDIuMFxyXG4kZm9vdGVyLWxpc3QtcmV2ZXJzZS1vcmRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENhbiBnbyBhZnRlciBmb290ZXIgMi4wXHJcbiRmb290ZXItbGlzdC1qdXN0aWZ5LWNvbnRlbnQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1jb250YWluZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDIwcHgsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtbWFyZ2luLXRvcDogMzVweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWl0ZW0td2lkdGg6IDIzMHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtaXRlbS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAxMC41cHgsXHJcbiAgICBsYXJnZTogMCAwIDIxcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gVE9ETzogQ2FuIGdvIGFmdGVyIGZvb3RlciAyLjBcclxuJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZy1ib3R0b206IDIxcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAyMHB4IDAsXHJcbiAgICBsYXJnZTogMFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1mb250LXNpemU6IDE3ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LWxpbmUtaGVpZ2h0OiAxICFkZWZhdWx0O1xyXG4kZm9vdGVyLXBhcmVudC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQtMixcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yLXdpZHRoOiAycHggIWRlZmF1bHQ7XHJcbiRmb290ZXItcGFyZW50LXNlcGVyYXRvci1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENhbiBnbyBhZnRlciBmb290ZXIgMi4wXHJcbiRmb290ZXItbW9iaWxlLXNlcGVyYXRvci1jb2xvdXI6ICRjb2xvdXIzLTIgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1jaGlsZC1pdGVtLWhvdmVyLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTYsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXIyXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbGlzdC1jaGlsZC10ZXh0LXRyYW5zZm9ybTogbm9uZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jaGlsZC1mb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNoaWxkLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY2hpbGQtaG92ZXItdGV4dC1kZWNvcmF0aW9uOiB0cnVlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNoaWxkLWhvdmVyLW9wYWNpdHk6IC41ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNoaWxkLWxpbmUtaGVpZ2h0OiAkZm9vdGVyLXBhcmVudC1saW5lLWhlaWdodCAhZGVmYXVsdDtcclxuJHN1cHByZXNzLWZvb3Rlci1tZW51LWl0ZW0tc2VwZXJhdG9yczogZmFsc2UgIWRlZmF1bHQ7XHJcbi8vIE1haW4gbWVudSAoIHRoaXMgaXMgYSBuZXcgY29uY2VwdCBzbyBub3QgYWxsIGNvbmZpZyBvcHRpb25zIHdpbGwgYmUgaGVyZSApXHJcbiRmb290ZXItbWFpbi1tZW51LWZsZXgtZ3JvdzogMSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWluLW1lbnUtZGVza3RvcC1tYXgtd2lkdGg6IDUwJSAhZGVmYXVsdDtcclxuLy8gQWx0IG1lbnVcclxuJGZvb3Rlci1hbHQtbWVudS1saXN0LWl0ZW0td2lkdGg6IGF1dG8gIWRlZmF1bHQ7XHJcbiRmb290ZXItYWx0LW1lbnUtcGFyZW50LWl0ZW0tcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogMCA1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1wYXJlbnQtYW5jaG9yLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1saXN0LWl0ZW0tc2VwZXJhdG9yOiB0cnVlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LXBhcmVudC1maXJzdC1jaGlsZC1zdXBwcmVzcy1wYWRkaW5nOiB0cnVlICFkZWZhdWx0O1xyXG4kZm9vdGVyLWFsdC1tZW51LXBhcmVudC1mb250LXdlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1hbHQtbWVudS1wYXJlbnQtZm9udC1zaXplOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgUHJvbW90aW9uIEhlYWRpbmcgLS0tIFxyXG4kZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXNpemU6ICRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDE1cHgsXHJcbiAgICBsYXJnZTogMCAwICRmb290ZXItbGlzdC1tYXJnaW4tdG9wXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgTG9nbyAtLS0gXHJcbiRmb290ZXItbG9nby13aWR0aDogKFxyXG4gICAgc21hbGw6IDUwJSxcclxuICAgIG1lZGl1bTogNDAlLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1sb2dvLWhlaWdodDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWxvZ28tbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDIwcHgsXHJcbiAgICBsYXJnZTogMCAwIDMwcHhcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBDb250YWN0IERldGFpbHMgLS0tXHJcbiRmb290ZXItY29udGFjdC1kZXRhaWxzLWZsZXgtZGlyZWN0aW9uOiAoXHJcbiAgICBzbWFsbDogY29sdW1uLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwIDEwcHgsXHJcbiAgICBsYXJnZTogMCAwIDI1cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaXRlbS1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMTBweCxcclxuICAgIGxhcmdlOiAwIDAgMTVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBtYXAtZ2V0KCRmb290ZXItcGFyZW50LXBhZGRpbmcsIHNtYWxsKSxcclxuICAgIGxhcmdlOiBtYXAtZ2V0KCRmb290ZXItcGFyZW50LXBhZGRpbmcsIGxhcmdlKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLWNvbnRhaW5lci13aWR0aDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250YWN0LWRldGFpbHMtaWNvbi1zaXplOiBudWxsICFkZWZhdWx0O1xyXG4vLyAtLS0gRm9vdGVyIHJldmVhbCBidXR0b24gLS0tIFxyXG4kZm9vdGVyLXJldmVhbC1idXR0b24tcGFkZGluZzogMTVweCAzMHB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXJldmVhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXI0LFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyNC01XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItcmV2ZWFsLWJ1dHRvbi1mb250LXNpemU6IDE4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXJldmVhbC1idXR0b24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuLy8gLS0tIE1haWxpbmcgbGlzdCAtLS0gXHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstcGFkZGluZzogMTBweCAxNXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJhY2tncm91bmQtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjQtMVxyXG4pICFkZWZhdWx0OyBcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6ICRjb2xvdXIxLFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IGRlZmF1bHQtY29sb3VyKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYmFja2dyb3VuZC1jb2xvdXIpLFxyXG4gICAgaG92ZXI6IGhvdmVyLWNvbG91cigkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJhY2tncm91bmQtY29sb3VyKSxcclxuICAgIGFjdGl2ZTogYWN0aXZlLWNvbG91cigkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWJhY2tncm91bmQtY29sb3VyKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWZvbnQtc2l6ZTogMTYgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWxpbmstZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay13aWR0aDogKFxyXG4gICAgc21hbGw6IDEwMCUsXHJcbiAgICBsYXJnZTogZml0LWNvbnRlbnRcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtaWNvbi1jb25maWc6IChcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1haWwpLFxyXG4gICAgcG9zaXRpb246IGFmdGVyLFxyXG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4LFxyXG4gICAgY29sb3VyOiAkZm9vdGVyLW1haWxpbmctbGlzdC1saW5rLWNvbG91cixcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuICAgIHNpemU6IDE2cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1oZWFkaW5nLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAsXHJcbiAgICBsYXJnZTogMCAwICRmb290ZXItbGlzdC1tYXJnaW4tdG9wXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWhlYWRpbmctY29sb3VyOiBtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1oZWFkaW5nLWZvbnQtc2l6ZTogJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1oZWFkaW5nLWZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtdGV4dC1mb250LXNpemU6ICRmb290ZXItY2hpbGQtZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC10ZXh0LWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwIDAgMjBweCxcclxuICAgIGxhcmdlOiAwIDAgNTVweFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1saW5lLWhlaWdodDogJGRlZmF1bHQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIFNldCB0byBudWxsIHRvIGZvbGxvdyBkZWZhdWx0IGV4cHJlc3Mgc3R5bGluZy5cclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYm9yZGVyOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1wYWRkaW5nOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1sZXR0ZXItc3BhY2luZzogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtdGV4dC10cmFuc2Zvcm06IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyLWluY2x1ZGUtYnV0dG9uOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtZm9udC13ZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91ci1pbmNsdWRlLWJ1dHRvbjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgQ01TIGNvbnRlbnQgY29udGFpbmVyIC0tLSBcclxuLy8gVGhpcyBjb21wb25lbnQgaXMgZmFpcmx5IGZyZWUgZm9ybSBhcyBpdCBjYW4gY2hhbmdlIHF1aXRlIHJhZGljYWxseSBvbiBhIHNpdGUgYnkgc2l0ZSBiYXNpcy5cclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1tYXgtd2lkdGg6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgICBzbWFsbDogMjBweCxcclxuICAgIGxhcmdlOiAzMHB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1mbGV4LWRpcmVjdGlvbjogKFxyXG4gICAgc21hbGw6IGNvbHVtbixcclxuICAgIGxhcmdlOiByb3dcclxuKSAhZGVmYXVsdDtcclxuLy8gU3R5bGUgdGhlIGgyJ3MgbGlrZSB0aGUgbGlzdCBwYXJlbnQuXHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMi1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXNpemU6ICRmb290ZXItcGFyZW50LWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDItbWFyZ2luOiAwIDAgJGZvb3Rlci1saXN0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMy1jb2xvdXI6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMy1mb250LXdlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDMtZm9udC1zaXplOiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItZm9udC1zaXplICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItaDMtbGluZS1oZWlnaHQ6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1oMy1tYXJnaW46IDAgMCAxNXB4ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItdGFibGUtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtY29udGFpbmVyLXRhYmxlLWxpbmUtaGVpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLXBhZGRpbmc6IG51bGwgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtbWFyZ2luOiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLWZvbnQtc2l6ZTogJGZvb3Rlci1jaGlsZC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb290ZXItY2hpbGQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbi8vIC0tLSBGb290ZXIgU2VwZXJhdG9ycyAtLS0gXHJcbiRmb290ZXItc2VwZXJhdGUtZGltZW50aW9ucy1kZWZhdWx0OiAoXHJcbiAgICB3aWR0aDogMTAwJSxcclxuICAgIGhlaWdodDogMnB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc2VycGVyYXRvci1jb2xvdXI6IHJnYmEoJGNvbG91cjEsIDAuMykgIWRlZmF1bHQ7XHJcbi8vIENvbnRlbnRcclxuJGZvb3Rlci1jb250ZW50LWZsZXgtZGlyZWN0aW9uOiAoXHJcbiAgICBzbWFsbDogY29sdW1uLCBcclxuICAgIGxhcmdlOiByb3dcclxuKSAhZGVmYXVsdDtcclxuLy8gSnVzdGlmeSBvbmx5IGZvciBkZXNrdG9wIGFzIGl0IGRvZXNudCBtYWtlIHNlbnNlIGZvciBtb2JpbGUgZGV2aWNlcy5cclxuJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudDogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBtZWRpdW06IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXRvcDogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29udGVudC1zZXBlcmF0b3ItYm90dG9tOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci13aWR0aDogbWFwLWdldCgkZm9vdGVyLXNlcGVyYXRlLWRpbWVudGlvbnMtZGVmYXVsdCwgd2lkdGgpICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWhlaWdodDogbWFwLWdldCgkZm9vdGVyLXNlcGVyYXRlLWRpbWVudGlvbnMtZGVmYXVsdCwgaGVpZ2h0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiBudWxsLFxyXG4gICAgbGFyZ2U6IG51bGxcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1tZW51LWljb24tY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjJcclxuKSAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBDTVMgLS0tIFxyXG4kZm9vdGVyLWNtcy1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtYW5jaG9yLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkY21zLWFuY2hvci1jb250YWN0LWNvbG91ciwgZGVmYXVsdCksXHJcbiAgICBob3ZlcjogbWFwLWdldCgkY21zLWFuY2hvci1jb250YWN0LWNvbG91ciwgaG92ZXIpLFxyXG4gICAgYWN0aXZlOiBtYXAtZ2V0KCRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY21zLWFuY2hvci1pY29uLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjMtNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjMtNVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1hbmNob3ItZm9udC1zaXplOiAkZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtYW5jaG9yLWZvbnQtd2VpZ2h0OiBudWxsICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNtcy1saW5lLWhlaWdodDogbnVsbCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jbXMtZm9udC1zaXplOiAkZm9vdGVyLWNoaWxkLWZvbnQtc2l6ZTtcclxuLy8gLS0tIENvcHlyaWdodCAtLS1cclxuJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLWJhY2tncm91bmQ6ICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCBhdXRvIDAsXHJcbiAgICBsYXJnZTogMzVweCBhdXRvIDBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci13aWR0aDogbWFwLWdldCgkZm9vdGVyLXNlcGVyYXRlLWRpbWVudGlvbnMtZGVmYXVsdCwgd2lkdGgpICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItaGVpZ2h0OiBtYXAtZ2V0KCRmb290ZXItc2VwZXJhdGUtZGltZW50aW9ucy1kZWZhdWx0LCBoZWlnaHQpICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1zZXBlcmF0b3ItbWFyZ2luOiAxNXB4IDAgMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLXBhZGRpbmc6IDM1cHggMCAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtc2l6ZTogMTMgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1tYXJnaW46IDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXRleHQtYWxpZ246IChcclxuICAgIHNtYWxsOiBjZW50ZXIsXHJcbiAgICBsYXJnZTogY2VudGVyXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtd2VpZ2h0OiA2MDAgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1hbmNob3ItY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNC0yLFxyXG4gICAgaG92ZXI6ICRjb2xvdXI2LFxyXG4gICAgYWN0aXZlOiAkY29sb3VyMlxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWNvcHlyaWdodC1hbmNob3Itc2l6ZTogJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItY29weXJpZ2h0LWFuY2hvci13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcclxuJGZvb3Rlci1jb3B5cmlnaHQtbWluaWZpZWQtbGF5b3V0LWNvbG91cjogbnVsbCAhZGVmYXVsdDtcclxuLy8gLS0tIEZvb3RlciBiYW5uZXIgc2VyaWVzIC0tLSBcclxuLy8gVE9ETzogQ0FOIEdPIEFGVEVSIEZPT1RFUiAyLjAgTElWRVxyXG4kZm9vdGVyLWJhbm5lci1pbWFnZS13aWR0aDogNjBweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1tYXJnaW46IChcclxuICAgIHNtYWxsOiAwLFxyXG4gICAgbGFyZ2U6IDAgYXV0byAwXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1jb250YWluZXItcGF5bWVudC1tZXRob2RzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDIwcHggMCAyNXB4LFxyXG4gICAgbGFyZ2U6IDYwcHggMCAyNXB4XHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IG51bGwsXHJcbiAgICBsYXJnZTogbnVsbFxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXItd2lkdGg6IDFweCAwICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlci1jb2xvdXI6ICRjb2xvdXI0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtZ2FwOiAoXHJcbiAgICBzbWFsbDogMTBweCxcclxuICAgIGxhcmdlOiAgMCAyNC41cHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1iYW5uZXJzLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IGlmKCRmb290ZXItY29udGVudC1jZW50ZXJhbGlzZSwgYXV0bywgMCksXHJcbiAgICBsYXJnZTogYXV0b1xyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLWJhbm5lcnMtanVzdGlmeS1jb250ZW50OiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IHRoaXMgc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gdXNlIHNwYWNpbmctdmFsdWVzLlxyXG4kZm9vdGVyLWJhbm5lci1pbWFnZS1tYXJnaW46IChcclxuICAgIHRvcDogNjBweCwgXHJcbiAgICByaWdodDogMjBweCwgXHJcbiAgICBib3R0b206IDI1cHgsIFxyXG4gICAgbGVmdDogMjBweFxyXG4pICFkZWZhdWx0O1xyXG4vLyBUT0RPOiBDQU4gR08gQUZURVIgRk9PVEVSIDIuMCBMSVZFXHJcbiRmb290ZXItYmFubmVyLWdyYXlzY2FsZTogZmFsc2UgIWRlZmF1bHQ7XHJcbiRmb290ZXItYmFubmVyLWJvcmRlci1yYWRpdXM6IDAgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBTb2NpYWwgTWVkaWEgSWNvbnMgTW9kdWxlIC0tLS0tXHJcbi8vIC0tLSBTb2NpYWwgaWNvbnMgY29tbW9uIC0tLSBcclxuJHNvY2lhbC1pY29ucy1kaW1lbnRpb25zOiAzNXB4ICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWJvcmRlci13aWR0aDogMnB4ICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyICFkZWZhdWx0O1xyXG4kc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHk6IDEgIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyMSxcclxuICAgIGhvdmVyOiAkY29sb3VyMSxcclxuICAgIGFjdGl2ZTogJGNvbG91cjFcclxuKSAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogJGNvbG91cjQsXHJcbiAgICBob3ZlcjogJGNvbG91cjYsXHJcbiAgICBhY3RpdmU6ICRjb2xvdXI0XHJcbikgIWRlZmF1bHQ7XHJcbiRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91cjogKFxyXG4gICAgZGVmYXVsdDogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgIGhvdmVyOiAkY29sb3VyNixcclxuICAgIGFjdGl2ZTogJGNvbG91cjRcclxuKSAhZGVmYXVsdDtcclxuJHNvY2lhbC1pY29ucy1zaXplOiAxOHB4ICFkZWZhdWx0O1xyXG4vLyBUaGVyZSBhcmUgdHdvIGNvbG91ciBtb2RlczpcclxuLy8gc2l0ZS1zcGVjaWZpYzogbWF0Y2hlcyB0aGUgY3VzdG9tZXIncyBzaXRlIGJyYW5kaW5nLlxyXG4vLyBzb2NpYWwtYnJhbmRpbmc6IGZvbGxvd3MgdGhlIGJyYW5kIGd1aWRlbGluZXMgb2YgZWFjaCBzb2NpYWwgcGxhdGZvcm0uXHJcbiRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZTogJ3NpdGUtc3BlY2lmaWMnICFkZWZhdWx0O1xyXG4vLyAtLS0gU29jaWFsIGljb25zIHByb2R1Y3QgcGFnZSAtLS1cclxuJHByb2R1Y3Qtc29jaWFsLWljb25zLWZsb2F0OiByaWdodCAhZGVmYXVsdDtcclxuJHByb2R1Y3Qtc29jaWFsLWljb25zLW1hcmdpbjogMTBweCAwICFkZWZhdWx0O1xyXG4vLy0tLSBTb2NpYWwgSWNvbnMgZm9vdGVyIC0tLVxyXG5cclxuLy8gLS0tLS0gVEVNUCBSRVNUT1JFIC0tLS0tXHJcbiRmb290ZXItc29jaWFsLWljb25zLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMCAyMHB4LFxyXG4gICAgbGFyZ2U6IDAgMCAyMHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIFRPRE86IENBTiBHTyBBRlRFUiBGT09URVIgMi4wIExJVkVcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZy1ib3R0b206IDMwcHggIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItYWxpZ25tZW50OiBsZWZ0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luOiAoXHJcbiAgICBzbWFsbDogMCAwICRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmctYm90dG9tLFxyXG4gICAgbGFyZ2U6IDAgMCAkZm9vdGVyLWxpc3QtbWFyZ2luLXRvcCBcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1jb2xvdXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCkgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC1zaXplOiAkZm9vdGVyLXBhcmVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC13ZWlnaHQ6ICRmb290ZXItcGFyZW50LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1idXR0b24tZGltZW50aW9uczogNDVweCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbi1kaW1lbnRpb25zOiAoJGZvb3Rlci1zb2NpYWwtaWNvbnMtYnV0dG9uLWRpbWVudGlvbnMgLyAyKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtYm9yZGVyLXJhZGl1czogJHNvY2lhbC1pY29ucy1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5OiAuNSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6ICRjb2xvdXIxLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBob3ZlciksXHJcbiAgICBhY3RpdmU6IG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBhY3RpdmUpXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWJvcmRlci1jb2xvdXI6IChcclxuICAgIGRlZmF1bHQ6IG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpLFxyXG4gICAgaG92ZXI6IG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSxcclxuICAgIGFjdGl2ZTogbWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKVxyXG4pICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kOiBmYWxzZSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTogZmxleC1zdGFydCAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIFRFTVAgUkVTVE9SRSBFTkQgLS0tLS1cclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoOiAoXHJcbiAgICBzbWFsbDogbnVsbCxcclxuICAgIGxhcmdlOiBudWxsXHJcbikgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmc6IChcclxuICAgIHNtYWxsOiAwIDAgc3BhY2luZy12YWx1ZSgkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbiwgMyksXHJcbiAgICBsYXJnZTogMCAwIDMwcHhcclxuKSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXdlaWdodDogJGZvb3Rlci1wYXJlbnQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XHJcbiRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC1zaXplOiAkZm9vdGVyLXBhcmVudC1mb250LXNpemUgIWRlZmF1bHQ7XHJcbi8vJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGVyLW1hcmdpbjogMCAwICRmb290ZXItbGlzdC1tYXJnaW4tdG9wICFkZWZhdWx0O1xyXG4kZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWNvbG91cjogbWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBkZWZhdWx0KSAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZDogZmFsc2UgIWRlZmF1bHQ7XHJcbkBpZiAkZm9vdGVyLXNvY2lhbC1pY29ucy1zdXBwcmVzcy1iYWNrZ3JvdW5kIHtcclxuICAgIC8vIER1ZSB0byBzdXBwcmVzc2luZyB0aGUgYmFja2dyb3VuZCB0aGUgaWNvbnMgbWF5IGNvbmZsaWN0IHdpdGggdGhlIGZvb3RlciBiYWNrZ3JvdW5kIGlmIG9uZSBpcyBzZXQgc28geW91IG1heSB3YW50IHRvIG1hbnVhbGx5IG92ZXJyaWRlIHRoZXNlIGNvbG91cnMuXHJcbiAgICAkZm9vdGVyLXNvY2lhbC1pY29ucy1jb2xvdXI6IChcclxuICAgICAgICBkZWZhdWx0OiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBkZWZhdWx0KSxcclxuICAgICAgICBob3ZlcjogbWFwLWdldCgkc29jaWFsLWljb25zLWNvbG91ciwgaG92ZXIpLCBcclxuICAgICAgICBhY3RpdmU6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGFjdGl2ZSlcclxuICAgICkgIWRlZmF1bHQ7XHJcbn1cclxuJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTogZmxleC1zdGFydCAhZGVmYXVsdDtcclxuJGZvb3Rlci1zb2NpYWwtc3VwcHJlc3MtY29udGFpbmVyLXNlcGVyYXRvcjogZmFsc2UgIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSAgNDA0ICggZXJyb3Igbm90IGZvdW5kICkgLS0tLS1cclxuJG5vdC1mb3VuZC1sb2dvLXNpemU6IChcclxuICAgIHdpZHRoOiAyMDBweCxcclxuICAgIGhlaWdodDogMTAwcHhcclxuKSAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1iYWNrZ3JvdW5kOiB0cnVlICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWJhY2tncm91bmQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLWltYWdlOiAkc2hhcmVkLWljb25zLWRpcmVjdG9yeSArICc0MDQuc3ZnJyAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLXJlcGVhdDogdHJ1ZSAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLXNpemU6IDkwcHggMzBweCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1oZWFkaW5nLTEtZm9udC1zaXplOiAyMDAgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0xLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0xLWNvbG91cjogJGNvbG91cjQgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0yLWZvbnQtc2l6ZTogNjAgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0yLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy0yLWNvbG91cjogJGNvbG91cjYgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy1wYXJhZ3JhcGgtc2l6ZTogMjQgIWRlZmF1bHQ7XHJcbiRub3QtZm91bmQtaGVhZGluZy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1wYXJhZ3JhcGgtY29sb3VyOiAkY29sb3VyNCAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci13aWR0aDogKFxyXG4gICAgc21hbGw6IDkwdncsXHJcbiAgICBsYXJnZTogODAwcHhcclxuKSAhZGVmYXVsdDtcclxuJG5vdC1mb3VuZC1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nOiAyMHB4ICFkZWZhdWx0O1xyXG4kbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyOiByZ2JhKCRjb2xvdXIxLCAwLjgpICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tLS0gQXhpcyBDb3VudGRvd24gLS0tLS0gXHJcbiRjb3VudGRvd24tZGlzcGxheS1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kY291bnRkb3duLWRpc3BsYXktY29sb3VyOiAoXHJcbiAgICBkZWZhdWx0OiAkY29sb3VyNCxcclxuICAgIHdhcm5pbmc6ICRjb2xvdXI2LFxyXG4gICAgYWxlcnQ6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMClcclxuKSAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLS0tIEVxdWlwbWVudCBzZWxlY3RvciAtLS0tLSBcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1ib3gtc2hhZG93OiBudWxsICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctc2l6ZTogMjYgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXdlaWdodDogNDAwICFkZWZhdWx0O1xyXG4kZXF1aXBtZW50LXNlbGVjdG9yLWhlYWRpbmctY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWVuYWJsZS1ncmFkaWVudDogdHJ1ZSAhZGVmYXVsdDtcclxuJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50OiAoXHJcbiAgICBjb2xvdXItMTogJGNvbG91cjMtMSxcclxuICAgIGNvbG91ci0yOiAkY29sb3VyMy02XHJcbikgIWRlZmF1bHQ7XHJcbiRlcXVpcG1lbnQtc2VsZWN0b3ItbGlzdC1pdGVtLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XHJcblxyXG4vLyAtLS0tLSBQaWNrICYgTWl4IC0tLS0tXHJcbi8vIC0tLSBIZWFkZXIgLS0tXHJcbiRwaWNrLW4tbWl4LWhlYWRpbmctc2l6ZTogMzUgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRpbmctZm9udC1zdHlsZTogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtc3R5bGUgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRpbmctZm9udC13ZWlnaHQ6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1mb250LXdlaWdodCAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXI6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWNvbG91cjogJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LXNlcGVyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGVyLWJhY2tncm91bmQtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDMwcHggMTBweCxcclxuICAgIGxhcmdlOiAyMHB4IDEwcHhcclxuKSAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXI2ICFkZWZhdWx0O1xyXG4kcGljay1uLW1peC1iYWNrZ3JvdW5kLWVuYWJsZS1ncmFkaWVudDogJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWVuYWJsZS1ncmFkaWVudCAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtcGFkZGluZzogKFxyXG4gICAgc21hbGw6IDAgMCAyNXB4LFxyXG4gICAgbGFyZ2U6IDAgMCA1MHB4XHJcbikgIWRlZmF1bHQ7XHJcbi8vIC0tLSBTZWxlY3RvcnMgLS0tXHJcbi8vIFdpZHRoIG9ubHkgaW4gZGVza3RvcC5cclxuJHBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyLXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aCAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tY29sb3VyOiAkcGljay1uLW1peC1oZWFkaW5nLWNvbG91ciAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tZm9udC1zaXplOiAxOCAhZGVmYXVsdDtcclxuJHBpY2stbi1taXgtc2xpZGVyLW1hcmdpbjogKFxyXG4gICAgc21hbGw6IDAgMjBweCxcclxuICAgIGxhcmdlOiAwIDQwcHhcclxuKSAhZGVmYXVsdDtcclxuXHJcblxyXG5cclxuLyoqIFxyXG4gICAgLS0tLS0gRW1haWwgVGVtcGxhdGVzIC0tLS0tIFxyXG5cclxuICAgIFRISU5LIS4uLi4uLiBMSUtFIFJFQUxMWSBUSElOSyBPVVRMT09LIEJFRk9SRSBNQUtJTkcgQ0hBTkdFUywgdGhpbmdzIHRoYXQgdGhlc2UgdmFyaWFibGVzIHdpbGwgZWZmZWN0OiBcclxuICAgIC0gRnJhZ21lbnRzICggYXJlIGNvbG91cnMgZ2VuZXJpYyApIFxyXG4gICAgLSBPdXRsb29rIFxyXG4gICAgLSBEaXBsb21hdCBlbWFpbCBwYXJhbWV0ZXJzXHJcblxyXG4qKi9cclxuJGVtYWlsLXRlbXBsYXRlLWJhY2tncm91bmQtY29sb3VyOiAjZTBlMGUwICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtY29udGVudC1jb250YWluZXI6IDY3MHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtY29udGVudC1jb250YWluZXItY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLWNvbnRlbnQtY29udGFpbmVyLWJvcmRlcjogMjBweCBzb2xpZCAkZW1haWwtdGVtcGxhdGUtY29udGVudC1jb250YWluZXItY29sb3VyICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtcHJpY2UtY29sLXdpZHRoOiAxMzBweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtZ3V0dGVyLXdpZHRoOiAzMHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNiAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLWhlYWRpbmctY29sb3VyOiAkY29sb3VyMSAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtaGVhZGluZy1jb2xvdXI6ICRjb2xvdXIyICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItZGV0YWlscy1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtNSAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtaGVhZGluZy1mb250LXNpemU6IDIycHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1kZXRhaWxzLWhlYWRpbmctYm9yZGVyLWNvbG91cjogJGNvbG91cjMtMiAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWl0ZW1zLXRhYmxlLWhlYWQtY29sb3VyOiAkY29sb3VyMiAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWl0ZW1zLXRhYmxlLWhlYWQtZm9udC1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItaXRlbXMtdGFibGUtaGVhZC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xyXG4kZW1haWwtdGVtcGxhdGUtb3JkZXItc3VtbWFyeS1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjogJGVtYWlsLXRlbXBsYXRlLW9yZGVyLWRldGFpbHMtYmFja2dyb3VuZC1jb2xvdXIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWhpZ2hsaWdodGVkLWNvbG91cjogJGNvbG91cjIgIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1vcmRlci1zdW1tYXJ5LWhpZ2hsaWdodGVkLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktaGlnaGxpZ2h0ZWQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW9yZGVyLXN1bW1hcnktZm9udC1zaXplOiAxNHB4ICFkZWZhdWx0O1xyXG4vLyAtLS0gRW1haWwgYnV0dG9ucyAtLS1cclxuJGVtYWlsLWJ1dHRvbi13aWR0aDogMjIwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC1idXR0b24tcGFkZGluZzogMTVweCAyMHB4ICFkZWZhdWx0O1xyXG4kZW1haWwtYnV0dG9uLWZvbnQtd2VpZ2h0OiA3MDAgIWRlZmF1bHQ7XHJcbiRlbWFpbC1idXR0b24tZm9udC1zaXplOiAxNXB4ICFkZWZhdWx0O1xyXG5cclxuLy8gUHJpbWFyeVxyXG4kZW1haWwtYnV0dG9uLXByaW1hcnktY29sb3VyOiAkY29sb3VyMy02ICFkZWZhdWx0O1xyXG4kZW1haWwtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIzLTEgIWRlZmF1bHQ7XHJcbi8vIFNlY29uZGFyeVxyXG4kZW1haWwtYnV0dG9uLXNlY29uZGFyeS1jb2xvdXI6ICRjb2xvdXIxICFkZWZhdWx0O1xyXG4kZW1haWwtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtMyAhZGVmYXVsdDtcclxuXHJcbi8vIC0tLSBNYWlsaW5nIGxpc3QgdGVtcGxhdGVzIC0tLVxyXG4kZW1haWwtdGVtcGxhdGUtbWFpbGluZy1saXN0LXdpZHRoOiA2NTBweCAhZGVmYXVsdDtcclxuJGVtYWlsLXRlbXBsYXRlLW1haWxpbmctbGlzdC1jb250ZW50LWNvbnRhaW5lci13aWR0aDogNTkwcHggIWRlZmF1bHQ7XHJcbiRlbWFpbC10ZW1wbGF0ZS1tYWlsaW5nLWxpc3QtZm9udC1mYW1pbHk6IChcclxuICAgIHRlbXBsYXRlLTE6IFwiQXJpYWxcIlxyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcblxyXG5cclxuXHJcbiIsIlxyXG5cclxuLy8tLS0tLSBIZWFkaW5ncyAtLS0tIFxyXG4vLyBVc2VkIHRvIGJyZWFrIGNvbnRlbnQgb250byBtdWx0aXBsZSBsaW5lcyBpbiBtb2JpbGUgYnV0IGluIGRlc2t0b3AgaXRzIHVzZWQgdG8gYnJlYWsgY29udGVudCB1cCB3aGlsc3QgcmVtYWluaW5nIG9uIHRoZSBzYW1lIGxpbmUuXHJcbi5tb2JpbGUtYnJlYWsge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDhweDtcclxuICAgIH1cclxufVxyXG5cclxuLnBhZ2UtaGVhZGluZy1tb2R1bGUge1xyXG4gICBoMSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0xKSA9PSBcImNlbnRlclwiKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMSkgPT0gXCJyaWdodFwiKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuICAgICYucHJlc2V0MSB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRpbmctMS11bmRlcmxpbmUsIHByZXNldC0xKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdVbmRlckxpbmUoMSwgbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgZGVmYXVsdCksICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgfSBcclxufVxyXG5cclxuLy8gVGhpcyBpcyB0byBvdmVycmlkZSBGb3VuZGF0aW9uJ3Mgbm9ybWFsaXplci5zY3NzLCB0aGVyZSBpcyBubyBjb25maWd1cmF0aW9uIHdpdGhpbiBzZXR0aW5ncy5zY3NzIHRvIGhhbmRsZSB0aGlzIGFuZCB3ZSBjYW5ub3QgdXNlICFpbXBvcnRhbnQuXHJcbmJvZHkge1xyXG4gICAgaDEge1xyXG4gICAgICAgIG1hcmdpbjogJGhlYWRpbmctMS1tYXJnaW47XHJcbiAgICB9XHJcbn1cclxuXHJcbmgxIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoMSkpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQxIHtcclxuICAgICAgICBtYXJnaW46ICRoZWFkaW5nLTEtbWFyZ2luO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXBhZGRpbmcsIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTEtcGFkZGluZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0xKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXdlaWdodCwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0xKTsgXHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC1hbGlnbiwgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTEtYm9yZGVyLXJhZGl1cywgcHJlc2V0LTEpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkaW5nLTEtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0xKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTEtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDIge1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLXBhZGRpbmcsIHByZXNldC0yKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTEtcGFkZGluZywgcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXNpemUsIHByZXNldC0yKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMS1mb250LXdlaWdodCwgcHJlc2V0LTIpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTEtdGV4dC10cmFuc2Zvcm0sIHByZXNldC0yKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LWFsaWduLCBwcmVzZXQtMikpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkaGVhZGluZy0xLXRleHQtYWxpZ24sIHByZXNldC0yKTtcclxuICAgICAgICB9IFxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTIpKSBhbmQgbm90IG1hcC1nZXQoJGhlYWRpbmctMS11bmRlcmxpbmUsIHByZXNldC0yKSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBwcmVzZXQtMik7XHJcbiAgICAgICAgfSBcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTIpKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMS1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGhlYWRpbmctMS1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMikpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkaGVhZGluZy0xLWJvcmRlci1yYWRpdXMsIHByZXNldC0yKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRpbmctMS11bmRlcmxpbmUsIHByZXNldC0yKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdVbmRlckxpbmUoMSwgbWFwLWdldCgkaGVhZGluZy0xLWNvbG91ciwgcHJlc2V0LTIpLCAkaGVhZGluZy0xLXJ1bGUtY29sb3VyLCBzcGFjaW5nLXZhbHVlKCRoZWFkaW5nLTEtcGFkZGluZywgMywgcHJlc2V0LTIpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRpbmctMS1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTIpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMS1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5oMiB7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDIpKTtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIEBpZiAkaGVhZGluZy0yLWZvbnQtc3R5bGUge1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRoZWFkaW5nLTItZm9udC1zdHlsZTtcclxuICAgIH1cclxuICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy0yLWxpbmUtaGVpZ2h0O1xyXG4gICAgJi5wcmVzZXQxIHtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTEpKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0yLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1iYWNrZ3JvdW5kLWNvbG91ciwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LWFsaWduLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSk7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIHdvcmQtc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLXdvcmQtc3BhY2luZywgcHJlc2V0LTEpO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRoZWFkaW5nLTItYm9yZGVyLWJvdHRvbSkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy0yLWJvcmRlci1ib3R0b207XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQyIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC0yKSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC0yKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC1zaXplLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRoZWFkaW5nLTItZm9udC13ZWlnaHQsIHByZXNldC0yKTtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMik7XHJcbiAgICAgICAgd29yZC1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItd29yZC1zcGFjaW5nLCBwcmVzZXQtMik7XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIGlzIGJhc2ljYWxseSB0aGUgcGFnZSBoZWFkaW5nIHN0eWxlcyB3aGVuIHdlIGNhbm5vdCB1c2UgYSBoMSAoIGkuZSBwcm9kdWN0IHBhZ2UgKVxyXG4gICAgJi5wcmVzZXQzIHtcclxuICAgICAgICBAaWYgbm90ICgkcGFnZS1oZWFkaW5nLXVuZGVybGluZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTMpKTtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTMpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0yLWZvbnQtc2l6ZSwgcHJlc2V0LTMpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0yLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMyk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMi10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTMpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0yLXRleHQtYWxpZ24sIHByZXNldC0zKSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC1hbGlnbiwgcHJlc2V0LTMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgd29yZC1zcGFjaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItd29yZC1zcGFjaW5nLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0zKSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC0zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItYm9yZGVyLXJhZGl1cywgcHJlc2V0LTMpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJGhlYWRpbmctMi1ib3JkZXItcmFkaXVzLCBwcmVzZXQtMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHBhZ2UtaGVhZGluZy11bmRlcmxpbmUpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ1VuZGVyTGluZSgxLCBtYXAtZ2V0KCRoZWFkaW5nLTItY29sb3VyLCBwcmVzZXQtMyksICRoZWFkaW5nLTEtcnVsZS1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgICYucHJlc2V0NCB7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGluZy0yLXBhZGRpbmcsIHByZXNldC00KTtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC00KSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC00KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTItYmFja2dyb3VuZC1jb2xvdXIsIHByZXNldC00KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXNpemUsIHByZXNldC00KSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMi1mb250LXdlaWdodCwgcHJlc2V0LTQpO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0yLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KSA9PSBcInVwcGVyY2FzZVwiKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBpZihtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC00KSA9PSBudWxsLDJweCxtYXAtZ2V0KCRoZWFkaW5nLTItbGV0dGVyLXNwYWNpbmcsIHByZXNldC00KSk7XHJcbiAgICAgICAgICAgIHdvcmQtc3BhY2luZzogMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKG1hcC1nZXQoJGhlYWRpbmctMi1tYXJnaW4sIHByZXNldC00KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbmgzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoMykpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGhlYWRpbmctMy1mb250LXdlaWdodCwgZGVmYXVsdCk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0zLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDEge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkaGVhZGluZy0zLW1hcmdpbiwgcHJlc2V0LTEpO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMy1wYWRkaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaGVhZGluZy0zLWJhY2tncm91bmQtY29sb3VyLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0zLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0zLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTMtbGV0dGVyLXNwYWNpbmcsIHByZXNldC0xKSkge1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0zLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0zLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMy1jb2xvdXIsIHByZXNldC0xKTtcclxuICAgIH1cclxuICAgICYucHJlc2V0MiB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkaGVhZGluZy0zLW1hcmdpbiwgcHJlc2V0LTIpO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMy1wYWRkaW5nLCBwcmVzZXQtMik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkaW5nLTMtZm9udC1zaXplLCBwcmVzZXQtMikpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGluZy0zLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtMikpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG1hcC1nZXQoJGhlYWRpbmctMy1sZXR0ZXItc3BhY2luZywgcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkaGVhZGluZy0zLXRleHQtdHJhbnNmb3JtLCBwcmVzZXQtMik7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMy1jb2xvdXIsIHByZXNldC0yKTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRjb21tb24taGVhZGluZy1ydWxlLXdlaWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwICN7JGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0fSAwO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLXJ1bGUtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5oNCB7XHJcbiAgICBjb2xvcjogJGhlYWRpbmctNC1jb2xvdXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDQpKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDQpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRoZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQpIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgfVxyXG59XHJcbmg1IHtcclxuICAgIGNvbG9yOiAkaGVhZGluZy01LWNvbG91cjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNSkpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNSk7XHJcbiAgICBmb250LWZhbWlseTogJGhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodCkge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1jb21tb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbn1cclxuaDYge1xyXG4gICAgY29sb3I6ICRoZWFkaW5nLTYtY29sb3VyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg2KSk7XHJcbiAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg2KTtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRoZWFkaW5nLWNvbW1vbi1sZXR0ZXItc3BhY2luZztcclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRpbmctY29tbW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWNvbW1vbi1saW5lLWhlaWdodDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQ2FsbG91dCB0eXBvZ3JhcGh5IC0tLS0tXHJcbi5jYWxsb3V0IHtcclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIGg1LCBwIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFVzZWQgZm9yIGFsaWduaW5nIHRleHQgY2VudGVyIC8gcmlnaHQuXHJcbi50ZXh0LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAvLyBNYWtlIHN1cmUgdGhpcyBnZXRzIHNldCB0byBhIGJsb2NrIGVsZW1lbnQgd2hlbiBpbml0aWFsbHkgbWVhc3VyaW5nLlxyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLy8gT25jZSBtZWFzdXJpbmcgaGFzIGNvbXBsZXRlZCBmbGV4Ym94IGlzIHRoZW4gdXNlZCwgYmFzZWxpbmUgbmVlZHMgdG8gZ2V0IHNldCB0byBrZWVwIHRoZSB0ZXh0IHZlcnRpY2FsbHkgaW5saW5lIHdpdGggb3RoZXIgY29sdW1ucy5cclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgLy8gT3RoZXJ3aXNlIGluIGZvciBsYXJnZSB0YWJsZXRzIHN1Y2ggYXMgSXBhZCdzIHRoZSBjb250YWluZXIgZ29lcyBpbiB0aGUgY2VudGVyIG9mIHRoZSBzY3JlZW4uXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxpZ24tbGVmdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBBbmNob3JzIC0tLS0gXHJcbmEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9ycy10ZXh0LWRlY29yYXRpb247XHJcbiAgICAvLyBNb3ZpbmcgdG8gQ1NTIHZhcmlhYmxlcyB0byBzdXBwb3J0IHNpdGUtc3R5bGUocykgODUwMjg4LlxyXG4gICAgLy8gY29sb3I6IG1hcC1nZXQoJGFuY2hvcnMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGNvbG9yOiB2YXIoI3tkZWZhdWx0LWNvbG91cigkYW5jaG9ycy1jb2xvdXIpfSwgJGNvbG91cjQpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRhbmNob3JzLWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkYW5jaG9ycy1mb250LXNpemUpO1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5lZGl0IHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBlZGl0KTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICB9XHJcbiAgICAmLm5ld3MtYnV0dG9uIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkY21zLW1vZHVsZS1zdXBwcmVzcy1saXN0LWJ1dHRvbiwgbmV3cykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgQGlmICgkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtYnV0dG9uLWxpbmstZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRjbXMtYnV0dG9uLWxpbmstZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBuZXdzKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbmV3cy1idXR0b24taWNvbi1zaXplKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYmxvZy1idXR0b24ge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBibG9nKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYnV0dG9uLWxpbmstZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1idXR0b24tbGluay1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGNtcy1idXR0b24tbGluay1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJsb2cpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRibG9nLWJ1dHRvbi1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXZlbnRzLWJ1dHRvbiB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIGV2ZW50cykge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstY29sb3VyKTtcclxuICAgICAgICAgICAgQGlmICgkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWJ1dHRvbi1saW5rLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtYnV0dG9uLWxpbmstZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRjbXMtYnV0dG9uLWxpbmstZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBldmVudHMpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRldmVudHMtYnV0dG9uLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY21zLWJ1dHRvbi1saW5rLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYnV0dG9uLWxpbmstaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1idXR0b24tbGluay1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV4dGVybmFsLWxpbmstaWNvbiB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGV4dGVybmFsLWxpbmstaWNvbik7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3JzLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcclxuICAgICAgICAvLyBNb3ZpbmcgdG8gQ1NTIHZhcmlhYmxlcyB0byBzdXBwb3J0IHNpdGUtc3R5bGUocykgODUwMjg4LlxyXG4gICAgICAgIC8vY29sb3I6IG1hcC1nZXQoJGFuY2hvcnMtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgY29sb3I6IHZhcigje2hvdmVyLWNvbG91cigkYW5jaG9ycy1jb2xvdXIpfSwgJGNvbG91cjYpO1xyXG4gICAgICAgIG9wYWNpdHk6ICRrbm9ja0JhY2syO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICAvLyBNb3ZpbmcgdG8gQ1NTIHZhcmlhYmxlcyB0byBzdXBwb3J0IHNpdGUtc3R5bGUocykgODUwMjg4LlxyXG4gICAgICAgIC8vY29sb3I6IG1hcC1nZXQoJGFuY2hvcnMtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoI3thY3RpdmUtY29sb3VyKCRhbmNob3JzLWNvbG91cil9LCAkY29sb3VyMy02KTtcclxuICAgIH1cclxuICAgIC8vIFRPRE86IFRoaXMgY2FuIGJlIHBoYXNlZCBvdXQgdXNlIGF0dGFjaG1lbnQtY29udGFpbmVyIGluc3RlYWQuXHJcbiAgICAmLnBkZi1kb3dubG9hZCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHBkZik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHBkZi10YWJsZS1hbmNob3ItbWFyZ2luO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICgkZmlsZS1pY29ucy1zaXplIC8gMS4zKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHBkZik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gTGlzdHMgLS0tLS0gXHJcbm9sIHtcclxuICAgIGxpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBTZXBlcmF0b3JzIC0tLS0tLSBcclxuaHIge1xyXG4gICAgJi5tb2JpbGUtc2VwZXJhdG9yIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBBZGRyZXNzIEZvcm1hdHRpbmcgLS0tLS1cclxuYWRkcmVzcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLy8gSWYgdGhpcyBpcyBtYWRlIGNvbmZpZ3VyYWJsZSBpbiB0aGUgZnV0dXJlIHRoZW4gcmVjaGVjayBjaGVja291dCBjb21wbGV0ZSBkZWxpdmVyeSAgYWRkcmVzcyBmb250IHN0eWxlIHRvIG1ha2Ugc3VyZSBpdCBpcyBjb25zaXN0ZW50IHdpdGggb3JkZXIgZGV0YWlscy5cclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBJY29ucyAtLS0tLVxyXG4vLyBEdWUgdG8gZGVza3RvcCBoYXZpbmcgYWNjZXNzIHRvIHRvb2x0aXBzICggdGl0bGUgYXR0cmlidXRlICkgd2UgbmVlZCBhIG1lY2hhbmlzbSB0byBkaXNwbGF5IHRoaXMgZm9yIG1vYmlsZSBkZXZpY2VzIGR1ZSB0byB0aGUgYWJzZW5jZSBvZiB0aGUgaG92ZXIgc3RhdGUuXHJcbnNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgLmljb24tdGV4dCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gUHJpY2luZyAtLS0tLS0gXHJcbkBpbmNsdWRlIHByaWNlKCk7XHJcblxyXG4vLyAtLS0tLSBIb3Jpem9udGFsIFJ1bGVzIC0tLS0tLVxyXG5ociB7XHJcbiAgICBtYXJnaW46IDI1cHggMDtcclxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1zaXplOiBudWxsO1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIFwic21hbGxcIjogMCxcbiAgXCJtZWRpdW1cIjogNjQwcHgsXG4gIFwibGFyZ2VcIjogMTAyNHB4LFxuICBcInhsYXJnZVwiOiAxMjAwcHgsXG4gIFwieHhsYXJnZVwiOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIEhpRFBJIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzIGZvciByZXNvbHV0aW9ucy5cbi8vLyBWYWx1ZXMgbXVzdCByZXByZXNlbnQgdGhlIGRldmljZSBwaXhlbHMgLyB3ZWIgcGl4ZWxzIHJhdGlvbiBhbmQgYmUgdW5pdGxlc3Mgb3IgaW4gRFBQWC5cbi8vLyBAdHlwZSBNYXBcbiRicmVha3BvaW50cy1oaWRwaTogKFxuICBcImhpZHBpLTFcIjogMSxcbiAgXCJoaWRwaS0xLTVcIjogMS41LFxuICBcImhpZHBpLTJcIjogMixcbiAgXCJyZXRpbmFcIjogMixcbiAgXCJoaWRwaS0zXCI6IDNcbikgIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGFyZ2VzdCBuYW1lZCBicmVha3BvaW50IGluIHdoaWNoIHRvIGluY2x1ZGUgcHJpbnQgYXMgYSBtZWRpYSB0eXBlXG4vLy8gQHR5cGUgS2V5d29yZFxuJHByaW50LWJyZWFrcG9pbnQ6IGxhcmdlICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbiQtemYtYnJlYWtwb2ludHMta2V5czogbWFwLXRvLWxpc3QoJGJyZWFrcG9pbnRzLCAna2V5cycpO1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnVGhlIGZpcnN0IGtleSBpbiB0aGUgJGJyZWFrcG9pbnRzIG1hcCBtdXN0IGhhdmUgYSB2YWx1ZSBvZiBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gV2ViIHN0YW5kYXJkIFBpeGVscyBwZXIgaW5jaC4gKDFkZHB4IC8gJHN0ZC13ZWItZHBpKSA9IDFkcGlcbiAgLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtdmFsdWVzLTMvI2Fic29sdXRlLWxlbmd0aHNcbiAgJHN0ZC13ZWItZHBpOiA5NjtcblxuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgYnJlYWtwb2ludFxuICAkYnAtbmV4dDogbnVsbDtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1taW46IG51bGw7XG4gIC8vIFZhbHVlIGZvciBtaW4td2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiBudWxsO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gSWYgbmFtZWQsIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbiAgJG5hbWU6IG51bGw7XG4gIC8vIElmIHRoZSBicmVha3BvaW50IGlzIGEgSGlEUEkgYnJlYWtwb2ludFxuICAkaGlkcGk6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuXG4gIC8vIElmIGEgYnJlYWtwb2ludCBuYW1lIGlzIGdpdmVuLCBnZXQgaXRzIHZhbHVlIGZyb20gdGhlICRicmVha3BvaW50cy8kYnJlYWtwb2ludHMtaGlkcGkgbWFwLlxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgICRuYW1lOiAkYnA7XG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgICAkYnAtbmV4dDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH1cbiAgICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMtaGlkcGksICRicCkge1xuICAgICAgJG5hbWU6ICRicDtcbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMtaGlkcGksICRuYW1lKTtcbiAgICAgICRicC1uZXh0OiAtemYtbWFwLW5leHQtbnVtYmVyKCRicmVha3BvaW50cy1oaWRwaSwgJGJwKTtcbiAgICAgICRoaWRwaTogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciBgJGJyZWFrcG9pbnRzYCBvciBgJGJyZWFrcG9pbnRzLWhpZHBpYCBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgQGlmIG5vdCAkbmFtZSBhbmQgJGRpciA9PSAnb25seScge1xuICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBPbmx5ICdvbmx5JyBhbmQgJ3VwJyBoYXZlIGEgbWluIGxpbWl0LlxuICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAndXAnIHtcbiAgICAkYnAtbWluOiBpZigkaGlkcGksIHN0cmlwLXVuaXQoJGJwKSwgLXpmLWJwLXRvLWVtKCRicCkpO1xuICB9XG4gIC8vIE9ubHkgJ29ubHknIGFuZCAnZG93bicgaGF2ZSBhIG1heCBsaW1pdC5cbiAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBJZiB0aGUgYnJlYWtwb2ludCBpcyBhIHZhbHVlLCB1c2UgaXQgYXMgbWF4IGxpbWl0LlxuICAgIEBpZiBub3QgJG5hbWUge1xuICAgICAgJGJwLW1heDogaWYoJGhpZHBpLCBzdHJpcC11bml0KCRicCksIC16Zi1icC10by1lbSgkYnApKTtcbiAgICB9XG4gICAgLy8gSWYgdGhlIGJyZWFrcG9pbnQgaXMgbmFtZWQsIHRoZSBtYXggbGltaXQgaXMgdGhlIGZvbGxvd2luZyBicmVha3BvaW50IC0gMXB4LlxuICAgIEBlbHNlIGlmICRicC1uZXh0IHtcbiAgICAgIC8vIE1heCB2YWx1ZSBpcyAwLjJweCB1bmRlciB0aGUgbmV4dCBicmVha3BvaW50ICgwLjAyIC8gMTYgPSAwLjAwMTI1KS5cbiAgICAgIC8vIFVzZSBhIHByZWNpc2lvbiB1bmRlciAxcHggdG8gc3VwcG9ydCBicm93c2VyIHpvb20sIGJ1dCBub3QgdG8gbG93IHRvIGF2b2lkIHJvdW5kaW5nLlxuICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICAgICAkYnAtbWF4OiBpZigkaGlkcGksICRicC1uZXh0IC0gZGl2aWRlKDEsICRzdGQtd2ViLWRwaSksIC16Zi1icC10by1lbSgkYnAtbmV4dCkgLSAwLjAwMTI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBHZW5lcmF0ZSB0aGUgbWVkaWEgcXVlcnkgc3RyaW5nIGZyb20gbWluIGFuZCBtYXggbGltaXRzLlxuICBAaWYgJGhpZHBpIHtcbiAgICAvLyBHZW5lcmF0ZSB2YWx1ZXMgaW4gRFBJIGluc3RlYWQgb2YgRFBQWCBmb3IgYW4gSUU5LTExL09wZXJhIG1pbmkgY29tcGF0aWJpbGl0eS5cbiAgICAvLyBTZWUgaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICAgICRicC1taW4tZHBpOiBpZigkYnAtbWluLCAkYnAtbWluICogJHN0ZC13ZWItZHBpICogMWRwaSwgJGJwLW1pbik7XG4gICAgJGJwLW1heC1kcGk6IGlmKCRicC1tYXgsICRicC1tYXggKiAkc3RkLXdlYi1kcGkgKiAxZHBpLCAkYnAtbWF4KTtcbiAgICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgICAgLXpmLWJwLWpvaW4oJGJwLW1pbiwgJGJwLW1heCwgJy13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbycsICctd2Via2l0LW1heC1kZXZpY2UtcGl4ZWwtcmF0aW8nKSxcbiAgICAgIC16Zi1icC1qb2luKCRicC1taW4tZHBpLCAkYnAtbWF4LWRwaSwgJ21pbi1yZXNvbHV0aW9uJywgJ21heC1yZXNvbHV0aW9uJyksXG4gICAgICAnLCAnKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAtemYtYnAtam9pbigkYnAtbWluLCAkYnAtbWF4KTtcbiAgfVxufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIGFuZCBgJGJyZWFrcG9pbnRzLWhpZHBpYCBtYXBzLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gSWYgbXVsdGlwbGUgdmFsdWVzIGFyZSBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGdlbmVyYXRlIGEgbWVkaWEgcXVlcnkgZm9yIGVhY2ggb2YgdGhlbSBhcyBkZXNjcmliZWQgYWJvdmUuXG4vLy8gU2luY2UgdGhlIGNvbnRlbnQgaXMgZHVwbGljYXRlZCBmb3IgZWFjaCBicmVha3BvaW50LCB0aGlzIG1peGluIHNob3VsZCBvbmx5IGJlIHVzZWQgd2l0aCBwcm9wZXJ0aWVzIHRoYXRcbi8vLyBjaGFuZ2UgYWNyb3NzIGJyZWFrcG9pbnRzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlcy4uLiAtIEJyZWFrcG9pbnQgbmFtZSBvciBweC9yZW0vZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlcy4uLikge1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdmFsdWVzKSB7XG4gICAgJHZhbHVlOiBudGgoJHZhbHVlcywgJGkpO1xuICAgICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcbiAgICAkYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgbnRoKCR2YWx1ZSwgMSkpO1xuICAgICRwYnA6IGluZGV4KCQtemYtYnJlYWtwb2ludHMta2V5cywgJHByaW50LWJyZWFrcG9pbnQpO1xuICAgIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICAgJGRpcjogaWYobGVuZ3RoKCR2YWx1ZSkgPiAxLCBudGgoJHZhbHVlLCAyKSwgdXApO1xuXG4gICAgJG9sZC16Zi1zaXplOiBudWxsO1xuXG4gICAgLy8gTWFrZSBicmVha3BvaW50IHNpemUgYXZhaWxhYmxlIGFzIGEgdmFyaWFibGVcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogbnRoKCR2YWx1ZSwgMSkgIWdsb2JhbDsgLy8gZ2V0IHRoZSBmaXJzdCB2YWx1ZSB0byBhY2NvdW50IGZvciBgb25seWAgYW5kIGBkb3duYCBrZXl3b3Jkc1xuXG4gICAgLy8gSWYgJHN0ciBpcyBzdGlsbCBhbiBlbXB0eSBzdHJpbmcsIG5vIG1lZGlhIHF1ZXJ5IGlzIG5lZWRlZFxuICAgIEBpZiAkc3RyID09ICcnIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cblxuICAgIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gICAgQGVsc2Uge1xuICAgICAgLy8gRm9yIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiBvciBlcXVhbCB0byAkcHJpbnQtYnJlYWtwb2ludCwgYWRkIHByaW50IHRvIHRoZSBtZWRpYSB0eXBlc1xuICAgICAgLy8gZ2VuZXJhdGUgcHJpbnQgaWYgdGhlIGJyZWFrcG9pbnQgYWZmZWN0cyB0aGUgcHJpbnQtYnJlYWtwb2ludCAob3Igc21hbGxlcikuXG4gICAgICAvLyBUaGlzIG1lYW5zIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBvbmx5IG5lZWRzIHRvIGJlIGV4dGVuZGVkIHNvICdkb3duJyBhbHdheXMgZ2VuZXJhdGVzIHByaW50LlxuICAgICAgQGlmICRicCAhPSBudWxsIGFuZCAoJGJwIDw9ICRwYnAgb3IgJGRpciA9PSBkb3duKSB7XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICQtemYtc2l6ZTogJG9sZC16Zi1zaXplICFnbG9iYWw7XG4gIH1cbn1cblxuLy8vIENvbnZlcnRzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBGaW5kIHRoZSBuZXh0IG51bWJlciBpbiBhIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHRyYXZlcnNlLlxuLy8vIEBwYXJhbSB7TWl4ZWR9ICRudW1iZXIgLSBOdW1iZXIgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TWl4ZWR9IFRoZSBudW1iZXIgZm9sbG93aW5nIGAkbnVtYmVyYCwgaWYgYCRudW1iZXJgIHdhcyBmb3VuZC4gSWYgYCRudW1iZXJgIHdhcyBub3QgZm91bmQsIG9yIGAkbnVtYmVyYCB3YXMgdGhlIGJpZ2dlc3QgbnVtYmVyIGluIHRoZSBtYXAsIHJldHVybnMgYG51bGxgLlxuQGZ1bmN0aW9uIC16Zi1tYXAtbmV4dC1udW1iZXIoJG1hcCwgJG51bWJlcikge1xuXG4gICRuZXh0LW51bWJlcjogbnVsbDtcblxuICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09ICdudW1iZXInIGFuZCAkdiA+ICRudW1iZXIgYW5kICgkbmV4dC1udW1iZXIgPT0gbnVsbCBvciAkdiA8ICRuZXh0LW51bWJlcikge1xuICAgICAgJG5leHQtbnVtYmVyOiAkdjtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXh0LW51bWJlcjtcbn1cblxuLy8vIFJldHVybiBhIGxpc3Qgb2Ygb3VyIG5hbWVkIGJyZWFrcG9pbnRzIGxlc3MgdGhhbiAka2V5LiBVc2VmdWwgZm9yIGRlYWxpbmcgd2l0aFxuLy8vIHJlc3BvbnNpdmUgZ3V0dGVycyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGtleSAtIEtleSB0byB1c2UgYXMgbGFzdCBicmVha3BvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge0FycmF5fSBUaGUgbGlzdCBvZiBicmVha3BvaW50cyB1cCB0byBhbmQuIElmICRrZXkgaXMgYXV0bywgcmV0dXJucyBicmVha3BvaW50cyBhYm92ZSB0aGUgemVyb1xuQGZ1bmN0aW9uIC16Zi1icmVha3BvaW50cy1sZXNzLXRoYW4oJGtleSkge1xuICAkbGlzdDogKCk7XG4gICRmb3VuZC1rZXk6IGZhbHNlO1xuXG4gIEBlYWNoICRuYW1lIGluICQtemYtYnJlYWtwb2ludHMta2V5cyB7XG4gICAgQGlmICgkbmFtZSA9PSAka2V5KSB7XG4gICAgICAkZm91bmQta2V5OiB0cnVlO1xuICAgIH1cbiAgICBAaWYgbm90ICRmb3VuZC1rZXkge1xuICAgICAgJGxpc3Q6IGFwcGVuZCgkbGlzdCwgJG5hbWUpO1xuICAgIH1cbiAgfVxuICBAcmV0dXJuICRsaXN0O1xufVxuXG4vLy8gUmV0dXJuIGEgbGlzdCBvZiBvdXIgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuICRrZXkuIFVzZWZ1bCBmb3IgZGVhbGluZyB3aXRoXG4vLy8gcmVzcG9uc2l2ZSBndXR0ZXJzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCAtIGEgbmFtZWQgb3Igbm9uLW5hbWVkIGJyZWFrcG9pbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7QXJyYXl9IFRoZSBsaXN0IG9mIGJyZWFrcG9pbnRzIHVwIHRvIGFuZC4gSWYgJGtleSBpcyBhdXRvLCByZXR1cm5zIGJyZWFrcG9pbnRzIGFib3ZlIHRoZSB6ZXJvXG5AZnVuY3Rpb24gLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAkbGFzdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQ7XG4gICRmb3VuZDogZmFsc2U7XG5cbiAgJHZhbHVlOiB1bml0bGVzcy1jYWxjKCRicmVha3BvaW50LCAxcHgpO1xuICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgQGlmIHVuaXRsZXNzLWNhbGMoJHZhbCkgPiAkdmFsdWUge1xuICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJGxhc3Q6ICRrZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbGFzdDtcbn1cblxuLy8vIEdldCBhIHZhbHVlIGZvciBhIGJyZWFrcG9pbnQgZnJvbSBhIHJlc3BvbnNpdmUgY29uZmlnIG1hcCBvciBzaW5nbGUgdmFsdWUuXG4vLy8gLSBJZiB0aGUgY29uZmlnIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXQgcmVnYXJkbGVzcyBvZiBgJHZhbHVlYC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBtYXAgYW5kIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gUmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSB0byB1c2UuXG4vLy9cbi8vLyBAcmV0dXJuIHtNaXhlZH0gVGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZS5cbkBmdW5jdGlvbiAtemYtZ2V0LWJwLXZhbCgkbWFwLCAkdmFsdWUpIHtcbiAgLy8gSWYgdGhlIGdpdmVuIG1hcCBpcyBhIHNpbmdsZSB2YWx1ZSwgcmV0dXJuIGl0XG4gIEBpZiB0eXBlLW9mKCRtYXApID09ICdudW1iZXInIHtcbiAgICBAcmV0dXJuICRtYXA7XG4gIH1cblxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICR2YWx1ZTogLXpmLWNsb3Nlc3QtbmFtZWQtYnJlYWtwb2ludCgkdmFsdWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBpbiB0aGUgbG9jYWwgY29uZmlnIG1hcFxuICBAZWxzZSBpZiBtYXAtaGFzLWtleSgkbWFwLCAkdmFsdWUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJHZhbHVlKTtcbiAgfVxuICAvLyBPdGhlcndpc2UsIGZpbmQgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgYW5kIHJldHVybiB0aGF0IHZhbHVlXG4gIEBlbHNlIHtcbiAgICAkYW5jaG9yOiBudWxsO1xuICAgICRmb3VuZDogZmFsc2U7XG5cbiAgICBAZWFjaCAka2V5LCAkdmFsIGluICRicmVha3BvaW50cyB7XG4gICAgICBAaWYgbm90ICRmb3VuZCB7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgJGFuY2hvcjogJGtleTtcbiAgICAgICAgfVxuICAgICAgICBAaWYgJGtleSA9PSAkdmFsdWUge1xuICAgICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkYW5jaG9yKTtcbiAgfVxufVxuXG4vLy8gUmV0dXJuIHRoZSBiZXN0IGJyZWFrcG9pbnQgdG8gdXNlIGFjY29yZGluZyB0byB0aGUgY2FsbGluZyBjb250ZXh0LiBJdCByZXR1cm5zIGluIG9yZGVyOlxuLy8vIDEuIHRoZSBnaXZlbiBgJHZhbHVlYCBhcmd1bWVudCBpZiBpdCBpcyBub3QgbnVsbC5cbi8vLyAyLiB0aGUgZ2xvYmFsIGJyZWFrcG9pbnQgY29udGV4dCBgJC16Zi1zaXplYCBpZiBpdCBpcyBub3QgbnVsbCAobGlrZSBpZiBjYWxsZWQgaW5zaWRlIHRoZW4gYGJyZWFrcG9pbnQoKWAgbWl4aW4pXG4vLy8gMy4gdGhlIGdpdmVuIGAkZGVmYXVsdGAgYXJndW1lbnQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR2YWx1ZSBbbnVsbF0gLSBCcmVha3BvaW50IHRvIHVzZSBpbiBwcmlvcml0eSBpZiBub24tbnVsbC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkZWZhdWx0IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGJ5IGRlZmF1bHQgaWYgbm8gb3RoZXIgdmFsdWUgY2FuIGJlIHVzZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtLZXl3b3JkfSBUaGUgcmVzb2x2ZWQgYnJlYWtwb2ludC5cbkBmdW5jdGlvbiAtemYtY3VycmVudC1icmVha3BvaW50KCR2YWx1ZTogbnVsbCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgQGlmICgkdmFsdWUgIT0gbnVsbCkge1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG4gIEBlbHNlIGlmICh2YXJpYWJsZS1leGlzdHMoLXpmLXNpemUpIGFuZCB0eXBlLW9mKCQtemYtc2l6ZSkgIT0gJ251bWJlcicpIGFuZCAkLXpmLXNpemUgIT0gbnVsbCB7XG4gICAgQHJldHVybiAkLXpmLXNpemU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gIH1cbn1cblxuLy8vIFJldHVybiBtZWRpYSBxdWVyeSBzdHJpbmcgZnJvbSB0aGUgZ2l2ZW4gbWluIGFuZC9vciBtYXggbGltaXRzLlxuLy8vIElmIGEgbGltaXQgaXMgZXF1YWwgdG8gYG51bGxgIG9yIGAwYCwgaXQgaXMgaWdub3JlZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWluIFswXSAtIE1pbiBtZWRpYSBxdWVyeSBsaW1pdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCBbMF0gLSBNYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRtaW4tbmFtZSBbJ21pbi13aWR0aCddIC0gTmFtZSBvZiB0aGUgbWluIG1lZGlhIHF1ZXJ5IGxpbWl0LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVsaW1pdGVyIFsnbWF4LXdpZHRoJ10gLSBOYW1lIG9mIHRoZSBtYXggbWVkaWEgcXVlcnkgbGltaXQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBNZWRpYSBRdWVyeSBzdHJpbmcuXG5AZnVuY3Rpb24gLXpmLWJwLWpvaW4oXG4gICRtaW46IDAsXG4gICRtYXg6IDAsXG4gICRtaW4tbmFtZTogJ21pbi13aWR0aCcsXG4gICRtYXgtbmFtZTogJ21heC13aWR0aCdcbikge1xuICBAcmV0dXJuIHpmLXN0ci1qb2luKFxuICAgIGlmKCRtaW4gYW5kICRtaW4gPiAwLCAnKCN7JG1pbi1uYW1lfTogI3skbWlufSknLCBudWxsKSxcbiAgICBpZigkbWF4IGFuZCAkbWF4ID4gMCwgJygjeyRtYXgtbmFtZX06ICN7JG1heH0pJywgbnVsbCksXG4gICAgJyBhbmQgJyk7XG59XG5cbiRzbWFsbC11cDogJyc7XG4kc21hbGwtb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbiRtZWRpdW0tdXA6ICcnO1xuJG1lZGl1bS1vbmx5OiAnJztcblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG4kbGFyZ2UtdXA6ICcnO1xuJGxhcmdlLW9ubHk6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG4keGxhcmdlLXVwOiAnJztcbiR4bGFyZ2Utb25seTogJyc7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuJHh4bGFyZ2UtdXA6ICcnO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vLS0tLS0gRGlyZWN0aW9ucyAtLS0tLVxyXG4kcG9pbnRVcDogLTEzNWRlZztcclxuJHBvaW50RG93bjogNDVkZWc7XHJcbiRwb2ludFJpZ2h0OiAtNDNkZWc7XHJcbiRwb2ludExlZnQ6IC0yMjNkZWc7XHJcblxyXG5cclxuLy8tLS0tLSBCYW5uZXIgT3ZlcmxheXMgLS0tLS0gXHJcbkBtaXhpbiBvdmVybGF5QmFubmVyKCR3aWR0aCwgJGJnQ29sb3VyOiAnJywgJGNvbG91cjogJyNmZmZmZicpIHtcclxuICAgIHdpZHRoOiAkd2lkdGg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnQ29sb3VyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICdcXGYwMDUnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICByaWdodDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0tLSBJY29ucyAtLS0tLVxyXG4vLy0tLSBDaGV2ZXJvbnMgLS0tXHJcbkBtaXhpbiBjaGV2cm9uMSgkY29sb3VyLCAkZGlyZWN0aW9uLCAkZGltZW5zaW9uczogXCJcIikge1xyXG4gICAgaGVpZ2h0OiAkZGltZW5zaW9ucztcclxuICAgIHdpZHRoOiAkZGltZW5zaW9ucztcclxuICAgIHBhZGRpbmc6IDNweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXI7XHJcbiAgICBib3JkZXItd2lkdGg6IDAgMnB4IDJweCAwO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoJGRpcmVjdGlvbik7XHJcbn1cclxuIFxyXG5AbWl4aW4gY2hldnJvbjMoJGNvbG91ciwgJHNpemUsICRhY3RpdmU6IGZhbHNlLCAkZGlyZWN0aW9uSW5BY3RpdmU6IDE4MGRlZywgJGRpcmVjdGlvbkFjdGl2ZTogMGRlZykge1xyXG4gICAgQGlmICgkYWN0aXZlID09IGZhbHNlKSB7XHJcbiAgICAgICAgY29udGVudDogJ1xcZjBkZSc7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgYXV0byAxMHB4O1xyXG4gICAgICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6ICN7JHNpemV9cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgjeyRkaXJlY3Rpb25JbkFjdGl2ZX0pO1xyXG5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCN7JGRpcmVjdGlvbkFjdGl2ZX0pO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLSBTb2NpYWwgLS0tIFxyXG5AbWl4aW4gc29jaWFsMSgkcHJpdmF0ZVVzZUFyZWEsICRjb2xvdXIsICRzaXplLCAkZm9udEZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEJyYW5kcycsICRpbnZlcnQ6IGZhbHNlKSB7XHJcbiAgICB3aWR0aDogKDIgKiAkc2l6ZSk7XHJcbiAgICBoZWlnaHQ6ICgyICogJHNpemUpO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgQGlmICgkaW52ZXJ0ID09IHRydWUpIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICRwcml2YXRlVXNlQXJlYTtcclxuICAgICAgICB3aWR0aDogKDEuMiAqICRzaXplKTtcclxuICAgICAgICBoZWlnaHQ6ICgxLjIgKiAkc2l6ZSk7XHJcbiAgICAgICAgLy8gcGFkZGluZzogMCAwIDAgMjclO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRGYW1pbHk7XHJcbiAgICAgICAgZm9udC1zaXplOiAkc2l6ZTtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gSW5wdXQgcmVhZC1vbmx5IC0tLVxyXG5AbWl4aW4gaW5wdXRSZWFkT25seSgkaWNvbi1jb2xvdXI6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZCkpIHtcclxuICAgICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgIGNvbG9yOiAkaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5vLWFjY2Vzcyk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogKHNwYWNpbmctdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXBhZGRpbmcsIDIsIGxhcmdlKSAvIDIgKyAxMHB4KTtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLS0tIEhlYWRpbmcgLS0tLS0gXHJcbi8vLS0tIFVuZGVyIGxpbmUgLS0tIFxyXG4vLyBoZWFkaW5nVW5kZXJMaW5lIHdhcyB0aGUgZmlyc3QgYXR0ZW1wdCBvZiB0aGlzIG1peGluIGJ1dCBoYWQgbm8gc3VwcG9ydCBmb3IgaG92ZXIsIGFjdGl2ZSBzdGF0ZXMgKyBoYWQgc3BlY2lmaWMgcGFkZGluZy5cclxuQG1peGluIGhlYWRpbmdVbmRlckxpbmUoJGRpc3BsYXlMaW5lczogMiwgJGNvbG91cjogXCJcIiwgJHVuZGVybGluZUNvbG91cjogXCJcIiwgJHBhZGRpbmctYm90dG9tOiAxNXB4KSB7XHJcbiAgICAvL0lmIG5vIGNvbG91ciBpcyBhc3NpZ25lZCB0aGVuIGRlZmF1bHQgdG8gY29sb3VyNDtcclxuICAgIEBpZiAoJGNvbG91ciA9PSBcIlwiKSB7XHJcbiAgICAgICAgJGNvbG91cjogJGNvbG91cjQ7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICgkdW5kZXJsaW5lQ29sb3VyID09IFwiXCIpIHtcclxuICAgICAgICAkdW5kZXJsaW5lQ29sb3VyOiAkY29sb3VyNDtcclxuICAgIH1cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nLWJvdHRvbTtcclxuICAgIEBpbmNsdWRlIHVuZGVybGluZSgkZGlzcGxheUxpbmVzLCAoZGVmYXVsdDogJHVuZGVybGluZUNvbG91cikpO1xyXG59XHJcbi8vIE5ldyB1bmRlcmxpbmUgbWl4aW4gdGhhdCBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkIG9mIGhlYWRpbmdVbmRlckxpbmUuXHJcbkBtaXhpbiB1bmRlcmxpbmUoJGRpc3BsYXktbGluZXMsICR1bmRlcmxpbmUtY29sb3VyOiAoZGVmYXVsdDogbWFwLWdldCgkZGVmYXVsdC11bmxpbmUtY29sb3VycywgZGVmYXVsdCkpLCAkZGVmYXVsdC13aWR0aDogMTAwJSwgJHJ1bGUtaGVpZ2h0OiAkY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHQsICRydWxlLXBvc2l0aW9uOiAoYm90dG9tOiAwKSkge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAkZGVmYXVsdC13aWR0aDtcclxuICAgICAgICBoZWlnaHQ6ICRydWxlLWhlaWdodDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkcnVsZS1wb3NpdGlvbiwgdG9wKSkge1xyXG4gICAgICAgICAgICB0b3A6IG1hcC1nZXQoJHJ1bGUtcG9zaXRpb24sIHRvcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHJ1bGUtcG9zaXRpb24sIHJpZ2h0KSkge1xyXG4gICAgICAgICAgICByaWdodDogbWFwLWdldCgkcnVsZS1wb3NpdGlvbiwgcmlnaHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRydWxlLXBvc2l0aW9uLCBib3R0b20pKSB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogbWFwLWdldCgkcnVsZS1wb3NpdGlvbiwgYm90dG9tKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkcnVsZS1wb3NpdGlvbiwgbGVmdCkpIHtcclxuICAgICAgICAgICAgbGVmdDogbWFwLWdldCgkcnVsZS1wb3NpdGlvbiwgbGVmdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVuZGVybGluZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIC8vIFN3aXRjaGluZyB0byB1c2luZyBib3JkZXIgcHJvcGVydHkgaW5zdGVhZCBvZiBzZXR0aW5nIGhlaWdodCBhcyBnZXR0aW5nIHdlaXJkIGluY29uc2lzdGFuY2llcyB3aGVuIHRoZSBicm93c2VyIHJlbmRlcnMgdGhlIHJ1bGVzIGJ5IH4uM3B4LiBodHRwczovL2pvaG5yZXNpZy5jb20vYmxvZy9zdWItcGl4ZWwtcHJvYmxlbXMtaW4tY3NzLyAtIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM5MjA5ODg2LzFweC1jYWxjdWxhdGlvbi1pc3N1ZS13aXRoLWJyb3dzZXJzLXN1Yi1waXhlbC1wcm9ibGVtc1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwICN7JGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0fSAwO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAgbWFwLWdldCgkdW5kZXJsaW5lLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmICgkcnVsZS1oZWlnaHQgPiAxIGFuZCBzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkZGVmYXVsdC13aWR0aCA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBwcmludCB7XHJcbiAgICAgICAgICAgIC8vIER1ZSB0byBiYWNrZ3JvdW5kLWNvbG9yIGJlaW5nIHN1cHByZXNzZWQgYnkgYmFja2dyb3VuZCBncmFwaGljIG9wdGlvbnMgaW4gYWRkaXRpb25hbCBzZXR0aW5ncywgaW5jcmVhc2luZyB3ZWlnaHQgZm9yIHBvb3IgcXVhbGl0eSBwcmludGVycy5cclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogI3soJHJ1bGUtaGVpZ2h0ICsgMSl9IHNvbGlkIG1hcC1nZXQoJHVuZGVybGluZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgKCRkaXNwbGF5LWxpbmVzID4gMSkge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVuZGVybGluZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0tLSBCdXR0b25zIC0tLS0tXHJcbi8vQnV0dG9uMSBcclxuQG1peGluIGJ1dHRvbjEoJGNvbG91ciwgJGZvbnRTaXplOiAxNSwgJGZvbnRXZWlnaHQ6IDYwMCwgJHBhZGRpbmc6IDE1cHggMjBweCwgJHdpZHRoOiBhdXRvLCAkYmFja2dyb3VuZC1jb2xvdXI6ICgpKSB7XHJcbiAgICAvL0B3YXJuIFwiVGhlIGJ1dHRvbjEoKSBtaXhpbiBpcyBkZXByZWNhdGVkLiBJbmNsdWRlIGNvbW1vbi1idXR0b24tMSgpIGluc3RlYWQuXCI7XHJcbiAgICBAaWYgKCR3aWR0aCA9PSBhdXRvKSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICB3aWR0aDogJHdpZHRoO1xyXG4gICAgfVxyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcclxuICAgIGZvbnQtc2l6ZTogI3skZm9udFNpemV9cHg7XHJcbiAgICBmb250LXdlaWdodDogJGZvbnRXZWlnaHQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICY6ZW5hYmxlZDpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXI0LCAwLjUpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gaWNvbi1idXR0b24oJG1vYmlsZS1hbHQtY29sb3VycyA6IGZhbHNlKSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBidXR0b24uZGlzYWJsZWQsIGEuZGlzYWJsZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgaG92ZXItYWx0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGhvdmVyLWFsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBhY3RpdmUtYWx0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBhY3RpdmUtYWx0KTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0LWFsdCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIC8vIFN1cHByZXNzIGFueSBhbmNob3IgYXJyb3cgaW5kaWNhdG9ycyBpbiBtZW51cy5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGlmICgkbW9iaWxlLWFsdC1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXItYWx0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUtYWx0KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgLy8gbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC8vIENlbnRlcmFsaXNlIGljb24gaW4gdGhlIGNvbnRpYW5lci5cclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAvLyBFbmZvcmNlIGZvbnQtd2VpZ2h0IDQwMCBhcyBvdXIgZm9udGVsbG8gbGlicmFyeSBvbmx5IGhhcyBvbmUgd2VpZ2h0LlxyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBAaWYgKCRtb2JpbGUtYWx0LWNvbG91cnMpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLWNvbG91ciwgZGVmYXVsdC1hbHQpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH0gIFxyXG4gICAgfVxyXG4gICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMTVweCBhdXRvIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpZiAoJG1vYmlsZS1hbHQtY29sb3Vycykge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0tY29sb3VyLCBkZWZhdWx0LWFsdCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1mb250LXdlaWdodCwgYWNjb3VudC1wYWdlKTtcclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG5AbWl4aW4gY29tbW9uLWJ1dHRvbi0xKCRwYWRkaW5nOiBcIlwiLCAkYmFja2dyb3VuZDogKGRlZmF1bHQ6ICRjb2xvdXI0LCBob3ZlcjogJGNvbG91cjEsIGFjdGl2ZTogJGNvbG91cjYpICwgJGNvbG91cjogKGRlZmF1bHQ6ICRjb2xvdXIxLCBob3ZlcjogJGNvbG91cjQsIGFjdGl2ZTogJGNvbG91cjEsIGRpc2FibGVkOiAkY29sb3VyMy0zKSwgJGJvcmRlci1jb2xvdXI6ICgpLCAkZm9udC1zaXplOiBcIlwiLCAkZm9udC13ZWlnaHQ6IFwiXCIsICRkaW1lbnRpb25zOiAod2lkdGg6IGZpdC1jb250ZW50LCBoZWlnaHQ6IGF1dG8sIG1heC1oZWlnaHQ6IDEwMCUpLCAkbWFyZ2luOiAoc21hbGw6IDEwcHggMCwgbWVkaXVtOiAxMHB4IDAsIGxhcmdlOiAwIDAgMjBweCksICRkaXNwbGF5OiBmbGV4LCAkaWNvbi1jb25maWc6IG51bGwsICRmbGV4LWdyb3c6IGZhbHNlKSB7XHJcblxyXG4gICAgLy8gSW5ob3VzZSBjb2xvdXIgZWRnZSBzdGVwIGVmZmVjdC5cclxuICAgIC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQ6IDE1cHg7XHJcblxyXG4gICAgLy8gRGVmYXVsdHMuXHJcbiAgICBAaWYgJHBhZGRpbmcgPT0gXCJcIiB7XHJcbiAgICAgICAgJHBhZGRpbmc6IDE1cHggMjBweDtcclxuICAgIH1cclxuICAgIEBpZiAkZm9udC1zaXplID09IFwiXCIge1xyXG4gICAgICAgICRmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgIH1cclxuICAgIEBpZiAkZm9udC13ZWlnaHQgPT0gXCJcIiB7XHJcbiAgICAgICAgJGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRtYXJnaW4gPT0gMCkge1xyXG4gICAgICAgICRtYXJnaW46IChcclxuICAgICAgICAgICAgc21hbGw6IDAsXHJcbiAgICAgICAgICAgIGxhcmdlOiAwXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBUT0RPOiBDQU5OT1QgZG8gY29udHJhc3QtY2hlY2tlciAoIGNvbG91ciBwcm9jZXNzaW5nICkgaGVyZSBqdXN0IHlldCBhcyBzb21lIG1peGluIGNhbGwncyBkbyBub3QgaGF2ZSBhIGZ1bGwgbGlzdCBvZiBjb2xvdXIgbWl4aW4ncyBiZWluZyBwYXNzZWQgaW4gYW5kIHRvIGRvIGEgcmVsaWFibGUgZnVsbGJhY2sgd2l0aCBtYXBzIHdlIG5lZWQgYWNjZXNzIHRvIGZ1bmN0aW9ucyBtYXAtc2V0IG9yIG1hcC1tZXJnZSB3aGljaCB3ZSBjdXJyZW50bHkgZG8gbm90IGFzIHdlIG5lZWQgdG8gdXBkYXRlIGZyb20gUnVieSBTYXNzIHRvIERhcnQgU2FzcyBodHRwczovL3Nhc3MtbGFuZy5jb20vZG9jdW1lbnRhdGlvbi92YWx1ZXMvbWFwc1xyXG5cclxuXHJcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGRpbWVudGlvbnMsIG1vYmlsZS13aWR0aCkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRkaW1lbnRpb25zLCBtb2JpbGUtd2lkdGgpO1xyXG4gICAgfSBAZWxzZSBpZiBtYXAtaGFzLWtleSgkZGltZW50aW9ucywgd2lkdGgpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgd2lkdGg6IDk1JTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBGYWxsYmFja1xyXG4gICAgJGljb24tcG9zaXRpb246IGJlZm9yZTtcclxuXHJcbiAgICBAaWYgKCRpY29uLWNvbmZpZykgeyBcclxuICAgICAgICAkaWNvbi1wb3NpdGlvbjogbWFwLWdldCgkaWNvbi1jb25maWcsIHBvc2l0aW9uKTtcclxuICAgIH1cclxuXHJcbiAgICBtYXgtaGVpZ2h0OiBtYXAtZ2V0KCRkaW1lbnRpb25zLCBtYXgtaGVpZ2h0KTtcclxuICAgIGhlaWdodDogaWYobWFwLWdldCgkZGltZW50aW9ucywgaGVpZ2h0KSA9PSAnJywgMTAwJSwgbWFwLWdldCgkZGltZW50aW9ucywgaGVpZ2h0KSk7XHJcbiAgICBkaXNwbGF5OiAkZGlzcGxheTtcclxuICAgIEBpZiAkZGlzcGxheSA9PSBcImZsZXhcIiBvciAkZGlzcGxheSA9PSBcImlubGluZS1mbGV4XCIge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRmbGV4LWdyb3cpIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbiAgICAvLyBBZGRpbmcgcG9zaXRpb24gcmVsYXRpdmUgdG8ga2VlcCBhbnkgYWJzb2x1dGUgZWxlbWVudHMgaW5zaWRlIG9mIHRoZSBidXR0b24gKCBpLmUgZ3JhZHVhdGVkLWNvbG91ci1lZGdlIClcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogdmFyKC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW4sICN7c21hbGwtdmFsdWUoJG1hcmdpbil9KTtcclxuICAgIC8vIHBhZGRpbmc6ICRwYWRkaW5nO1xyXG4gICAgcGFkZGluZzogdmFyKC0tY29tbW9uLWJ1dHRvbi1wYWRkaW5nLCAkcGFkZGluZyk7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkY29tbW9uLWJ1dHRvbi1ib3JkZXItd2lkdGg7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAaWYgKCRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgfVxyXG4gICAgQGlmICgkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybSA9PSBcInVwcGVyY2FzZVwiKSB7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGlmKCRmb250LXdlaWdodCA+PSA2MDAsICRjb21tb24tYnV0dG9uLWxldHRlci1zcGFjaW5nLXVwcGVyY2FzZS1ib2xkLCAkY29tbW9uLWJ1dHRvbi1sZXR0ZXItc3BhY2luZyk7XHJcbiAgICAgICAgd29yZC1zcGFjaW5nOiAkY29tbW9uLWJ1dHRvbi13b3JkLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICBAaWYgbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGVmYXVsdCkge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgfVxyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRjb21tb24tYnV0dG9uLWxpbmUtaGVpZ2h0OyAgICBcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoJGNvbW1vbi1idXR0b24tYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbi4uLi5cclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGNvbW1vbi1idXR0b24tYm9yZGVyLXJhZGl1cykgIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgQGlmIChtZWRpdW0tdmFsdWUoJG1hcmdpbikpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLW1lZGl1bS1tYXJnaW4sICN7bWVkaXVtLXZhbHVlKCRtYXJnaW4pfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRkaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLWxhcmdlLW1hcmdpbiwgI3tsYXJnZS12YWx1ZSgkbWFyZ2luKX0pO1xyXG4gICAgfVxyXG4gICAgLy8gT25seSBhcHBseSBob3ZlciBlZmZlY3QgaWYgZGV2aWNlIHN1cHBvcnRzIGl0ICggaS5lIG5vdCBpbiBtb2JpbGUgKSB0byBhdm9pZCB0aGUgc3RpY2t5IGhvdmVyIGVmZmVjdC5cclxuICAgIC8vIGh0dHBzOi8vaXRuZXh0LmlvL2ZpbmFsbHktYS1jc3Mtb25seS1zb2x1dGlvbi10by1ob3Zlci1vbi10b3VjaHNjcmVlbnMtYzQ5OGFmMzljMzFjXHJcbiAgICAvLyBodHRwczovL2Nzcy10cmlja3MuY29tL3NvbHZpbmctc3RpY2t5LWhvdmVyLXN0YXRlcy13aXRoLW1lZGlhLWhvdmVyLWhvdmVyL1xyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAmOmhvdmVyLCAmLmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgQGlmICgkaWNvbi1jb25maWcpIHtcclxuICAgICAgICAgICAgICAgICY6I3skaWNvbi1wb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJGljb24tY29uZmlnLCBcImNvbG91clwiLCBcImhvdmVyXCIpO1xyXG4gICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm9cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUsICYuYWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhY2tncm91bmQsIGFjdGl2ZSk7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGFjdGl2ZSkge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgQGlmICgkaWNvbi1jb25maWcpIHtcclxuICAgICAgICAgICAgJjojeyRpY29uLXBvc2l0aW9ufSB7XHJcbiAgICAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRpY29uLWNvbmZpZywgXCJjb2xvdXJcIiwgXCJhY3RpdmVcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmRpc2FibGVkLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XHJcbiAgICAgICAgQGlmIG1hcC1nZXQoJGNvbG91ciwgZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBkaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbWFwLWdldCgkYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgIEBpZiAoJGljb24tY29uZmlnKSB7XHJcbiAgICAgICAgICAgICY6I3skaWNvbi1wb3NpdGlvbn0ge1xyXG4gICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpOztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6ZGlzYWJsZWQ6aG92ZXIsICYuZGlzYWJsZWQ6aG92ZXIge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRib3JkZXItY29sb3VyLCBkaXNhYmxlZCkge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmOmZvY3VzLXZpc2libGUge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gSWNvbiBjb25maWd1cmF0aW9uLlxyXG4gICAgQGlmICgkaWNvbi1jb25maWcpIHtcclxuICAgICAgICAvKlxyXG4gICAgICAgIC0tLSBJY29uIGNvbmZpZ3VyYXRpb24gLS0tXHJcbiAgICAgICAgLSAkaWNwb3NpdGlvbiA9PiBCZWZvcmUgb3IgYWZ0ZXIgdGV4dFxyXG4gICAgICAgIC0gbWFyZ2luID0+IGljb24gbWFyZ2luXHJcbiAgICAgICAgLSBjb2xvdXIgPT4gaWNvbiBjb2xvdXIgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKVxyXG4gICAgICAgIC0gc2l6ZSA9PiBpY29uIHNpemUuXHJcbiAgICAgICAgLSBjb250ZW50ID0+IHRoZSBmb250IGljb24gaXRzZWxmLCBub3JtYWxseSBzdG9yZWQgaW4gJHNpdGUtaWNvbnNcclxuICAgICAgICAtIGZvbnQtZmFtaWx5ID0+IHRoZSBmb250IGZhbWlseSB0aGF0IHRoZSBpY29uIGJlbG9uZ3MgdG8gZm9udCBhd2Vzb21lIG9yIGZvbnRlbGxvLlxyXG4gICAgICAgICovXHJcbiAgICAgICAgXHJcbiAgICAgICAgJGljb24tcG9zaXRpb246IG1hcC1nZXQoJGljb24tY29uZmlnLCBwb3NpdGlvbik7XHJcbiAgICAgICAgLy8gRmFsbGJhY2tcclxuICAgICAgICBAaWYgbm90ICgkaWNvbi1wb3NpdGlvbikge1xyXG4gICAgICAgICAgICAkaWNvbi1wb3NpdGlvbjogYmVmb3JlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjojeyRpY29uLXBvc2l0aW9ufSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGljb24tY29uZmlnLCBjb250ZW50KTtcclxuICAgICAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRpY29uLWNvbmZpZywgbWFyZ2luKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IG1hcC1nZXQoJGljb24tY29uZmlnLCBmb250LWZhbWlseSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkaWNvbi1jb25maWcsIHNpemUpO1xyXG4gICAgICAgICAgICAvLyBJZiB1c2luZyBhIGZvbnRlbGxvIGxpYnJhcnkgdGhlbiBtYWtlIHN1cmUgdGhlIGZvbnQtd2VpZ2h0IGlzIHNldCB0byA0MDAgb3RoZXJ3aXNlIGEgd2VpcmQgYm9yZGVyIGVmZmVjdCBpcyBhcHBsaWVkICggdGhpcyBpcyBsYXJnZWx5IGR1ZSB0byBvbmx5IGhhdmUgdGhlIGZvbnRzIGluIDEgd2VpZ2h0ICkuXHJcbiAgICAgICAgICAgIEBpZiAoc3RyLWluZGV4KFwiZm9udGVsbG9cIiwgbWFwLWdldCgkaWNvbi1jb25maWcsIGZvbnQtZmFtaWx5KSkpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkaWNvbi1jb25maWcsIFwiY29sb3VyXCIsIFwiZGVmYXVsdFwiKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ3JhZHVhdGVkLWNvbG91ci1lZGdlIC5zdGVwIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBSZWFkIG1vcmUgYnV0dG9uIC8gYW5jaG9yIC0tLSBcclxuQG1peGluIHJlYWRNb3JlU3VmZml4KCkge1xyXG4gICAgQGlmICRyZWFkLW1vcmUtc3VmZml4LWljb24ge1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbmNob3ItaW5kaWNhdG9yKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlYWQtbW9yZS1zdWZmaXgtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRyZWFkLW1vcmUtc3VmZml4LWljb24tc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHJlYWQtbW9yZS1zdWZmaXgtY3VzdG9tLWljb24pO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmVhZC1tb3JlLXN1ZmZpeC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZWFkLW1vcmUtc3VmZml4LWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0gQ2xvc2UgQnV0dG9uIC0tLSBcclxuQG1peGluIGNsb3NlQnV0dG9uICgkc2l6ZTogJGljb24tc2l6ZSwgJGRlZmF1bHQtY29sb3VyOiBcIlwiLCAkaG92ZXItY29sb3VyOiBcIlwiLCAkYWN0aXZlLWNvbG91cjogXCJcIikge1xyXG5cclxuICAgIC8vIEZhbGxiYWNrcy5cclxuICAgIEBpZiAkZGVmYXVsdC1jb2xvdXIgPT0gXCJcIiB7XHJcbiAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgLy8gQ2hlY2sgY29udHJhc3QgYWdhaW5zdCB3aGl0ZSBhcyB0aGlzIGJ1dHRvbiBvbiBcIm1vc3RcIiBjYXNlcyBhcHBlYXJzIG9uIGEgd2hpdGUgYmFja2dyb3VuZC5cclxuICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGRlZmF1bHQtY29sb3VyLCAkY29sb3VyMSk7XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICRob3Zlci1jb2xvdXIgPT0gXCJcIiB7XHJcbiAgICAgICAgJGhvdmVyLWNvbG91cjogbWFwLWdldCgkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAvLyBDaGVjayBjb250cmFzdCBhZ2FpbnN0IHdoaXRlIGFzIHRoaXMgYnV0dG9uIG9uIFwibW9zdFwiIGNhc2VzIGFwcGVhcnMgb24gYSB3aGl0ZSBiYWNrZ3JvdW5kLlxyXG4gICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGhvdmVyLWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgfVxyXG4gICAgQGlmICRhY3RpdmUtY29sb3VyID09IFwiXCIge1xyXG4gICAgICAgICRhY3RpdmUtY29sb3VyOiBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAvLyBDaGVjayBjb250cmFzdCBhZ2FpbnN0IHdoaXRlIGFzIHRoaXMgYnV0dG9uIG9uIFwibW9zdFwiIGNhc2VzIGFwcGVhcnMgb24gYSB3aGl0ZSBiYWNrZ3JvdW5kLlxyXG4gICAgICAgICRhY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRhY3RpdmUtY29sb3VyLCAkY29sb3VyMSk7XHJcbiAgICB9XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNsb3NlLWJ1dHRvbik7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNpemU7XHJcbiAgICAgICAgQGlmICgkZGVmYXVsdC1jb2xvdXIgIT0gXCJcIikge1xyXG4gICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQtMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIC8vZm9udC1zaXplOiAoJHNpemUgKiAxLjIpO1xyXG4gICAgICAgICAgICBAaWYgKCRob3Zlci1jb2xvdXIgIT0gXCJcIikge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoJGNvbG91cjQsIDAuNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAxLjJzLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcblxyXG4vLyBUYWJsZSBsYXlvdXQgaW4gbW9iaWxlLlxyXG5AbWl4aW4gZ3JpZC10YWJsZS1sYXlvdXQtbW9iaWxlKCkge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIC8vIFR3byBjb2x1bW4gYXJyYW5nZW1lbnQgd2hpY2ggdGhlIGltYWdlIGdldHMgY29tcHJlc3NlZCBvbiBzbWFsbGVyIGRldmljZXMgdG8gZml0IGNlbGwgbWFpbiBjb250ZW50ICggaS5lIGRlc2NyaXB0aW9uLCBwcmljZSAmIGJ1eSBib3hlcyApLlxyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMCUgMWZyO1xyXG4gICAgLy8gTXVsdGltZWRpYSBjb250ZW50ID09IEltYWdlcywgdmlkZW9zIG9yIGFuaW1hdGlvbnMuIFRoZSByZXN0IG9mIHRoZSBjb250ZW50IGhhcyBzcGVjaWZpYyBhcmVhJ3MgdGhhdCBpdCBzaXRzIGluICggaS5lIGRlc2NyaXB0aW9uLWNvbCBzaXRzIGluIHRlIGRlc2NyaXB0aW9uIGFyZWEgKVxyXG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczogXCJtdWx0aW1lZGlhLWNvbnRlbnQgZGVzY3JpcHRpb25cIiBcIm11bHRpbWVkaWEtY29udGVudCBjb2RlXCIgXCJtdWx0aW1lZGlhLWNvbnRlbnQgcHJpY2VcIiBcIm11bHRpbWVkaWEtY29udGVudCBpbnRlcmFjdGl2ZVwiO1xyXG4gICAgLy8gRWFjaCByb3cgZXhjZXB0IHRoZSBwcmljaW5nIHJvdyB0byBtYXRjaCBpdHMgY29udGVudCBoZWlnaHQsIHJlYXNvbiBmb3IgdGhpcyBpcyB0byBhbGxvdyBhbnkgYXZhaWxhYmxlIGhlaWdodCB0byBiZSB0YWtlbiB1cCBieSB0aGUgcHJpY2luZyB0ZXh0IHRoaXMgd2lsbCBhbHNvIHBpbiB0aGUgaW50ZXJhY3RpdmUgZWxlbWVudHMgdG8gdGhlIGJvdHRvbSBvZiB0aGUgY2VsbC5cclxuICAgIGdyaWQtdGVtcGxhdGUtcm93czogbWluLWNvbnRlbnQgbWluLWNvbnRlbnQgMWZyIG1pbi1jb250ZW50O1xyXG4gICAgLy8gRGlzdGFuY2UgYmV0d2VlbiBlYWNoIGNvbnRlbnQgY29udGFpbmVyLlxyXG4gICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjAlIDFmcjtcclxuICAgIH1cclxuICAgIC8vID4gYTpmaXJzdC1jaGlsZCBpcyB0aGUgb2xkIHdheSBvZiB0aGlua2luZyBiZWZvcmUgd2UgaW50cm9kdWNlZCB0aGUgZm9ybWFsIGNvbmNlcHQgYXMgYSBjbGFzcy5cclxuICAgIC5tdWx0aW1lZGlhLWNvbnRlbnQsID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgZ3JpZC1hcmVhOiBtdWx0aW1lZGlhLWNvbnRlbnQ7XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBncmlkLWFyZWE6IGRlc2NyaXB0aW9uO1xyXG4gICAgfVxyXG4gICAgLmNvZGUtY29sIHtcclxuICAgICAgICBncmlkLWFyZWE6IGNvZGU7XHJcbiAgICB9XHJcbiAgICAucHJpY2UtY29sIHtcclxuICAgICAgICBncmlkLWFyZWE6IHByaWNlO1xyXG4gICAgfVxyXG4gICAgLy8gSW50ZXJhY3RpdmUgYXJlYSwgdGhpcyBjb3VsZCBiZSBvbmUgb2YgdGhlIGZvbGxvd2luZyAoIGJ1eSBib3hlcywgbG9naW4sIGVucXVpcnkgb3Igc3RvY2tsaW5lIGJ1dHRvbnMgKS5cclxuICAgIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAucXVhbnRpdHktY29udGFpbmVyLCAubG9naW4tY29sLCAuZW5xdWlyeS1jb2wsIC5zdG9ja2xpbmUtY29sIHtcclxuICAgICAgICBncmlkLWFyZWE6IGludGVyYWN0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBGb3JtIG1peGlucyAtLS0tLSBcclxuLy8gLS0tIEVycm9yIEJsb2NrIC0tLSBcclxuQG1peGluIGVycm9yLWJsb2NrKCkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCk7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICBoMiwgaDQge1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgICAgICBAaW5jbHVkZSBidWxsZXRwb2ludCgpO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRlcnJvci1ibG9jay1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHAsIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICBmb250LXdlaWdodDogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGVycm9yLWJsb2NrLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0tLSBQYWdlIFNwZWNpZmljIE1peGlucyAtLS0tLVxyXG4vLy0tLSBQcm9kdWN0IC0tLVxyXG5AbWl4aW4gdHJpcGxlTW9kdWxlU2VjdGlvbigkcHJpdmF0ZVVzZUFyZWE6XCJcIiwgJGhhc0ljb246IGZhbHNlICwkaWNvbkNvbG91cjpcIlwiLCAkZm9udEZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IFNvbGlkJykge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIGEge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDkwcHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG87XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgIEBpZiAoJGhhc0ljb24gPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRwcml2YXRlVXNlQXJlYTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEZhbWlseTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaWNvbkNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGltYWdlMzYwT3ZlcmxheSgkaWNvblNpemU6IDgwJSwgJG92ZXJsYXlTaXplOiA5MHB4KSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAkb3ZlcmxheVNpemU7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJG92ZXJsYXlTaXplO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjIsIDAuMik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGltYWdlLTM2MCkpO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGljb25TaXplO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICgkYm9yZGVyUmFkaXVzMiAvIDIpO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoJGNvbG91cjMtMSwgMC4yKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByaWNlKCRpcy1saXN0OiBmYWxzZSkge1xyXG4gICAgLy8gdGQge1xyXG4gICAgLy8gICAgIC5wcmljZXMgLnByaWNlLWNvbnRhaW5lciB7ICAgIFxyXG4gICAgICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICAvLyAgICAgLy8gVGhpcyB3YXMgcHV0IGluIGZvciBvcHRpb25hbCBleHRyYSdzIG5vdCBhbGlnbmluZyB3aXRoIHRoLlxyXG4gICAgICAgICAgICAvLyAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyBUbyBwcmV2ZW50IGR1cGxpY2F0ZSBsYWJlbHMgaWYgdGhlcmUgaXMgb25seSBvbmUgcHJpY2UgYmVpbmcgb3V0cHV0dGVkLlxyXG4gICAgLmNvbC1sYWJlbCArIC5wcmljZXMge1xyXG4gICAgICAgIHA6b25seS1jaGlsZCAubGFiZWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgKyAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlcyB7XHJcbiAgICAgICAgLy8gbWluLWhlaWdodDogNzBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByaWNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgQGlmICgkaXMtbGlzdCBhbmQgJHByaWNlLWxpc3QtZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtbGlzdC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByaWNlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gQ2hhbmdpbmcgdG8gaW5saW5lLWZsZXggZHVlIHRvIGluY29uc2lzdGVuY2llcyBvbiB0aGUgcHJvZHVjdCBlbnF1aXJ5IHBhZ2UuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRwcmljZS10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7IC8vIEZvbGxvdyBzYW1lIHJ1bGUgYXMgZGVzY3JpcHRpb24gdG8gYnJpbmcgbXVsaXRwbGUgbGluZXMgY2xvc2VyIGFzIHRoZXkgcmVsYXRlLlxyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIHZlcnRpY2FsIGFsaWdubWVudCBpc3N1ZXMgd2l0aCB2YXQgdGV4dC5cclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgJjpoYXMoLnZhdCkge1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaWNlLWxhYmVsLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRwcmljZS1sYWJlbC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJpY2UtbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBBdHRlbXB0aW5nIHRvIHByZXZlbnQgc21hbGwgc3RyaW5ncyBvZiB0ZXh0IGluIGxhYmVscyBmcm9tIHdyYXBwaW5nLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vIG1pbi13aWR0aDogNDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJiB+IC52YXQge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEFkZGluZyBwYWRkaW5nIGxlZnQgZHVlIHRvIG9uIHRoZSBwcm9kdWN0IGVucXVpcnkgcGFnZSB0aGUgdmF0IHRleHQgYXMgcmVuZGVyaW5nIHJpZ2h0IHVwIGFnYWluc3QgdGhlIHByaWNlLlxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaWNlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtdmFsdWUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zYXZpbmcge1xyXG4gICAgICAgICAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGlzLWxpc3QpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwcmljZS1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkc2F2aW5ncy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2F2aW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHNhdmluZ3MtdGV4dC10cmFuc2Zvcm0gIT0gbm9ybWFsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkc2F2aW5ncy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHNhdmluZy1zdHJpa2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucnJwIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJycC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRycnAtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcnJwLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcnJwLXRleHQtdHJhbnNmb3JtICE9IG5vcm1hbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHJycC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkcnJwLXN0cmlrZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5wYWNrLXByaWNlIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwYWNrLXByaWNlLWNvbG91ciAhPSAkcHJpY2UtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFjay1wcmljZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucGFjay1zaXplIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRwYWNrLXNpemUtY29sb3VyICE9ICRwcmljZS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYWNrLXNpemUtY29sb3VyOyBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5wYWNrLWl0ZW0tcHJpY2Uge1xyXG4gICAgICAgICAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHBhY2staXRlbS1zaXplLWNvbG91ciAhPSAkcHJpY2UtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFjay1pdGVtLXNpemUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRwcmljZS10ZXh0LWFsaWduID09IFwiY2VudGVyXCIgYW5kICRpcy1saXN0KSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAoJHByaWNlLXRleHQtYWxpZ24gPT0gXCJsZWZ0XCIpIHtcclxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICYgKyAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByaWNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCwgLnZhbHVlIHtcclxuICAgICAgICAgICAgQGlmICgkaXMtbGlzdCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gSGFkIHRvIGFkZCBvdmVycmlkZSBmb3IgV2lsZCB0aGluZ3MgZHVlIHRvIGluY29uc2lzdGFuY3kgaW4gbG9naWMgb24gb3RoZXIgc2l0ZXMgKCBpLmUgYXhpcyApLlxyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRwcm9kdWN0LWVucXVpcnktcHJpY2UtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJpY2Uge1xyXG4gICAgICAgIG1hcmdpbjogJHByaWNlLW1hcmdpbjtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIGNvbnNpc3RlbmN5IGlzc3VlcyB3aGVuIGRpc3BsYXlpbmcgbXVsaXBsZSBwcmljZXMuXHJcbiAgICAgICAgLy8gbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgLmN1cnJlbmN5IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC52YXQge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtdmF0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHJycCgpIHtcclxuICAgIC8vIC5ycnAge1xyXG4gICAgICAgIC8vIGNvbG9yOiAkcnJwLWNvbG91cjtcclxuICAgICAgICAvLyBmb250LXNpemU6IHJlbS1jYWxjKCRycnAtZm9udC1zaXplKTtcclxuICAgICAgICAvLyBmb250LXdlaWdodDogJHJycC1mb250LXdlaWdodDtcclxuICAgICAgICAvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgLy8gfVxyXG59XHJcblxyXG5AbWl4aW4gc2F2aW5nKCkge1xyXG4gICAgLy8gLnNhdmluZyB7XHJcbiAgICAgICAgLy8gZm9udC1zaXplOiByZW0tY2FsYygkc2F2aW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgLy8gZm9udC13ZWlnaHQ6ICRzYXZpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgLy8gY29sb3I6ICRzYXZpbmdzLWNvbG91cjtcclxuICAgIC8vIH1cclxufVxyXG5cclxuQG1peGluIHF1YW50aXR5LXNlbGVjdG9yLWxhYmVsKCkge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZzogbWFwLWdldCgkcXVhbnRpdHktbGFiZWwtcGFkZGluZywgc21hbGwpO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRxdWFudGl0eS1sYWJlbC1saW5lLWhlaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHF1YW50aXR5LWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LXdlaWdodDogJHF1YW50aXR5LWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgY29sb3I6ICRxdWFudGl0eS1sYWJlbC1jb2xvdXI7XHJcbiAgICBAaWYgKCRxdWFudGl0eS1sYWJlbC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcXVhbnRpdHktbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgIH0gXHJcbn1cclxuXHJcbkBtaXhpbiBjb21tb24tY2hlY2tib3goJGRpbWVudGlvbnM6ICRjaGVja2JveC1kaW1lbnRpb25zKSB7XHJcbiAgICAvLyBDYWxjdWxhdGUgcmFkaXVzLlxyXG4gICAgJGNoZWNrYm94LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIC8vIENhcCByYWRpdXMgb3RoZXJ3aXNlIHlvdSB3aWxsIGVuZCB1cCB3aXRoIGEgY2lyY2xlLlxyXG4gICAgQGlmICgkY2hlY2tib3gtcmFkaXVzID4gNSkge1xyXG4gICAgICAgICRjaGVja2JveC1yYWRpdXM6IDVweDtcclxuICAgIH1cclxuICAgIC8vIC0tLSBCYXNlIGNoZWNrYm94IHN0eWxlcyAtLS1cclxuICAgICsgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6ICRkaW1lbnRpb25zO1xyXG4gICAgICAgIGhlaWdodDogJGRpbWVudGlvbnM7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgJGNoZWNrYm94LXJhZGl1cyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRjaGVja2JveC1yYWRpdXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2hlY2tib3gtdGljayk7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZGltZW50aW9ucztcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZGltZW50aW9ucztcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDJweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICgkZGltZW50aW9ucyAvIDEuNyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLS0tIFNwZWNpZmljIGNoZWNrYm94IHN0eWxlcyAtLS0gXHJcbiAgICAvLyBEZWZhdWx0IFN0YXRlLlxyXG4gICAgKyBzcGFuIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBEaXNhYmxlZCAmIFJlYWQgT25seS5cclxuICAgICZbcmVhZG9ubHldICsgc3BhbiwgJltkaXNhYmxlZF0ge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWJhY2tncm91bmQtY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSG92ZXIgU3RhdGUuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAmOm5vdChbcmVhZG9ubHldKTpub3QoW2Rpc2FibGVkXSkge1xyXG4gICAgICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpjaGVja2VkICsgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZS1ob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBGb2N1cy5cclxuICAgICsgc3BhbiB7XHJcbiAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDaGVja2VkIC8gQWN0aXZlIFN0YXRlLlxyXG4gICAgJjpjaGVja2VkIHtcclxuICAgICAgICArIHNwYW4ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEVuYWJsZWQuXHJcbiAgICAgICAgJjpub3QoW3JlYWRvbmx5XSk6bm90KFtkaXNhYmxlZF0pIHtcclxuICAgICAgICAgICAgKyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIC8vIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2hlY2tib3gtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIERpc2FibGVkICYgUmVhZCBPbmx5LlxyXG4gICAgICAgICZbZGlzYWJsZWRdLCAmW3JlYWRvbmx5XSB7XHJcbiAgICAgICAgICAgICsgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZS1kaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNoZWNrYm94LWljb24tY29sb3VyLCBhY3RpdmUtZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGJ1bGxldHBvaW50KCkge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYnVsbGV0LXNpemU7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGJ1bGxldC1zaXplO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgLy8gYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnVsbGV0LWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJ1bGxldC1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFByb2R1Y3QgY29sbGVjdGlvbiBzdHlsZXMuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY2VsbCgkaW52ZXJ0LWViZy1jb2xvdXJzOiBmYWxzZSwgJGlzLWdyaWQtY29sbGVjdGlvbjogZmFsc2UpIHtcclxuICAgIEBpZiAoJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yKSB7XHJcbiAgICAgICAmOm5vdCgubWluaWZpZWQtbGF5b3V0KSB7XHJcbiAgICAgICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0je2lmKCRjb2xsZWN0aW9uLWViZy1pbWFnZS1zZXBlcmF0b3IsJycsJzpub3QoLmViZyknKX0gLmNvbnRlbnQtY29udGFpbmVyOm5vdCguaW1hZ2UpOm5vdCguY29tcGFjdCkge1xyXG4gICAgICAgICAgICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29sbGVjdGlvbi1zZXBlcmF0b3ItZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGNvbGxlY3Rpb24tc2VwZXJhdG9yLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206ICRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1wb3NpdGlvbi1ib3R0b207XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xsZWN0aW9uLWltYWdlLXNlcGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGNvbGxlY3Rpb24taW1hZ2Utc2VwZXJhdG9yLW1hcmdpbi1ib3R0b207XHJcbiAgICAgICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbnRlbnQgbGVmdCwgaW1hZ2UgcmlnaHRcclxuICAgICYubXVsdGltZWRpYS1yaWdodCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLXJvdy1jb250ZW50LW9yZGVyKHRydWUpO1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYXJyYW5nZS1zaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSBncm91cHMgZG9udCBoYXZlIGEgcHJpY2UuXHJcbiAgICAgICAgICAgICAgICAgICAgLnByaWNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8vIFdvcmsgb3V0IHRoZSBjb250ZW50IGd1dHRlciBiYXNlZCBvbiB0aGUgZGVzY3JpcHRpb24gbWFyZ2luLlxyXG4gICAgICAgICAgICAgICAgJGNvbnRlbnQtcGFkZGluZzogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAyLCAnY29tcGFjdCcpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBHaXZlIHRoZSB0ZXh0IG1vcmUgZG9taW5hbmNlIG92ZXIgdGhlIGltYWdlIDg0NDY3OC4gXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDYwJSAtIDEwcHgpIGNhbGMoNDAlIC0gMTBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJiA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gU3BlY2lmaWMgc3R5bGVzIGZvciBwcm9kdWN0IGNvbGxlY3Rpb25zLlxyXG4gICAgICAgICAgICAgICAgJi5wcm9kdWN0IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtZmlyc3QtaXRlbS1wYWRkaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1jYWxsYmFjay1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1ncm91cC1kZXNjcmlwdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWltYWdlLWFycmFuZ2Utc2lkZSgpO1xyXG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uLCAuY29kZSwgLnByaWNlcywgLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMSwgJ2NvbXBhY3QnKTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDMsICdjb21wYWN0Jyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaXplLWZvcm1zKCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtcmVhZC1tb3JlLWNvbnRlbnQtY29udGFpbmVyKCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtYnV0dG9uLWNvbnRhaW5lcnMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBDb250ZW50IHJpZ2h0LCBJbWFnZSBsZWZ0XHJcbiAgICAmLm11bHRpbWVkaWEtbGVmdCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLXJvdy1jb250ZW50LW9yZGVyKCk7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICYuZWJnIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYXJyYW5nZS1zaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIGdyb3VwcyBkb250IGhhdmUgYSBwcmljZS5cclxuICAgICAgICAgICAgICAgIC5wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBXb3JrIG91dCB0aGUgY29udGVudCBndXR0ZXIgYmFzZWQgb24gdGhlIGRlc2NyaXB0aW9uIG1hcmdpbi5cclxuICAgICAgICAgICAgJGNvbnRlbnQtcGFkZGluZzogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAyLCAnY29tcGFjdCcpO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHggMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIC8vIEdpdmUgdGhlIHRleHQgbW9yZSBkb21pbmFuY2Ugb3ZlciB0aGUgaW1hZ2UgODQ0Njc4LiBcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogY2FsYyg0MCUgLSAxMHB4KSBjYWxjKDYwJSAtIDEwcHgpO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC1nYXA6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBzdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBTcGVjaWZpYyBzdHlsZXMgZm9yIHByb2R1Y3QgY29sbGVjdGlvbnMuXHJcbiAgICAgICAgICAgICYucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtZmlyc3QtaXRlbS1wYWRkaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1jYWxsYmFjay1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWdyb3VwLWRlc2NyaXB0aW9uKCk7XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1pbWFnZS1hcnJhbmdlLXNpZGUoKTtcclxuICAgICAgICAgICAgLmNvZGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlcyB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgLnByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpemUtZm9ybXMoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWJ1dHRvbi1jb250YWluZXJzKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1yZWFkLW1vcmUtY29udGVudC1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBDb250ZW50IHRvcCwgaW1hZ2UgYm90dG9tLlxyXG4gICAgJi5tdWx0aW1lZGlhLWJvdHRvbSB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gQXNzdW1pbmcgZmlyc3QgYW5jaG9yIGlzIHRoZSBpbWFnZSwgYXMgb3JkZXIgaXMgbm90IHVzZWQgb24gYW55IG9mIHRoZSBvdGhlciBlbGVtZW50cyBpbiB0aGUgY2VsbCB0aGVuIHRoaXMgd2lsbCBmb3JjZSB0aGUgaW1hZ2UgdG8gdGhlIGJvdHRvbS5cclxuICAgICAgICAgICAgPiBhOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tcGFkZGluZywgMiwgJ25vbi1jb21wYWN0Jyk7O1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBNaW5pZmllZCwgcmVzdHJpY3RlZCBpbWFnZSBzaXplLlxyXG4gICAgJi5taW5pZmllZC1sYXlvdXQge1xyXG4gICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1yb3ctY29udGVudC1vcmRlcigpO1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICYucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTEwcHggMWZyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEFzc3VtZSB0aGUgZmlyc3QgYW5jaG9yIGlzIHRoZSBpbWFnZS5cclxuICAgICAgICAgICAgPiBhOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7ICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmRlc2NyaXB0aW9uLCBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIHlvdSdyZSBhIHByb2R1Y3QgY2Fyb3VzZWwuXHJcbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAvLyBTZXQgaGVpZ2h0IHRvIHJlYWQgbW9yZSBjb250ZW50IGZyb20gdGFraW5nIHVwIHRoZSBlbnRpcmUgcGFnZSBhcyB0aGVzZSBhcmUgb2Z0ZXIgZnVsbCBDTVMgZW50cmllcy5cclxuICAgICAgICAmOmhhcygucmVhZC1tb3JlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gZUJ1c3NpbmVzcyBncm91cCBzcGVjaWZpYyBzdHlsaW5nLlxyXG4gICAgICAgICYuZWJnIHtcclxuICAgICAgICAgICAgLy8gVGhpcyBtZWFucyB3ZSdyZSBvbmx5IHNob3dpbmcgdGhlIGltYWdlLCBzbyByZW1vdmUgYWRkaXRpb25hbCBwYWRkaW5nIHRvIG1ha2UgdGhlIGNlbGwgbWF0Y2ggdGhlIGltYWdlIHNpemUuXHJcbiAgICAgICAgICAgICY6aGFzKC5kZXNjcmlwdGlvbjplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIGlzIGNhdXNpbmcgYnV0dG9uIGFsaWdubWVudCBpc3N1ZXMgcmVnYXJkaW5nIGZvdW5kYXRpb24ncyBlcXVhbGl6ZXIuXHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6ICRjb2xsZWN0aW9uLWViZy1jZWxsLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICY6aG92ZXIgLmRlc2NyaXB0aW9uIHsgIFxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIEBpZiBub3QgJGludmVydC1lYmctY29sb3VycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSAuZGVzY3JpcHRpb24geyAgXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIEBpZiBub3QgJGludmVydC1lYmctY29sb3VycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkY29sbGVjdGlvbi1lYmctY29udGVudC1jb250YWluZXItYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEZvbGxvdyBwcm9kdWN0IGNlbGwgYmFja2dyb3VuZC5cclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLXByb2R1Y3QtY2VsbC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY3Rpb24tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tZWJnLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWViZy1jb250ZW50LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHsgXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1qdXN0aWZ5LWNvbnRlbnQgYW5kICRpcy1ncmlkLWNvbGxlY3Rpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRjb2xsZWN0aW9uLWViZy1ncmlkLWRlc2NyaXB0aW9uLWp1c3RpZnktY29udGVudDtcclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1hbGlnbi1pdGVtcyBhbmQgJGlzLWdyaWQtY29sbGVjdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkY29sbGVjdGlvbi1lYmctZ3JpZC1kZXNjcmlwdGlvbi1hbGlnbi1pdGVtcztcclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgICAgICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogJGNvbGxlY3Rpb24tZWJnLWRlc2NyaXB0aW9uLW1hcmdpbjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC1zaXplICE9ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC13ZWlnaHQgIT0gJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tZm9udC13ZWlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGEgZ3JpZCBjb2xsZWN0aW9uIHRoZW4gZG9uJ3QgYXBwbHkgYmFja2dyb3VuZCBpbiBkZWZhdWx0IHN0YXRlLCBpZiB0aGlzIGlzIGEgY2Fyb3VzZWwgdGhlbiBhcHBseSB0aGUgZGVmYXVsdCBiYWNrZ3JvdW5kLlxyXG4gICAgICAgICAgICAgICAgQGlmIG5vdCAkaW52ZXJ0LWViZy1jb2xvdXJzIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRjb2xsZWN0aW9uLWViZy1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGNvbGxlY2l0b24tZWJnLWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtOyAgICAgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87ICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tZWJnLWhvdmVyLWJveC1zaGFkb3ctc3VwcHJlc3MpIHtcclxuICAgICAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lcjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBXb3JrIG91dCB0aGUgY29udGVudCBwYWRkaW5nIGJhc2VkIG9uIHRoZSBkZXNjcmlwdGlvbiBwYWRkaW5nLlxyXG4gICAgJGNvbnRlbnQtcGFkZGluZzogc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAyLCAnbm9uLWNvbXBhY3QnKTtcclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gV2hlbiBpbiBtb2JpbGUgZml0LWNvbnRlbnQgaW5jYXNlIHRoZXJlIGlzIGEgYm9yZGVyIGFwcGxpZWQsIGluIHRoZSBjb250ZXh0IG9mIHdpbGQgdGhpbmdzIHRoZSBib3JkZXIgc2hvdWxkIHdyYXAgYXJvdW5kIHRoZSBjb250ZW50IHdpdGhvdXQgYSBndXR0ZXIgUiArIEwsIFNVUFBSRVNTSU5HOiBBcyB0aGlzIHdhcyBjYXVzaW5nIGFuIGltcGFjdCBvbiBwYWNrYWdpbmdkZXBvdCBhbmQgbWlsZXMgZm9yIGVnYiBtb2R1bGVzIG5vdCBmaWxsaW5nIGNlbGwgd2l0aCBiYWNrZ3JvdW5kIGNvbG91ciwgYSBiZXR0ZXIgc29sdXRpb24gd291bGQgYmUgdG8ganVzdCBjZW50ZXIgdGhlIGNvbnRlbnQgd2l0aGluIHRoZSBjZWxsIHVzaW5nIG1hcmdpbjogYXV0bztcclxuICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAvLyBEZWZhdWx0IHRvIGZsZXggbGF5b3V0LlxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRjb2xsZWN0aW9uLWNlbGwtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGV4dC1hbGlnbjogJGNvbGxlY3Rpb24tdGV4dC1hbGlnbjtcclxuICAgICAgICAvLyBTdXBwcmVzcyB0aGlzIGFzIHNvbWUgZGVzaWducyBhbGxvdyB0aGUgaW1hZ2UgdG8gdGFrZSBmdWxsIHdpZHRoIG9mIHRoZSBjZWxsIGFuZCB0aGVuIGluZGVudCB0aGUgY29udGVudC5cclxuICAgICAgICAvLyAmLnByb2R1Y3Qge1xyXG4gICAgICAgIC8vICAgICBwYWRkaW5nOiAkY29sbGVjdGlvbi1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2RlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgICYgKyAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgLy8gQmFzZSBzdHlsZXMgdGhhdCBnZXQgdXNlZCBpbiBhbGwgbGF5b3V0cyAvIGRhdGEgKCBpLmUgcHJvZHVjdCwgZWJnLCBjbXMgKVxyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zcGVjaWZpY2F0aW9uIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnByaWNlcyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNvbnRlbnQtcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRjb2xsZWN0aW9uLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRjb2xsZWN0aW9uLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tdGV4dC1hbGlnbiA9PSBsZWZ0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoJGNvbGxlY3Rpb24tdGV4dC1hbGlnbiA9PSByaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tYnV5LWJveC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogJGNvbGxlY3Rpb24tYnV5LWJveC1wYWRkaW5nLXRvcCAkY29udGVudC1wYWRkaW5nIHNwYWNpbmctdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1wYWRkaW5nLCAxKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1idXktYm94LWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDVweDsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgc3RvY2sgaW5kaWNhdG9ycyBoYXZlIGJlZW4gZGlzYWJhYmVkIHRoZW4gYWRkIHNvbWUgc3BhY2UgYmV0d2VlbiBwcmljZXMgYW5kIGJ1dHRvbihzKS5cclxuICAgICAgICAucHJpY2VzICsgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAucHJpY2VzICsgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLnByaWNlcyArIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvL3dpZHRoOiA2NiU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkY29sbGVjdGlvbi1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGNvbGxlY3Rpb24tYnV0dG9ucy1tYXJnaW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWluaWZpZWQge1xyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uLCAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaWYoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24taG92ZXItdW5kZXJsaW5lLCB1bmRlcmxpbmUsIG5vbmUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTdXBwcmVzc2luZywgeW91IGxheW91dCBjbGFzc2VzIGluc3RlYWQuXHJcbiAgICAgICAgLy8gJi5wcm9kdWN0IHtcclxuICAgICAgICAvLyAgICAgLmltYWdlIGltZyB7XHJcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW46ICRjb2xsZWN0aW9uLXByb2R1Y3QtaW1hZ2UtbWFyZ2luO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgICYuaW1hZ2Uge1xyXG4gICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhpcyBpcyB0cmFuc3BhcmVudCBqdXN0IGluY2FzZSB3ZSBoYXZlIGFueSAucG5nIGJhbm5lcnMuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnByb2R1Y3Qge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGNvbGxlY3Rpb24taXRlbS1wYWRkaW5nLWJvdHRvbTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY3Rpb24tcHJvZHVjdC1jZWxsLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgLmdyb3VwLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggc3BhY2luZy12YWx1ZSgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCAyLCBub24tY29tcGFjdCkgNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEuZ3JvdXAtZGVzY3JpcHRpb24gKyBhOmhhcyguZGVzY3JpcHRpb24pIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgLy8gVGhpcyB3YXMgY2F1c2luZyBpc3N1ZSB3aGVuIGFwcGx5aW5nIGxheW91dCBzdHlsaW5nLCB3aGljaCB3YXMgY2F1c2luZyB0aGlzIHJ1bGUgdG8gYmUgdmVyeSBkaWZmY3VsdCB0byBvdmVycmlkZS5cclxuICAgICAgICAgICAgICAgIC8vICY6bm90KDplbXB0eSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1wYWRkaW5nLCBub24tY29tcGFjdCk7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAvLyBGbGlwIHRoZSBsb2dpYy5cclxuICAgICAgICAgICAgICAgICY6aXMoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBjYXJvdXNlbC1jb2xsZWN0aW9uLXNoYWRvdygpO1xyXG4gICAgfSAgIFxyXG4gICAgLmNvbGxlY3Rpb24taW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIHRvIHNjYWxlIHRoZSBpbWFnZSB0byBtYXggYXZhbGlhYmxlIHNwYWNlICsgbWFrZSBzdXJlIC5pbWFnZSBpcyBhIGJsb2NrIGVsZW1lbnQgb3IgaW1hZ2Ugd2lsbCBmYWlsIHRvIGRpc3BsYXkgb24gQXBwbGUgZGV2aWNlcy5cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgdGhpcyBhcyBpdCB3YXMgY2F1c2luZyB0aGUgZXF1YWxpc2VyIHRvIGFzc2lnbiBoZWlnaHQ6IDA7IGZvciBpT1MgZGV2aWNlcyB1c2luZyBDaHJvbWUgbW9yZSBvbiB0aGlzIG9uIDg0MjY4Ny5cclxuICAgICAgICAvLyBDaGFuZ2UgdG8gZml0LWNvbnRlbnQgZm9yIGJvcmRlci1yYWRpdXMgZWZmZWN0IGFzIHRoaXMgd2FzIGN1dCBvZmYgaW4gY29tcGFjdCB2aWV3LCBjYW5ub3QgdXNlIHRoaXMgYXMgQ2hyb21lIG9uIGlPUyBjYXVzZXMgdGhlIGVxdWFsaXNlciB0byBpbmNvcnJlY3RseSBhc3NpZ24gaGVpZ2h0OiAwO1xyXG4gICAgICAgIC8vIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtbWFyZ2luKTtcclxuICAgICAgICAvL2JvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkY29sbGVjdGlvbi1jZWxsLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIC8vIFNldHRpbmcgb3ZlcmZsb3cgdG8gZW5zdXJlIHNxdWFyZWQgaW1hZ2VzIGRvbid0IG92ZXJyaWRlIHRoZSBib3JkZXItcmFkaXVzIG9mIHRoZSBjZWxsIHdoaWNoIHdpbGwgcmVzdWx0IGluIHNxdWFyZWQgZWRnZXMgYXQgdGhlIHRvcCBvZiB0aGUgY2VsbCBhbmQgcm91bmRlZCBhdCB0aGUgYm90dG9tLlxyXG4gICAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWltYWdlLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBmbGV4LXNoaW5rIGR1ZSB0byBpbWFnZXMgYmVpbmcgc3RyZXRjaGVkIGluIGllLlxyXG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYWJlbC12YWx1ZS1wYWlyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250ZW50LXBhZGRpbmc7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGVudC1wYWRkaW5nO1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRwcm9kdWN0LWxpc3QtZ3JpZC1sYWJlbC12YWx1ZS1hbGlnbWVuZW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kZXBhcnRtZW50LWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICRjb2xvdXI0KTtcclxuICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC8vIEFzIHdlIGRvbid0IGtub3cgdGhlIGRlZmF1bHQgY29sb3VyIHVzaW5nIGEgbmV1dHJhbCBjb2xvdXIgaW5zdGVhZC5cclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLXR5cG9ncmFwaHkoKTtcclxuICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjb2xsZWNpdG9uLWRlc2NyaXB0aW9uLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICBjb2xvcjogIG1hcC1nZXQoJGNvbGxlY3Rpb24tYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB9XHJcbiAgICAuc3BlY2lmaWNhdGlvbiB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29kZSB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xsZWN0aW9uLWNvZGUtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tY29kZS1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcHJpY2UodHJ1ZSk7XHJcbiAgICBAaW5jbHVkZSBycnAoKTtcclxuICAgIEBpbmNsdWRlIHNhdmluZygpO1xyXG4gICAgZm9ybSwgLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyLCAuc3RvY2tsaW5lLXZpZXctYnV0dG9uIHtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMCAwO1xyXG4gICAgfVxyXG4gICAgLmFkZFRvQmFza2V0Lmljb24ge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5mYXZvdXJpdGVzQ29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbiAgICAvL0hhbmRsZXMgcXVhbnRpdHkgc2VsZWN0b3JzIHRoYXQgYXJlIGluIHRoZSBjYXJvdXNlbC5cclxuICAgIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogODBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFNwZWNpZmljYWxseSBmb3Iga2VlcGluZyB0eXBvZ3JhcGh5IGluc3luYyBhY3Jvc3MgY29sbGVjdGlvbnMgYW5kIHRhYmxlcy5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi10eXBvZ3JhcGh5KCkge1xyXG4gICAgLmdyb3VwLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY3Rpb24tZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWdyb3VwLWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkY29sbGVjdGlvbi1kZXNjcmlwdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1lYmctZGVzY3JpcHRpb24tYXJyYW5nZS1zaWRlKCkge1xyXG4gICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAxNy41cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIFdoZW4gc2hvd2luZyBtdWx0aW1lZGlhIGNvbnRlbnQgcmlnaHQgb3IgbGVmdCB0aGVuIGFkZCBwYWRkaW5nIGFib3ZlIHRleHQgY29udGVudCBzbyB0aGUgZmlyc3QgaXRlbSBpcyBub3QgcmlkaW5nIG9uIHRoZSBib3JkZXIgb2YgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWZpcnN0LWl0ZW0tcGFkZGluZygpIHtcclxuICAgIC8vIEFzc3VtZSB0aGVyZSB3aWxsIGFsd2F5cyBiZSBhbiBpbWFnZS5cclxuICAgICY6aGFzKHNwYW4uaW1hZ2UpID4gYTpudGgtY2hpbGQoMikge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLXBhZGRpbmcsIDEsICdjb21wYWN0Jyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtZ3JvdXAtZGVzY3JpcHRpb24oKSB7XHJcbiAgICAuZ3JvdXAtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWltYWdlLWFycmFuZ2Utc2lkZSgpIHtcclxuICAgIC5pbWFnZSB7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgZml0LWNvbnRlbnQgd2lsbCBmaWdodCBhZ2FpbnN0IGFzcGVjdC1yYXRpbyBydWxlIGFzIGZpdC1jb250ZW50IHdpbGwgdHJ5IHRvIHNocmluayB0aGUgY29udGFpbmVyIHdoZW4gdGhlIHBhZ2UgaXMgbG9hZGluZyBjYXVzaW5nIGEgQ0xTIGlzc3VlLlxyXG4gICAgICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBAaWYgKG1lZGl1bS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXMpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBtZWRpdW0tdmFsdWUoJGNvbGxlY3Rpb24tbGF5b3V0LXN0eWxlLTEtZ3JpZC1pbWFnZS1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXMpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1sYXlvdXQtc3R5bGUtMS1ncmlkLWltYWdlLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBwcm9kdWN0LWNvbGxlY3Rpb24tY29udGVudC1hcnJhbmdlLXNpZGUtcmVhZC1tb3JlLWNvbnRlbnQtY29udGFpbmVyKCkge1xyXG4gICAgW2RhdGEtY29udGVudC1jb250YWluZXJdIHtcclxuICAgICAgICBoZWlnaHQ6IDEyNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaWRlLWNhbGxiYWNrLWNvbnRhaW5lcigpIHtcclxuICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1jb250ZW50LWFycmFuZ2Utc2lkZS1idXR0b24tY29udGFpbmVycygpIHtcclxuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLnN0b2NrbGluZS12aWV3LWJ1dHRvbiwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDc2JTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcHJvZHVjdC1jb2xsZWN0aW9uLWNvbnRlbnQtYXJyYW5nZS1zaXplLWZvcm1zKCkge1xyXG4gICAgZm9ybSB7IFxyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHByb2R1Y3QtY29sbGVjdGlvbi1yb3ctY29udGVudC1vcmRlcigkcmV2ZXJzZS1jb2x1bW5zOiBmYWxzZSkge1xyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgIC8vIElzIHRoaXMgYW4gRUJHPyBcclxuICAgICAgICAmLmViZyB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gTW92aW5nIHRvd2FyZHMgY29udGFpbmluZyBhbGwgY2VsbCBjb3B5IC8gZGV0YWlscyAvIGRhdGEgaW50byBvbmUgY29udGFpbmVyLlxyXG4gICAgICAgIFtkYXRhLWNvbnRlbnQtY29udGFpbmVyXSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxIC8gc3BhbiA0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMiwgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDQ7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBpZigkcmV2ZXJzZS1jb2x1bW5zLCAxLCAyKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IGlmKCRyZXZlcnNlLWNvbHVtbnMsIDEsIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiAzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZ3JpZC1yb3c6IDQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFJlbW92ZSBncmlkLXJvdyBhbmQganVzdCBsZXQgdGhlIGdyaWQgYXV0byBwbGFjZSB0aGUgcmVzdCBvZiB0aGUgaXRlbXMuXHJcbiAgICAgICAgLnN0b2NrLWluZGljYXRvciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBpZigkcmV2ZXJzZS1jb2x1bW5zLCAxLCAyKTtcclxuICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiA1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWFudGl0eS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcclxuICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiA1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51bml0LW9mLW1lYXN1cmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogaWYoJHJldmVyc2UtY29sdW1ucywgMSwgMik7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLXJvdzogNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIsIC5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIHNwYW4gMjtcclxuICAgICAgICAgICAgICAgIC8vIGdyaWQtcm93OiA1O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbkBtaXhpbiBjYXJvdXNlbC1jb2xsZWN0aW9uLXNoYWRvdygpIHtcclxuICAgIC8vIG1heC13aWR0aDogOTglO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGlmICgkY29sbGVjdGlvbi1jZWxsLWJveC1zaGFkb3ctaW52ZXJ0KSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIERlZmF1bHQgY29sbGVjdGlvbiBib3JkZXIuXHJcbkBtaXhpbiBjYXJvdXNlbC1jb2xsZWN0aW9uLXVuZGVybGluZSgpIHtcclxuICAgIGJvcmRlci13aWR0aDogJGNvbGxlY3Rpb24tc2xpZGUtYm9yZGVyLXdpZHRoO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLSBCYXNrZXQgc3VtbWFyeSBzZXBlcmF0b3IgLS0tIFxyXG5AbWl4aW4gYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCkge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogJGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDIwcHggMDtcclxuICAgIC8vIFN3aXRjaGluZyB0byB1c2luZyBib3JkZXIgcHJvcGVydHkgaW5zdGVhZCBvZiBzZXR0aW5nIGhlaWdodCBhcyBnZXR0aW5nIHdlaXJkIGluY29uc2lzdGFuY2llcyB3aGVuIHRoZSBicm93c2VyIHJlbmRlcnMgdGhlIHJ1bGVzIGJ5IH4uM3B4LiBodHRwczovL2pvaG5yZXNpZy5jb20vYmxvZy9zdWItcGl4ZWwtcHJvYmxlbXMtaW4tY3NzL1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgI3skY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHR9IDA7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkaGVhZGluZy1ydWxlLWNvbG91cjtcclxuICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaXRlbS1jb2xvdXI7XHJcbn1cclxuXHJcbi8vIC0tLS0tIE5vdGlmaWNhdGlvbnMgLS0tLS0gXHJcbi8vIC0tLSBPbiBwYWdlIC0tLSBcclxuQG1peGluIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygkcGFkZGluZzogKCksICRtYXJnaW46ICgpLCAkZm9udC1zaXplOiAxNHB4LCAkaWNvbi1zaXplOiAxOXB4KSB7XHJcblxyXG4gICAgLS1mb250LWZhbWlseTogI3skZm9udEF3ZXNvbWVTb2xpZH07XHJcblxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIC8vIElmIGNvbnRlbnQgaXMgaW4gYSBjb250YWluZXIgdGhlbiBkb24ndCB3cmFwICggZXNzZW50aWFsbHkgYmFja3dhcmRzIHN1cHBvcnQgKS5cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdhcDogc21hbGwtdmFsdWUoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWdhcCk7XHJcbiAgICBtYXJnaW46IGlmKG1hcC1oYXMta2V5KCRtYXJnaW4sIHByZXNldC0xKSwgbWFwLWdldCgkbWFyZ2luLCBwcmVzZXQtMSksIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLW1hcmdpbiwgcHJlc2V0LTIpKTtcclxuICAgIHBhZGRpbmc6IGlmKG1hcC1oYXMta2V5KCRwYWRkaW5nLCBwcmVzZXQtMSksIG1hcC1nZXQoJHBhZGRpbmcsIHByZXNldC0xKSwgbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tcGFkZGluZywgcHJlc2V0LTEpKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XHJcbiAgICBAaWYgKCRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm0pIHtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkb24tcGFnZS1ub3RpZmljYXRpb24tZ2FwKTtcclxuICAgIH1cclxuICAgICY6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtZmFtaWx5KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU3R5bGUgcHJlc2V0cy5cclxuICAgIC8vIERlZmF1bHQgLyBQcmVzZXQtMSBhcmUgdGhlIHNhbWUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IGJlZm9yZSBwcmVzZXQgY2xhc3NlcyB3ZXJlIGEgdGhpbmcuXHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8vIEluaXRpYWwgbGF5b3V0IGZvciBmdWxsIHBhZ2Ugbm90aWZpY2F0aW9ucyAoIGUuZyBubyBpdGVtcyBmb3VuZCBpbiBsaXN0cyApLlxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLy8gTWluaWZpZWQgbGF5b3V0LCB3aXRoIGFsaWdubWVudCBsZWZ0LlxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBpZihtYXAtaGFzLWtleSgkcGFkZGluZywgcHJlc2V0LTIpLCBtYXAtZ2V0KCRwYWRkaW5nLCBwcmVzZXQtMiksIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXBhZGRpbmcsIHByZXNldC0yKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29tcGFjdCB2ZXJzaW9uIG9uIHByZXNldC0xICggaS5lIHJlZHVjZWQgcGFkZGluZyApIHRvIGZpdCB3aXRoaW4gXHJcbiAgICAmLnByZXNldC0zIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBUeXBlIHByZXNldHMuXHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIEBpbmNsdWRlIHN1Y2Nlc3MtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgIEBpbmNsdWRlIHdhcm5pbmctY21zLWNvbnRhaW5lcigpO1xyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYWxlcnQtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgfVxyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZGlzYWJsZWQtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgfVxyXG4gICAgJi5pbmZvcm1hdGlvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW5mb3JtYXRpb24tY21zLWNvbnRhaW5lcigpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEljb24gdHlwZXMuXHJcbiAgICAmLmljb24tbm9uLXJldHVybmFibGUge1xyXG4gICAgICAgIC0tZm9udC1mYW1pbHk6ICN7JGV4cHJlc3MtZGVmYXVsdC1pY29uc307XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBub24tcmV0dXJuYWJsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFVzZWQgd2hlbiBzaG93aW5nIHRlY2huaWNhbCBlcnJvcnMgdG8gcHJlZml4IHRoZSBhY3R1YWwgZXJyb3IgaW4gYSBlbmQgdXNlciBmcmllbmRseSBmb3JtYXQuXHJcbiAgICAudXNlci1mcmllbmRseS1wcmVmaXgge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIE9MRCBzdHlsaW5nIHByZSAuY29udGVudC1jb250YWluZXIgKCBmYWxsYmFjayBpZiBubyBwcmVzZXQgaXMgYXNzaWduZWQgKVxyXG4gICAgPiBwIHtcclxuICAgICAgICAvL3dpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgLy8gR28gdG8gYmUgYmFzZWxpbmUgb3RoZXIgYW5jaG9ycyB3aWxsIGFwcGVhciBvbiBhIGRpZmZlcmVudCBsaW5lIG9uIHNvbWUgZm9udHMgKCBpLmUgZnVudGltZSApLlxyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gc3BhY2luZy12YWx1ZSgkb24tcGFnZS1ub3RpZmljYXRpb24tZ2FwLCAyLCBsYXJnZSkgYXV0byAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1mYW1pbHkpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRpY29uLXNpemU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0LCAkb24tcGFnZS1ub3RpZmljYXRpb24tbGluZS1oZWlnaHQpO1xyXG4gICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtYmxvY2txdW90ZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICB9XHJcbiAgICAvLyBPTEQgc3R5bGluZyBwcmUgLmNvbnRlbnQtY29udGFpbmVyLlxyXG4gICAgPiBwIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAjeygkaWNvbi1zaXplICsgNSl9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IFxyXG5cclxuQG1peGluIGRpc2FibGVkLWNtcy1jb250YWluZXIoKSB7XHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGluZm9ybWF0aW9uLWNtcy1jb250YWluZXIoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBpbmZvcm1hdGlvbik7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGluZm9ybWF0aW9uKTtcclxuICAgICY6bm90KC5pY29uLWNvbmZpZ3VyZWQpOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGluZm8tY2lyY2xlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGluZm9ybWF0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBpbmZvcm1hdGlvbik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGFsZXJ0LWNtcy1jb250YWluZXIoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAmOm5vdCguaWNvbi1jb25maWd1cmVkKTpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT0xEIHN0eWxpbmcgcHJlIC5jb250ZW50LWNvbnRhaW5lclxyXG4gICAgJiA+IHAge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBhIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICB9ICAgIFxyXG59XHJcbkBtaXhpbiB3YXJuaW5nLWNtcy1jb250YWluZXIoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCB3YXJuaW5nKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgJjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbnRlbnQtY29udGFpbmVyKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPTEQgc3R5bGluZyBwcmUgLmNvbnRlbnQtY29udGFpbmVyXHJcbiAgICAmID4gcCB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGEge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBzdWNjZXNzLWNtcy1jb250YWluZXIoKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBzdWNjZXNzKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgJjpub3QoLmljb24tY29uZmlndXJlZCk6aGFzKC5jb250ZW50LWNvbnRhaW5lcikge1xyXG4gICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhhcyguY29udGVudC1jb250YWluZXIpIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9MRCBzdHlsaW5nIHByZSAuY29udGVudC1jb250YWluZXJcclxuICAgICYgPiBwIHtcclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGU6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgc3VjY2Vzcyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENNUyBNaXhpbnMgLS0tLS0gXHJcbkBtaXhpbiBjbXMtdGFibGUoKSB7XHJcbiAgICBwOm5vdCg6ZW1wdHkpICsgdGFibGUsIHA6bm90KDplbXB0eSkgKyAuY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogJGNtcy10YWJsZS1zaWJsaW5nLW1hcmdpbjtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgLS10aGVhZC1ib3JkZXItY29sb3VyOiAkdGhlYWQtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAmOm5vdChbY2xhc3MqPXByZXNldF0pIHtcclxuICAgICAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwOyBcclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tdGhlYWQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRG9uJ3Qgc2V0IHRoZSBjb2xvdXIgaGVyZSBhcyBpdCBnZXRzIGRpZmZpY3VsdCB0byBvdmVycmlkZSAoIGkuZSBpbnRlcm5hbCBvbmx5IGRvY3VtZW50YXRpb24gKSwgaW5zdGVhZCBlaXRoZXIgdXNlIHByZXNldHMgb3Igc2V0IHRoZSBkZWZhdWx0IGluIF9zZXR0aW5ncy5zY3NzICR0YWJsZS1oZWFkLWZvbnQtY29sb3IuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtdGFibGUtaGVhZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAmLnJlc3BvbnNpdmUtdGFibGUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoW2NsYXNzKj1wcmVzZXRdKSB7XHJcbiAgICAgICAgICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGJvZHk6bm90KC5jb21wYXJpc29uLXN1bW1hcnkpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjbXMtdGFibGUtaGVhZGVyLWNvbHVtbi1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7ICBcclxuICAgICAgICAgICAgLy8gdGV4dC1hbGlnbjogJGNtcy10YWJsZS10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkY21zLXRhYmxlLWNvbHVtbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE9ubHkgYXBwbHkgdGhlIGdhcCBpZiB0aGVyZSBpcyB0aGVhZCBiZWZvcmUuXHJcbiAgICAgICAgdGhlYWRbY2xhc3MqPVwicHJlc2V0XCJdICsgdGJvZHkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZS1oZWFkZXItYm9keS1tYXJnaW4oKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkgeyAgICAgICBcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7IFxyXG4gICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZXNwb25zaXZlLXRhYmxlIHtcclxuICAgICAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLXJvdy1ib3R0b20tc3BhY2luZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGFibGUtcm93LWJvdHRvbS1zcGFjaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubm8td3JhcCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbXBhcmlzb24tdGFibGUge1xyXG4gICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy10YWJsZS1oZWFkLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHRhYmxlLWhlYWRlci1ib2R5LW1hcmdpbigkbWFyZ2luOiAkdGJvZHktbWFyZ2luKSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJG1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtYmxvY2txdW90ZSgpIHtcclxuICAgIGJsb2NrcXVvdGUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZ2FwOiAxNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNtcy1ibG9ja3F1b3RlLXBhZGRpbmcpO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtYmxvY2txdW90ZS1mb250LXNpemUpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1ibG9ja3F1b3RlLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkY21zLWJsb2NrcXVvdGUtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYmxvY2txdW90ZS1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aGFzKGltZykge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNtcy1ibG9ja3F1b3RlLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgYmxvY2txdW90ZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmxvY2txdW90ZSk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkY21zLWJsb2NrcXVvdGUtaWNvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRjbXMtYmxvY2txdW90ZS1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLWJsb2NrcXVvdGUtaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAuODtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5AbWl4aW4gY21zLWhlYWRpbmdzKCkge1xyXG4gICAgaDEge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMSk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMSkpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGgxKTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoMSk7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDEpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy11bmRlcmxpbmUsIGgxKSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgxKSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGgyKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGgyKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoMikpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDIpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGUsIGgyKTtcclxuICAgICAgICBAaWYgKCRjbXMtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLWhlYWRpbmctY29sb3VyLCBoMik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtaGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXVuZGVybGluZSwgaDIpKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDIpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXVuZGVybGluZSwgaDMpKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGgzKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGgzKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoMykpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDMpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGUsIGgzKTtcclxuICAgICAgICBAaWYgKCRjbXMtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLWhlYWRpbmctY29sb3VyLCBoMyk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtaGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMykpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoMyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDQge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoNCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNCkpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc2l6ZSwgaDQpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC13ZWlnaHQsIGg0KTtcclxuICAgICAgICBmb250LXN0eWxlOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXN0eWxlLCBoNCk7XHJcbiAgICAgICAgQGlmICgkY21zLWhlYWRpbmctZm9udC1mYW1pbHkpIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRjbXMtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWNvbG91ciwgaDQpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDQpKSB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy10ZXh0LXRyYW5zZm9ybSwgaDQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGg1IHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDUpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctcGFkZGluZywgaDUpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg1KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXNpemUsIGg1KSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtd2VpZ2h0LCBoNSk7XHJcbiAgICAgICAgZm9udC1zdHlsZTogbWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zdHlsZSwgaDUpO1xyXG4gICAgICAgIEBpZiAoJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkY21zLWhlYWRpbmctZm9udC1mYW1pbHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1jb2xvdXIsIGg1KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGNtcy1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg1KSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbWFwLWdldCgkY21zLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0sIGg1KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoNiB7XHJcbiAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg2KTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXBhZGRpbmcsIGg2KSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1wYWRkaW5nLCBoNik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkY21zLWhlYWRpbmctZm9udC1zaXplLCBoNikpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1mb250LXdlaWdodCwgaDYpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IG1hcC1nZXQoJGNtcy1oZWFkaW5nLWZvbnQtc3R5bGUsIGg2KTtcclxuICAgICAgICBAaWYgKCRjbXMtaGVhZGluZy1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGNtcy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLWhlYWRpbmctY29sb3VyLCBoNik7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRjbXMtaGVhZGluZy1saW5lLWhlaWdodDtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNikpIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGNtcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtLCBoNik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBjbXMtcGFyYWdyYXBoKCRmb250LXdlaWdodDogJGNtcy1wYXJhZ3JhcGgtZm9udC13ZWlnaHQsICRsaW5lLWhlaWdodDogJGNtcy1wYXJhZ3JhcGgtbGluZS1oZWlnaHQsICRmb250LXNpemU6ICRjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZSkge1xyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiB2YXIoLS1pbmRlbnQtbWFyZ2luLCAkY21zLXBhcmFncmFwaC1tYXJnaW4pO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkY21zLXBhcmFncmFwaC1jb2xvdXI7XHJcbiAgICAgICAgLy8gSWYgYW4gaW1hZ2UgaXMgYmVsbG93ICYgbGVmdCBhbGlnbmVkLlxyXG4gICAgICAgIC8vIFN3aXRjaGluZyB0byBlbSdzIHRvIHNjYWxlIG1hcmdpbiB3aXRoIGlubGluZSBmb250IHNpemUsIHRoaXMgd2FzIGEgcHJvYmxlbSBmb3IgQ0tFZGl0b3I0IHdoZW4gdGhlIGZsb2F0IHByb3BlcnR5IGlzIGFwcGxpZWQgdmlhIGlubGluZSBzdHlsZXMgdG8gdGhlIGltZyBhZ2FpbnN0IGEgc2luZ2xlIGxpbmUgcGllY2Ugb2YgdGV4dCB3aGljaCB3b3VsZCBjYXVzZSB0aGUgbGF5b3V0IHRvIGJyZWFrLlxyXG4gICAgICAgIGltZ1tzdHlsZSo9XCJmbG9hdDpsZWZ0XCJdLCBpbWdbc3R5bGUqPVwiZmxvYXQ6IGxlZnRcIl0sICZbc3R5bGUqPVwiZmxvYXQ6bGVmdFwiXSA+IGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLjJlbSAuMmVtIC4yZW0gMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgYW4gaW1hZ2UgaXMgYmVsbG93ICYgcmlnaHQgYWxpZ25lZC5cclxuICAgICAgICBpbWdbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0sIGltZ1tzdHlsZSo9XCJmbG9hdDogcmlnaHRcIl0sICZbc3R5bGUqPVwiZmxvYXQ6cmlnaHRcIl0gPiBpbWcge1xyXG4gICAgICAgICAgICBtYXJnaW46IC4yZW0gMCAuMmVtIC4yZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogLjJlbSAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRjbXMtcGFyYWdyYXBoLXNpYmxpbmctbWFyZ2luO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkY21zLXBhcmFncmFwaC1zaWJsaW5nLW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgQGlmICgkY21zLXBhcmFncmFwaC1zdHJvbmctZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXBhcmFncmFwaC1zdHJvbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkY21zLXBhcmFncmFwaC1zdHJvbmctbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkY21zLXBhcmFncmFwaC1zdHJvbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuQG1peGluIGNtcy1saXN0cygkZm9udC13ZWlnaHQ6ICRjbXMtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0LCAkbGluZS1oZWlnaHQ6ICRjbXMtbGlzdC1saW5lLWhlaWdodCwgJGZvbnQtc2l6ZTogJGNtcy1wYXJhZ3JhcGgtZm9udC1zaXplKSB7XHJcbiAgICB1bCwgb2wge1xyXG4gICAgICAgIC8vIExpc3RzIHNob3VsZCBhbHdheXMgaWdub3JlIGNvbnRhaW5lciB0ZXh0LWFsaWduIGFuZCBiZSBhbGlnbmVkIHRvIHRoZSBsZWZ0LlxyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAkY21zLWxpc3QtbWFyZ2luO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgICAgICAvLyBsaXN0LXN0eWxlOiBkaXNjO1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgLy9tYXJnaW46IDI1cHggMDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNwYWNpbmctdmFsdWUoJGNtcy1saXN0LXBhZGRpbmcsIDQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBsaSB7XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzIGFzIHdlJ3JlIHVzaW5nIHRoZSBwc2V1ZG8gZWxlbWVudCBpbnN0ZWFkLlxyXG4gICAgICAgICAgICAvLyAmOjptYXJrZXIge1xyXG4gICAgICAgICAgICAvLyAgICAgY29sb3I6ICRjb2xvdXIzLTc7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnVsbGV0cG9pbnQoKTtcclxuICAgIH1cclxuICAgIC8vIFRPRE86IHRoaXMgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjEzNjk4NDMvaXMtdGhlcmUtYS13YXktdG8tbWFrZS1udW1iZXJzLWluLWFuLW9yZGVyZWQtbGlzdC1ib2xkXHJcbiAgICBvbCB7XHJcbiAgICAgICAgbWFyZ2luOiAkY21zLWxpc3QtbWFyZ2luO1xyXG4gICAgICAgIHBhZGRpbmc6ICRjbXMtbGlzdC1wYWRkaW5nO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgb2wge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcclxuICAgICAgICAgICAgb2wge1xyXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcclxuICAgICAgICAgICAgICAgIG9sIHtcclxuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xyXG4gICAgICAgICAgICAgICAgICAgIG9sIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1yb21hbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgY29sb3I6ICRjbXMtcGFyYWdyYXBoLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcclxuICAgIH1cclxuICAgIC8vID4gdWwgbGkgKyBsaSB7XHJcbiAgICAgICAgLy8gbWFyZ2luLXRvcDogJGNtcy1wYXJhZ3JhcGgtc2libGluZy1tYXJnaW47XHJcbiAgICAvLyB9XHJcbiAgICAvLyBNYWtlIHN1cmUgbGlzdHMgZG9udCBidXR0IHVwIGFnYWluc3QgaGVhZGluZ3MuXHJcbiAgICB1bCArIGgxLCBvbCArIGgxIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDFcIik7XHJcbiAgICB9XHJcbiAgICB1bCArIGgyLCBvbCArIGgyIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDJcIik7XHJcbiAgICB9XHJcbiAgICB1bCArIGgzLCBvbCArIGgzIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDNcIik7XHJcbiAgICB9XHJcbiAgICB1bCArIGg0LCBvbCArIGg0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDRcIik7XHJcbiAgICB9XHJcbiAgICB1bCArIGg1LCBvbCArIGg1IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDVcIik7XHJcbiAgICB9XHJcbiAgICB1bCArIGg2LCBvbCArIGg2IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtaGVhZGluZy1tYXJnaW4sIDMsIFwiaDZcIik7XHJcbiAgICB9XHJcbiAgICBkbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNtcy1jb2RlKCkge1xyXG4gICAgY29kZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRjbXMtY29kZS1ibG9jay1wYWRkaW5nKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0zO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkY21zLWNvZGUtYmxvY2stcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29kZS1jb3B5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtIDE1cHgpO1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29kZS1jb3B5LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIHBhZGRpbmcgJHRyYW5zaXRpb25PdXRybywgb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjbGlwYm9hcmQtY29weSk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5hY3RpdmUsICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nICR0cmFuc2l0aW9uSW50cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtYW5jaG9yKCkge1xyXG4gICAgYSB7XHJcbiAgICAgICAgLy8gQXZvaWQgc3R5bGluZyBpZiB0aGlzIGlzIGEgYnV0dG9uLlxyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRoaXMgYXMgaXQgd2FzIGdldHRpbmcgaW4gd2F5IG9mIGFuY2hvciBpbnNpZGUgb2YgdGFibGVzIHdoZW4gbmVzdGVkIGluIGNtcyBjb250ZW50LlxyXG4gICAgICAgIC8vICY6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgICAgICZbaHJlZl49XCJ0ZWw6XCJdLCAmW2hyZWZePVwibWFpbHRvOlwiXSB7XHJcbiAgICAgICAgICAgICAgICAvL2NvbG9yOiBtYXAtZ2V0KCRjbXMtYW5jaG9yLWNvbnRhY3QtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLWFuY2hvci1jb250YWN0LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vY29sb3I6IG1hcC1nZXQoJGNtcy1hbmNob3ItY29udGFjdC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnNob3ctY29udGFjdC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJltocmVmXj1cIm1haWx0bzpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGVtYWlsKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJltocmVmXj1cInRlbDpcIl0uc2hvdy1jb250YWN0LWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRlbGVwaG9uZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaWNvbi1yb3RhdGUpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS10ZWxlcGhvbmUtaWNvbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAvLyBHaXZlIHRoZSBhbmNob3Igc29tZSBicmVhdGhpbmcgcm9vbSBmcm9tIHRoZSByZXN0IG9mIHRoZSBjb250ZW50LlxyXG4gICAgLy8gRG9uJ3QgYXBwbHkgdGhlIHBhZGRpbmcgaWYgdGhpcyBpcyBhIGJ1dHRvbi5cclxuICAgIHBcclxuICAgIGEge1xyXG4gICAgICAgICY6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XHJcbiAgICAgICAgICAgICRhbmNob3ItZ3V0dGVyLXNwYWNpbmc6IDAgNXB4O1xyXG4gICAgICAgICAgICAvLyBBcyBhIHRlc3QgdG8gc3RyaW5rIGNvbnRlbnQgaS5lIGltYWdlcyBkb3duLlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgLy8gQ2hhbmdpbmcgdG8gcm93IGluY2FzZSB0aGVyZSBpcyBtYXJrdXAgaW5zaWRlIG9mIHRoZSBhbmNob3IgKCBpLmUgc3Ryb25nIGZvciBheGlzIHZNZXJjaGFudCApXHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogJGFuY2hvci1ndXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgLy9wYWRkaW5nOiAkYW5jaG9yLWd1dHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1hbmNob3Itd2VpZ2h0O1xyXG5cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aGFzKFtzdHlsZSo9XCJmbG9hdFwiXSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLWltYWdlKCkge1xyXG5cdC8vIENrZWRpdG9yIDUgd3JhcHMgYWxsIGltYWdlcyBpbiBhIGZpZ3VyZSB0aGVuIGFwcGxpZXMgY2xhc3NpbmcgZm9yIGFsaWdubWVudCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGFkZGluZyBpbmxpbmUgQ1NTLCB3aGVuIGEgcGFnZSBpcyByZW5kZXJlZCB0aGUgQ2tlZGl0b3IncyBzdHlsZXNoZWV0IGlzIG5vdCBsb2FkZWQgaW4gb25seSB3aGVuIGluIHRoZSBlZGl0b3IgaXMgaW5pdGlhbGlzZWQuXHJcbiAgICBmaWd1cmUge1xyXG4gICAgICAgIC8vIElmIENLRWRpdG9yIGhhcyBhc3NpZ25lZCBhIGFic29sdXRlIHdpZHRoIG1ha2Ugc3VyZSBpdCBkb2Vzbid0IGV4cGFuZCBvdXRzaWRlIG9mIHRoZSB2aWV3cG9ydCB3aGVuIGluIG1vYmlsZS5cclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46ICRjbXMtaW1hZ2Utc3BhY2luZztcclxuICAgICAgICAvLyBPdmVycmlkaW5nIENrZWRpdG9yLlxyXG4gICAgICAgICYuaW1hZ2Uge1xyXG4gICAgICAgICAgICAvLyBTZXR0aW5nIGZpdC1jb250ZW50IHRvIGFsbG93IGZvciB0aGUgY29udGFpbmVyIHRvIG1hdGNoIHRoZSBpbWFnZSB3aWR0aCBidXQgcHJldmVudCB0aGUgY2FwdGlvbiBmcm9tIGV4cGFuZGluZyBmdXJ0aGVyIHRoYW4gdGhlIGltYWdlIHdpZHRoLlxyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGNtcy1pbWFnZS1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUZXh0IGZsb3cgYXJvdW5kIHRoZSBpbWFnZS5cclxuXHRcdCYuaW1hZ2Utc3R5bGUtYWxpZ24tcmlnaHQge1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICAgIC8vIE1hdGNoIHRvcCArIGJvdHRvbS5cclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmctdmFsdWUoJGNtcy1pbWFnZS1zcGFjaW5nLCAxKTtcclxuXHRcdH1cclxuXHRcdCYuaW1hZ2Utc3R5bGUtYWxpZ24tbGVmdCB7XHJcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgICAvLyBNYXRjaCB0b3AgKyBib3R0b20uXHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy12YWx1ZSgkY21zLWltYWdlLXNwYWNpbmcsIDEpO1xyXG5cdFx0fVxyXG4gICAgICAgIC8vIFRleHQgYnJlYWsuXHJcbiAgICAgICAgJi5pbWFnZS1zdHlsZS1ibG9jay1hbGlnbi1sZWZ0IHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbWFnZS1zdHlsZS1ibG9jay1hbGlnbi1yaWdodCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbY2xhc3MqPVwiaW1hZ2Utc3R5bGUtYmxvY2tcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmlnY2FwdGlvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHBhcmFncmFwaC1mb250LXNpemUgLSAyKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtaW1hZ2UtZ2FsbGFyeSgpIHtcclxuICAgIGRpdi5nYWxsYXJ5IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtYXJnaW46IDEwcHggMCAyMHB4O1xyXG4gICAgICAgICYuY2VsbC1ndXR0ZXJzIHtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IGltZyB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gY21zLXlvdXR1YmUtdmlkZW8oKSB7XHJcbiAgICBpZnJhbWVbc3JjKj1cImh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL1wiXSB7XHJcbiAgICAgICAgLy93aWR0aDogMTAwJTtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBjbXMtZ29vZ2xlLW1hcHMtZW1iZWRkZWQoKSB7XHJcbiAgICBpZnJhbWVbc3JjKj1cImh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9lbWJlZFwiXSB7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjE7XHJcbiAgICAgICAgQGlmICRzbW9vdGgtZWRnZXMtZW5hYmxlZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgIH0gIFxyXG59XHJcbi8vIFVzZWQgZm9yIHJlYWQgbW9yZSB0ZXh0LlxyXG5AbWl4aW4gc2ltcGxlLWZhZGUoJG9wYWNpdHk6ICRkZWZhdWx0LWZhZGUtb3BhY2l0eSwgJGZlYXRoZXI6ICRyZWFkLW1vcmUtZmVhdGhlci1kZWZhdWx0KSB7XHJcbiAgICBtYXNrLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCB0cmFuc3BhcmVudCAkb3BhY2l0eSwgJHJlYWQtbW9yZS1mYWRlLWNvbG91ciAkZmVhdGhlcilcclxufVxyXG4vLyBTcGVlY2ggYnViYmxlIGdlbmVyYXRvciAoIGh0dHBzOi8vcHJvamVjdHMudmVyb3UubWUvYnViYmx5LyApLlxyXG4vLyAkc2lkZTogXCJ0b3AsIHJpZ2h0LCBib3R0b20uIGxlZnRcIlxyXG5AbWl4aW4gc3BlZWNoLWJ1YmJsZSgkc2lkZTogXCJ0b3BcIiwgJHBvaW50ZXItc2l6ZTogNXB4LCAkYm9yZGVyLWNvbG91cjogJGNvbG91cjQsICRiYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjEpIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlLXBvaW50ZXIoJHNpZGUsICRwb2ludGVyLXNpemUsICRib3JkZXItY29sb3VyKTtcclxuICAgIH1cclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUtcG9pbnRlcigkc2lkZSwgKCRwb2ludGVyLXNpemUgLSAzKSwgJGJhY2tncm91bmQtY29sb3VyLCB0cnVlKTtcclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIHNwZWVjaC1idWJibGUtcG9pbnRlcigkc2lkZSwgJHBvaW50ZXItc2l6ZSwgJGJvcmRlci1jb2xvdXIsICRpcy1pbnRlcm5hbC1hcnJvdzogZmFsc2UpIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgQGlmICRzaWRlID09IFwidG9wXCIge1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICB9IEBlbHNlIGlmICRzaWRlID09IFwicmlnaHRcIiB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICB9IEBlbHNlIGlmICRzaWRlICA9PSBcImJvdHRvbVwiIHtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcImxlZnRcIiB7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBdHRlbXB0IHRvIHNjYWxlIGludGVybmFsIGFycm93IGJhc2VkIG9uIHRoZSB0b29sdG9wIGNvbnRlbnQgYm9yZGVyLlxyXG4gICAgICAgIGJvcmRlci13aWR0aDogI3tpZigkaXMtaW50ZXJuYWwtYXJyb3csICgkcG9pbnRlci1zaXplICsgKCR0b29sdGlwLWNvbnRlbnQtYm9yZGVyLXdpZHRoIC8gMikpLCAkcG9pbnRlci1zaXplKX1weDtcclxuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgQGlmICRzaWRlID09IFwidG9wXCIge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSN7JHBvaW50ZXItc2l6ZX1weDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0je2lmKCRpcy1pbnRlcm5hbC1hcnJvdywgKCRwb2ludGVyLXNpemUgKyAoJHRvb2x0aXAtY29udGVudC1ib3JkZXItd2lkdGggLyAyKSksICRwb2ludGVyLXNpemUpfXB4O1xyXG4gICAgICAgIH0gQGVsc2UgaWYgJHNpZGUgPT0gXCJyaWdodFwiIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLSN7JHBvaW50ZXItc2l6ZX1weDtcclxuICAgICAgICB9IEBlbHNlIGlmICRzaWRlID09IFwiYm90dG9tXCIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgfSBAZWxzZSBpZiAkc2lkZSA9PSBcImxlZnRcIiB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGJvcmRlci1jb2xvdXI7O1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSN7JHBvaW50ZXItc2l6ZX1weDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0jeyRwb2ludGVyLXNpemV9cHg7XHJcbiAgICAgICAgfVxyXG59XHJcblxyXG4vLyBPcmRlciBUYWJsZSBzdHlsZXMgKCB1c2VkIGZvciBiYXNrZXQsIGNoZWNrb3V0IGNvbXBsZXRlICYgdmlldyBvcmRlciApXHJcbkBtaXhpbiBvcmRlci10YWJsZSgpIHtcclxuICAgIC8vIEdsb2JhbCBiYXNrZXQgdGFibGUgcHJvcGVydGllcy5cclxuICAgIHRkLCB0aCB7XHJcbiAgICAgICAgJjpub3QoLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gdGQge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIC8vICAgICAgICAgcGFkZGluZzogJG9yZGVyLW1vYmlsZS1yb3ctcGFkZGluZztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAmLnJlYWQtb25seSB7XHJcbiAgICAgICAgLy8gdGQuYmFza2V0LXByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiA2O1xyXG4gICAgICAgICAgICAvLyAvLyBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgLy8gLmxhYmVsIHtcclxuICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgLy8gICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vIH1cclxuICAgICAgICB0ZC5iYXNrZXQtY3VycmVudC1wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogNztcclxuICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gLmxhYmVsIHtcclxuICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgLy8gICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIC8vICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQuYWRkLXRvLWJhc2tldC1jb2wge1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogODtcclxuICAgICAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgIC8vICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgICAgICAvLyAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0ZC5iYXNrZXQtcXVhbnRpdHkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIHdpZHRoIHNvIG9wdGlvbmFsIGV4dHJhJ3Mgd2l0aG91dCBhbiBpbWFnZSB0aGUgZGVzY3JpcHRpb25zIGhvbGRzIGluIHBsYWNlLlxyXG4gICAgICAgICAgICB3aWR0aDogMTc1cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNDBweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAobWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgbGFyZ2UpKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDYW5ub3QgcHJldmVudCBoZWlnaHQgZHVlIHRvIG5lZWRpbmcgdG8gc3VwcG9ydCByZWN0YW5nbGUgaW1hZ2VzLlxyXG4gICAgICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiBtYXAtZ2V0KCRvcmRlci10YWJsZS1pbWFnZS1kaW1lbnRpb25zLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLWltYWdlLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJG9yZGVyLXRhYmxlLWltYWdlLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuYmFza2V0LWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBvcmRlcjogMTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gMiBzcGFuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBEb250IHNldCBhIGFic29sdXRlIHdpdGggb3RoZXJ3aXNlIHRoaXMgd2lsbCBub3Qgc2NhbGUgd2VsbC5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIHdpZHRoOiA0NTBweDtcclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAuc3RvY2stZGVzY3JpcHRpb24tbGV2ZWwge1xyXG4gICAgICAgIG1pbi13aWR0aDogNDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleDogMTtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBnYXA6ICRiYXNrZXQtc3RvY2stZGVzY3JpcHRpb24tZ2FwO1xyXG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi10eXBvZ3JhcGh5KCk7XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtZGVzY3JpcHRpb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LWRlc2NyaXB0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1kZXNjcmlwdGlvbi10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRiYXNrZXQtZGVzY3JpcHRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWRlc2NyaXB0aW9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWRlc2NyaXB0aW9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgLnN0b2NrV2FybmluZyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIGNvbG9yOiByZ2JhKCRjb2xvdXIzLTMsIDAuNik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKTtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC5zdWJzaWRpYXJ5LWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRib2R5LWFuY2hvci1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoKCR0Ym9keS1hbmNob3ItZm9udC1zaXplIC0gMSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdGJvZHktYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgfVxyXG4gICAgLm5vbi1yZXR1cm5hYmxlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG5vbi1yZXR1cm5hYmxlKTtcclxuICAgICAgICAgICAgcGFkZGluZzogJHN0b2NrLWluZGljYXRvci1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpKTtcclxuICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LWNvZGUtY29sIHtcclxuICAgICAgICAvLyB3aWR0aDogbWFwLWdldCgkb3JkZXItdGFibGUtaW1hZ2UtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAvLyBvcmRlcjogMztcclxuICAgICAgICAvLyBmb250LXNpemU6IHJlbS1jYWxjKCRvcmRlci10YWJsZS1jb2RlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtcHJpY2UtY29sLCAuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcclxuICAgICAgICAvLyBmb250LXNpemU6IHJlbS1jYWxjKCRvcmRlci10YWJsZS1wcmljZS1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52YXQtcmF0ZS1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG5cclxuICAgIHRkLmJhc2tldC1wcmljZS1jb2wge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRvcmRlci10YWJsZS1wcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiAxMiU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuYmFza2V0LWN1cnJlbnQtcHJpY2UtY29sIHtcclxuICAgICAgICBmb250LXdlaWdodDogJG9yZGVyLXRhYmxlLXByaWNlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFkZC10by1iYXNrZXQtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1xdWFudGl0eSB7XHJcbiAgICAgICAgLy8gd2lkdGg6IDM1JTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gb3JkZXI6IDU7XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIC8vICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBkZWZhdWx0IHN0eWxlcyBmb3IgdGhlIGZyZWUgdGV4dCBxdWFudGl0eSBzZWxlY3Rvci5cclxuICAgICAgICAuaW5wdXQtbnVtYmVyLWdyb3VwIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtc3ViLXRvdGFsIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMSU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICAvLyBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJG9yZGVyLXRhYmxlLXN1Yi10b3RhbC1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJG9yZGVyLXRhYmxlLXN1Yi10b3RhbC1jb2xvdXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXJlbW92ZS1jb2wgeyAgXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuYmFza2V0LXJlbW92ZS1jb2wge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBvcmRlcjogNjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlbW92ZS1idXR0b24ge1xyXG4gICAgICAgIHdpZHRoOiAkb3JkZXItdGFibGUtcmVtb3ZlLWJ1dHRvbi1zaXplO1xyXG4gICAgICAgIGhlaWdodDogJG9yZGVyLXRhYmxlLXJlbW92ZS1idXR0b24tc2l6ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGNvbG9yOiAkYmFza2V0Qm9keVJlbW92ZUNvbG91cjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGZvciBnZW5lcmljIC5yZW1vdmUtYnV0dG9uIGluIF90YWJsZXMuc2Nzcy5cclxuICAgICAgICAvLyAmOmJlZm9yZSB7XHJcbiAgICAgICAgLy8gICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1yZW1vdmUpO1xyXG4gICAgICAgIC8vICAgICBmb250LXNpemU6ICgkb3JkZXItdGFibGUtcmVtb3ZlLWJ1dHRvbi1zaXplIC8gNCk7XHJcbiAgICAgICAgLy8gICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAvLyAgICAgY29sb3I6IG1hcC1nZXQoJG9yZGVyLXRhYmxlLXJlbW92ZS1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgLy8gICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC8vICY6aG92ZXIge1xyXG4gICAgICAgIC8vICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgLy8gICAgICAgICBjb2xvcjogbWFwLWdldCgkb3JkZXItdGFibGUtcmVtb3ZlLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgLy8gICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvXHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gJjphY3RpdmUge1xyXG4gICAgICAgIC8vICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgLy8gICAgICAgICBjb2xvcjogbWFwLWdldCgkb3JkZXItdGFibGUtcmVtb3ZlLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIC8vICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRyb1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIFxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmJhc2tldFVwZGF0ZVJvdyB7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRiYXNrZXRIZWFkQm9yZGVyQ29sb3VyO1xyXG4gICAgfVxyXG4gICAgLmJhc2tldC1pdGVtLXJvdyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAvLyBXZSB1c2VkIHRvIG5vdCB1c2UgZ3JpZCBsYXlvdXQgZHVlIHRvIElFIHN1cHBvcnQgYnV0IGFzIHdlIG5vIGxvbmdlciBzdXBwb3J0IElFIHRpbWUgdG8gbWFrZSBvdXIgbGlmZSdzIGVhc2llciEuXHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgLy8gcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAvLyBDcmVhdGUgYSAyIGNvbHVtbiBhcnJhbmdlbWVudC5cclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMTIwcHgsIG1heC1jb250ZW50KSBtaW5tYXgoMTIwcHgsIG1heC1jb250ZW50KTtcclxuICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gU3RhbmRhcmQgc3R5bGVzIGFkZGVkIHRvIG1lbnUgZHJvcGRvd25zLlxyXG5AbWl4aW4gZHJvcGRvd24tZm9vdGVyKCRzdXBwcmVzcy1wYWRkaW5nOiBmYWxzZSkge1xyXG4gICAgQGlmIG5vdCAoJHN1cHByZXNzLXBhZGRpbmcpIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJG1vYmlsZS1tZW51LWZvb3Rlci1wYWRkaW5nLWJvdHRvbTsgXHJcbiAgICB9XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3Rlci1ib3JkZXI7XHJcbn1cclxuXHJcbkBtaXhpbiBkcm9wZG93bi1mb290ZXItYm9yZGVyKCkge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJG1lbnUtZm9vdGVyLWJvcmRlci1ib3R0b20tY29sb3VyO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgJG1lbnUtZm9vdGVyLWJvcmRlci1ib3R0b20tc2l6ZSAwO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxufVxyXG5cclxuLy8gTWVudSBob3ZlciBpY29uIC8gaXMtc3VibWVudS1wYXJlbnQuXHJcbkBtaXhpbiBtZW51LWl0ZW0tcHJlZml4LWljb24oKSB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVnYS1tZW51LWxpbmstaWNvbik7XHJcbiAgICAgICAgaGVpZ2h0OiAkbWVnYS1tZW51LWxpbmstaWNvbi1zaXplO1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lZ2EtbWVudS1saW5rLWljb24tcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLy8gQWx3YXlzIHNob3cgYXJyb3dzIGluIG1vYmlsZS5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICBmb250LXNpemU6ICRtZWdhLW1lbnUtbGluay1pY29uLXNpemU7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRtZWdhLW1lbnUtbGluay1pY29uLXNpemU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lZ2EtbWVudS1saW5rLWljb24tcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuQG1peGluIGNvbnRlbnQtbG9hZGluZy1zcGlubmVyKCRzcGlubmVyLWNvbG91cjogJGNvbG91cjQpIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHdpZHRoOiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1zaXplIC0gKCRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXdlaWdodCAqIDIpO1xyXG4gICAgICAgIGhlaWdodDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZSAtICgkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci13ZWlnaHQgKiAyKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBib3JkZXI6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXdlaWdodCBzb2xpZCByZ2JhKCRzcGlubmVyLWNvbG91ciwgLjIpO1xyXG4gICAgICAgIGJvcmRlci10b3A6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXdlaWdodCBzb2xpZCAkc3Bpbm5lci1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuMnMgZWFzZSAwcztcclxuICAgICAgICBhbmltYXRpb246IHNwaW4gLjdzIGN1YmljLWJlemllcigwLjU2MCwgMC4xMTAsIDAuMjIwLCAwLjg2NSkgMHMgaW5maW5pdGU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgIC8vIGFuaW1hdGlvbiBrZXlmcmFtZXNcclxuICAgIEBrZXlmcmFtZXMgc3BpbiB7XHJcbiAgICAgICAgZnJvbSAgeyB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cclxuICAgICAgICB0byAgICB7IHRyYW5zZm9ybTogcm90YXRlKDQwNWRlZyk7IH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gSW4gbW9iaWxlIHRoZSB0b2dnbGUgYmFyIHRyaWdnZXJzIHRoaW5ncyBsaWtlIGJhc2tldCwgc2VhcmNoICYgc2l0ZSBuYXZpZ2F0aW9uLCB0aGlzIGlzIHRoZSBnZW5lcmljIHN0eWxlcyB0aG9zZSBtZW51J3MgLyBwb3B1cHMgdXNlLlxyXG5AbWl4aW4gaGVhZGVyLW1vYmlsZS1tZW51KCkge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6ICRoZWFkZXItbW9iaWxlLW1lbnUtbWF4LWhlaWdodDtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICB6LWluZGV4OiAkaGVhZGVyLW1vYmlsZS1tZW51LXotaW5kZXg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBCdWlsZCBjb2xvdXIgcGFsbGV0ZSB0b25lcy5cclxuQG1peGluIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcygkY29sb3VyLW5hbWUsICRjb2xvdXJzKSB7XHJcbiAgICAvLyBDaGVjayBpZiB2YXJpYWJsZSBleGlzdC5cclxuICAgIEBpZiBub3QgKHZhcmlhYmxlLWV4aXN0cygkY29sb3VyLW5hbWUpKSB7XHJcbiAgICAgICAgQGRlYnVnIFwiQ29sb3VyIG1hcCBcIiAjeyRjb2xvdXItbmFtZX0gXCIgZG9lc24ndCBleGlzdCBmb3Igc2l0ZSAjeyRzaXRlfVwiO1xyXG4gICAgfVxyXG4gICAgQGVhY2ggJGxpZ2h0bmVzcywgJGNvbG91ciBpbiAkY29sb3VycyB7XHJcbiAgICAgICAgLS0jeyRjb2xvdXItbmFtZX0tbGlnaHRuZXNzLSN7JGxpZ2h0bmVzc306ICN7JGNvbG91cn07XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1lZ2EgbWVudSBwYXJlbnQgbGV2ZWwgMiBzdHlsZXMuXHJcbkBtaXhpbiBtZWdhLW1lbnUtbGV2ZWwtMi1hbmNob3IoJHBhcmVudC1jb2xvdXIpIHtcclxuICAgID4gYSB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nKSAhPSAkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb2xvcjogJHBhcmVudC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICBsaW5lLWhlaWdodDogJG1lZ2EtbWVudS1wYXJlbnQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRtZWdhLW1lbnUtcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtcGFyZW50LXRleHQtZGVjb3JhdGlvbi1ob3ZlciAhPSBcIm5vbmVcIikge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkbWVnYS1tZW51LXBhcmVudC10ZXh0LWRlY29yYXRpb24taG92ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1mb250LXdlaWdodCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBNZWdhIG1lbnUgcm9vdCBwYXJlbnQgZHJvcGRvd24gYXJyb3dzLlxyXG5AbWl4aW4gbWVnZS1tZW51LXJvb3QtZHJvcGRvd24tYXJyb3coJGRlZmF1bHQtY29sb3VyLCAkaG92ZXItY29sb3VyKSB7XHJcbiAgICAmOmhvdmVyID4gYSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgID4gYSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtY2xvc2UpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbiBzdHlsZXMuXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDAgYXV0byA0cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUb29sdG9wIGNvbnRlbnQgY29udGFpbmVyIHBvc2l0aW9uaW5nLCB0aGlzIGdldHMgY2FsbGVkIGlmIHRoZSBjb250ZW50IGdldHMgd3JhcHBlZCBpbiBhZGRpdGlvbmFsIGNvbnRhaW5lcihzKVxyXG5AbWl4aW4gdG9vbHRpcC1jb250ZW50LXBvc2l0aW9uaW5nKCkge1xyXG4gICAgd2lkdGg6ICR0b29sdGlwLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi8vIFZpZGVvIHBsYXkgaWNvbiBvdmVybGF5LlxyXG5AbWl4aW4gdmlkZW8tcGxheS1pY29uLW92ZXJsYXkoKSB7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24pO1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAvLyBBZGQgc2xpZ2h0IHNoaW0gZHVlIHRvIGZsZXhib3ggbm90IGp1c3RpZnlpbmcgcGVyZmVjdGx5IGNlbnRlci5cclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBjb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1iYWNrZ3JvdW5kKX0pOztcclxuICAgICAgICBib3JkZXI6ICN7JHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1ib3JkZXItd2lkdGh9IHNvbGlkIHZhcigje2RlZmF1bHQtY29sb3VyKCR2aWRlby1wbGF5ZXItdGh1bWJuYWlsLWljb24tY29sb3VyKX0pO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxufVxyXG5cclxuLy8gVmlkZW8gcmVwbGF5IGljb24gb3ZlcmxheSwgdGhpcyB3YXMgaW1wbGVtZW50ZWQgYWZ0ZXIgdGhlIHZpZGVvLXBsYXktaWNvbiBydWxlcywgaW4gaGluZHNpZ2h0IHRoaXMgY291bGQgYmUgbWFrZSBtb3JlIG1vZHVsYXIuXHJcbkBtaXhpbiB2aWRlby1yZXBsYXktaWNvbi1vdmVybGF5KCkge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdmlkZW8tcGxheWVyLXJlcGxheS10aHVtYm5haWwtaWNvbik7XHJcbiAgICAgICAgd2lkdGg6IDQwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGNvbG9yOiB2YXIoI3tkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cil9KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoI3tkZWZhdWx0LWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJhY2tncm91bmQpfSk7O1xyXG4gICAgICAgIGJvcmRlcjogI3skdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJvcmRlci13aWR0aH0gc29saWQgdmFyKCN7ZGVmYXVsdC1jb2xvdXIoJHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbi1jb2xvdXIpfSk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuQG1peGluIGZvbnQtZmFsbGJhY2soJG5hbWUsICRmYWxsYmFjaywgJG1ldHJpY3MpIHtcclxuICAgIEBmb250LWZhY2Uge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnI3skbmFtZX0gRmFsbGJhY2snO1xyXG4gICAgICAgIHNyYzogbG9jYWwoJyN7JGZhbGxiYWNrfScpO1xyXG4gICAgICAgIHNpemUtYWRqdXN0OiBtYXAtZ2V0KCRtZXRyaWNzLCBzaXplLWFkanVzdCk7XHJcbiAgICAgICAgYXNjZW50LW92ZXJyaWRlOiBtYXAtZ2V0KCRtZXRyaWNzLCBhc2NlbnQtb3ZlcnJpZGUpO1xyXG4gICAgICAgIGRlc2NlbnQtb3ZlcnJpZGU6IG1hcC1nZXQoJG1ldHJpY3MsIGRlc2NlbnQtb3ZlcnJpZGUpO1xyXG4gICAgICAgIGxpbmUtZ2FwLW92ZXJyaWRlOiBtYXAtZ2V0KCRtZXRyaWNzLCBsaW5lLWdhcC1vdmVycmlkZSk7XHJcbiAgICB9XHJcbn0iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4kdW5pdC13YXJuaW5nczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiBkaXZpZGUoJG51bSwgJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6IGRpdmlkZSgkYmFzZSwgMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gVXNpbmcgcmVtIGFzIGJhc2UgYWxsb3dzIGNvcnJlY3Qgc2NhbGluZ1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAaWYgJHVuaXQtd2FybmluZ3Mge1xuICAgICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIH1cbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIFRyYW5zZm9ybSBlbSBpbnRvIHJlbSBpZiBzb21lb25lIGhhbmRzIG92ZXIgJ2VtJ3NcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFyZW07XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbSBvciBlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IGRpdmlkZShzdHJpcC11bml0KCR2YWx1ZSksIHN0cmlwLXVuaXQoJGJhc2UpKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsLCBwZXJjZW50YWdlLCByZW0gb3IgZW0gdmFsdWUgdG8gYSB1bml0bGVzcyB2YWx1ZSBiYXNlZCBvbiBhIGdpdmVuIGZvbnQgc2l6ZS4gSWRlYWwgZm9yIHdvcmtpbmcgb3V0IHVuaXRsZXNzIGxpbmUgaGVpZ2h0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0IHRvIGEgdW5pdGxlc3MgbGluZSBoZWlnaHRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgLSBUaGUgZm9udCBzaXplIHRvIHVzZSB0byB3b3JrIG91dCB0aGUgbGluZSBoZWlnaHQgLSBkZWZhdWx0cyB0byAkZ2xvYmFsLWZvbnQtc2l6ZVxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIFVuaXRsZXNzIG51bWJlclxuQGZ1bmN0aW9uIHVuaXRsZXNzLWNhbGMoJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIEZpcnN0LCBsZXRzIGNvbnZlcnQgb3VyICRiYXNlIHRvIHBpeGVsc1xuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogZGl2aWRlKCRiYXNlLCAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ3JlbScge1xuICAgICRiYXNlOiBzdHJpcC11bml0KCRiYXNlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgdW5pdCgkYmFzZSkgPT0gJ2VtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIC8vIE5vdyBsZXQncyBjb252ZXJ0IG91ciB2YWx1ZSB0byBwaXhlbHMgdG9vXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJyUnIHtcbiAgICAkdmFsdWU6IGRpdmlkZSgkdmFsdWUsIDEwMCUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAqICRiYXNlO1xuICB9XG5cbiAgLy8gJ3B4J1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgIEByZXR1cm4gZGl2aWRlKHN0cmlwLXVuaXQoJHZhbHVlKSwgc3RyaXAtdW5pdCgkYmFzZSkpO1xuICB9XG5cbiAgLy8gYXNzdW1lIHRoYXQgbGluZS1oZWlnaHRzIGdyZWF0ZXIgdGhhbiAxMCBhcmUgbWVhbnQgdG8gYmUgYWJzb2x1dGUgaW4gJ3B4J1xuICBAaWYgdW5pdGxlc3MoJHZhbHVlKSBhbmQgKCR2YWx1ZSA+IDEwKSB7XG4gICAgQHJldHVybiBkaXZpZGUoJHZhbHVlLCBzdHJpcC11bml0KCRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXNcbiAqIFZlcnNpb24gNi43LjVcbiAqIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIC0tLSBEZXBlbmRlbmNpZXMgLS0tXG5AaW1wb3J0ICd2ZW5kb3Ivbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9jb250YWluJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyAtLS0gU2V0dGluZ3MgLS0tXG4vLyBpbXBvcnQgeW91ciBvd24gYHNldHRpbmdzYCBoZXJlIG9yXG4vLyBpbXBvcnQgYW5kIG1vZGlmeSB0aGUgZGVmYXVsdCBzZXR0aW5ncyB0aHJvdWdoXG4vLyBAaW1wb3J0ICdzZXR0aW5ncy9zZXR0aW5ncyc7XG5cbi8vIC0tLSBDb21wb25lbnRzIC0tLVxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuLy8gR2xvYmFsIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5cbi8vIEdyaWRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAneHktZ3JpZC94eS1ncmlkJztcbi8vIEdlbmVyaWMgY29tcG9uZW50c1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbi8vIEJhc2ljIGNvbXBvbmVudHNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbi8vIENvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXNwb25zaXZlLWVtYmVkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG4vLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5cbi8vIExheW91dCBjb21wb25lbnRzXG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcblxuLy8gSGVscGVyc1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3Byb3RvdHlwZS9wcm90b3R5cGUnO1xuXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoXG4gICRmbGV4OiB0cnVlLFxuICAkcHJvdG90eXBlOiBmYWxzZSxcbiAgJHh5LWdyaWQ6ICR4eS1ncmlkXG4pIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpZiAkeHktZ3JpZCB7XG4gICAgJHh5LWdyaWQ6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8vIEdsb2JhbCBzdHlsZXNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5cbiAgLy8gR3JpZHNcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHh5LWdyaWQge1xuICAgICAgQGluY2x1ZGUgZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXM7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEdlbmVyaWMgY29tcG9uZW50c1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICAvLyBCYXNpYyBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYXJkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcblxuICAvLyBDb250YWluZXJzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICAvLyBNZW51LWJhc2VkIGNvbnRhaW5lcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuXG4gIC8vIExheW91dCBjb21wb25lbnRzXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuXG4gIC8vIEhlbHBlcnNcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuICBAaWYgJGZsZXggeyBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlczsgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGlmICRwcm90b3R5cGUgeyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzOyB9XG59XG4iLCIvLyAtLS0tLSBUYWJsZSBTdHlsZXMgLS0tLS0gXHJcbi8vIC0tLSBUYWJsZSBIZWFkIC0tLSBcclxuLnRhYmxlLWZvb3Rlci1zcGFjZXIge1xyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc21hbGwtdmFsdWUoJHRhYmxlLWZvb3Rlci1zcGFjZXItbWFyZ2luLWJvdHRvbS1wcmVzZXQtMSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBsYXJnZS12YWx1ZSgkdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0xKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0yIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzbWFsbC12YWx1ZSgkdGFibGUtZm9vdGVyLXNwYWNlci1tYXJnaW4tYm90dG9tLXByZXNldC0yKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGxhcmdlLXZhbHVlKCR0YWJsZS1mb290ZXItc3BhY2VyLW1hcmdpbi1ib3R0b20tcHJlc2V0LTIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGhyIHtcclxuICAgICAgICBib3JkZXItdG9wOiAkY29tbW9uLWhlYWRpbmctcnVsZS13ZWlnaHQgc29saWQgJGhlYWRpbmctcnVsZS1jb2xvdXI7XHJcbiAgICB9XHJcbn1cclxudGFibGUge1xyXG5cclxuICAgIC0tYm9yZGVyLWNvbG91cjogI3tkZWZhdWx0LWNvbG91cigkdGJvZHktcm93LWJvcmRlci1jb2xvdXIpfTtcclxuICAgIC0tYm9yZGVyLWhvdmVyLWNvbG91cjogI3tob3Zlci1jb2xvdXIoJHRib2R5LXJvdy1ib3JkZXItY29sb3VyKX07XHJcblxyXG4gICAgLy8gU2V0dGluZyBoZWlnaHQgcHJvcGVydHkgdG8gYWxsb3cgZm9yIDxkaXY+J3MgaW5zaWRlIG9mIDx0ZD4ncyB0byBzcGFuIGZ1bGwgaGVpZ2h0LCBmb3IgbW9yZSBhYm91dCB0aGlzIGNoYW5nZSBwbGVhc2Ugc2VlIEthcGVyc3RvbmUncyBjb21tZW50IGhlcmUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzIxNTU1My9tYWtlLWEtZGl2LWZpbGwtYW4tZW50aXJlLXRhYmxlLWNlbGxcclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAvLyBPdmVycmlkZSBmb3VuZGF0aW9uLCB3aGVuIHNldHRpbmcgc21vb3RoLWVkZ2VzIHRoZSAkZ2xvYmFsLXJhZGl1cyB2YWx1ZSBnZXRzIHNldCB0aGlzIGNyZWF0ZSBhIHdlaXJkIGVmZmVjdCBpbiBtb2R1bGUgY2F1c2luZyB0aGUgdGQncyBib3JkZXIgdG8gb3ZlcmZsb3cgdGhlIHJhZGl1cy5cclxuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAmLnN0cmlwZWQge1xyXG4gICAgICAgIHRyIHsgXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgICAgIC8vIEVuc3VyZSBiYWNrZ3JvdW5kLWNvbG9yIGdldHMgcmVuZGVyZWQgaW4gcHJpbnQgbW9kZS5cclxuICAgICAgICAgICAgLy8gcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgXHJcbiAgICAgICAgICAgIC8vIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgXHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIC8vICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIGZvciBjYWxsIHBvcnRhbCBkZXNpZ24uXHJcbiAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkdGJvZHktc3RyaXBlZC1yb3ctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQWRkIHJ1bGVzIHRvIHRoZSBib3R0b20gb2YgZWFjaCByb3cuXHJcbiAgICAmLnNob3ctYm9yZGVyLWJvdHRvbSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3soJHRhYmxlLXJvdy1ib3R0b20tc3BhY2luZyAqIDIpfTtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWJvcmRlci1ob3Zlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2hvdyBib3JkZXJzIGFyb3VuZCBlbnRpcmUgdGFibGUgJiBjZWxscy5cclxuICAgICYuc2hvdy1ib3JkZXJzIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gU2hvdyBvbmx5IGludGVybmFsIGJvcmRlcnMuXHJcbiAgICAmLnNob3ctaW50ZXJuYWwtYm9yZGVycyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQmFzaWNhbGx5IHRyZWF0IHRoZSBmaXJzdCBjb2x1bW4gbGlrZSBhIHZlcnRpY2FsIHRoZWFkLlxyXG4gICAgJi5oaWdobGlnaHQtZmlyc3QtY29sdW1uIHtcclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdGhlYWQtdGgtY29tbW9uLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEdlbmVyYWwgc3R5bGVzIHVzZWQgYWNyb3NzIHRoZSBzaXRlLlxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkdGFibGUtcHJlc2V0LTEtbWFyZ2luKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJHRhYmxlLXByZXNldC0xLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRkLCB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yb3ctc3BhY2luZyB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogI3soJHRib2R5LW1hcmdpbiAtIChzcGFjaW5nLXZhbHVlKCR0Ym9keS1yb3ctYm9yZGVyLXNwYWNpbmcsIDIpICogMikpfTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZS1oZWFkZXItYm9keS1tYXJnaW4oKTtcclxuICAgICAgICAgICAgdHIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IHNwYWNpbmctdmFsdWUoJHRoZWFkLXByZXNldC0xLCAyLCBwYWRkaW5nKTsgXHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5pbWFnZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRwcm9kdWN0LWltYWdlLWFzcGVjdC1yYXRpb307XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtNTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAmOm5vdChbY2xhc3MqPVwiLWJ1dHRvblwiXSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0Ym9keS1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0Ym9keS1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm5vdCgucGRmLWRvd25sb2FkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0Ym9keS1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFVzZWQgcHJpbWFyaWx5IGluIHRoZSBiYXNrZXQuXHJcbiAgICAmLnByZXNldC0yIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDVweCAwIDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogJHRib2R5LW1hcmdpbjtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9IFxyXG4gICAgLy8gVXNlZCBwcmltYXJ5IGluIHRoZSBhY2NvdW50IGFyZWEuXHJcbiAgICAmLnByZXNldC0zIHtcclxuICAgICAgICB0ZCwgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXB4IHNwYWNpbmctdmFsdWUobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHBhZGRpbmcpLCAyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJvdy1hZGRpdGlvbmFsLXBhZGRpbmcge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICAvLyBEb24ndCBuZWVkIHRvIGRvIHRoaXMgZm9ybSBtb2JpbGUgZHVlIHRvIHJlc3BvbnNlLXRhYmxlIGNsYXNzLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAkdGJvZHktbWFyZ2luO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZCwgdGgge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRib2R5LWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRib2R5LWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRib2R5LWFuY2hvci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGJvZHktYW5jaG9yLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEJlY2F1c2UgdGhlcmUgaXMgbm8gb3RoZXIgZWFzeSB3YXkgdG8gYWRkIGEgbWFyZ2luIGJldHdlZW4gdGhlIHRhYmxlIHJvd3Mgd2l0aCBvdXQgYWRkaW5nIG1hcmt1cC5cclxuICAgICYucm93LXNwYWNpbmcge1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbidzIHN0eWxlcy5cclxuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXNwYWNpbmc6ICR0Ym9keS1yb3ctYm9yZGVyLXNwYWNpbmc7XHJcbiAgICAgICAgJjpoYXMoLnJvdy1pbnB1dC10b2dnbGUpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgc3Bhbi5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGRlZmF1bHQtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgd2FzIGNhdXNpbmcgYWxpZ25tZW50IGlzc3VlcyBmb3IgdXBsb2FkIGNzdiB0YWJsZSAjNzY3MjM5LlxyXG4gICAgICAgIC8vIHRkIHtcclxuICAgICAgICAvLyAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgIC8vICAgICA+IHNwYW4ge1xyXG4gICAgICAgIC8vICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgbm8gaW1hZ2UgYWxpZ24gYWxsIHRleHQgYmFzZWxpbmUuXHJcbiAgICB0ZCB7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgfVxyXG4gICAgLy8gRWxzZSB2ZXJ0aWNhbCBhbGlnbiBjZW50ZXIgb3RoZXJ3aXNlIG11bHRpLWxpbmUgdGV4dCB3aWxsIGJlIHBpbm5lZCB0byB0aGUgYm90dG9tIG9mIHRoZSByb3cuXHJcbiAgICAmOmhhcyh0ZFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgdGQubm8tcGRmLWRvd25sb2FkIHtcclxuICAgICAgICBzcGFuLnRleHQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAoJHBkZi10YWJsZS1hbmNob3ItbWFyZ2luICsgKCRmaWxlLWljb25zLXNpemUgLyAxLjMpKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEucGRmLWRvd25sb2FkIHtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgLy8gRm9yIG1vYmlsZSB2aWV3IHNvIGJ1dHRvbnMgZG9uJ3QgYXBwZWFyIG9uIGEgbmV3IGxpbmUuXHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0ciB7XHJcbiAgICAgICAgLy8gU3VjY2Vzc1xyXG4gICAgICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gV2FybmluZy5cclxuICAgICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFsZXJ0XHJcbiAgICAgICAgJi5hbGVydCB7XHJcbiAgICAgICAgICAgIC5ub3RpZmljYXRpb24taW5kaWNhdG9yLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRXJyb3Igcm93LlxyXG4gICAgICAgICYuZXJyb3Itcm93LCAmLmVycm9yIHtcclxuICAgICAgICAgICAgLy8gSGF2aW5nIHRvIG92ZXJyaWRlIGZvdW5kYXRpb24ncyBzdHlsZXMuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWJhY2tncm91bmQsIGFsZXJ0KSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYgKyB0ci5lcnJvci1yb3csICYgKyB0ci5lcnJvciB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRXhwaXJlZC5cclxuICAgICAgICAmLmNhcmQtZXhwaXJlZCwgJi5leHBpcmVkIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAycHggdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybzsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlbW92ZS1jb2wsIC5leHBpcmUtZGF0ZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiB0aGUgcm93IGNhbiBiZSB1c2VkIHRvIGNoZWNrIGEgY2hlY2tib3ggb3IgcmFkaW8gYnV0dG9uLlxyXG4gICAgICAgICYucm93LWlucHV0LXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIC8vIEhhdmluZyB0byB1c2UgYm94LXNoYWRvdyBkdWUgdG8gbmVlZGluZyB0byB1c2UgYm9yZGVyLWNvbGxhcHNlICYgYm9yZGVyLXNwYWNpbmcgdG8gZ2V0IGdhcCBiZXR3ZWVuIHJvd3MuXHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4ICN7JHRhYmxlLXJvdy10b2dnbGUtYm9yZGVyLXdpZHRofSB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciwgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhhcyhpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQsIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAjeyR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aH0gdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zZWNvbmRhcnktY29sb3VyLWxpZ2h0bmVzcy0xMCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAjeyR0YWJsZS1yb3ctdG9nZ2xlLWJvcmRlci13aWR0aH0gdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtNyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIC8vIEFsd2F5cyBtYWtlIHN1cmUgY29udGVudCBpcyB2aXNpYmxlIG9uIGhvdmVyLlxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybzsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3VjY2Vzcy1pY29uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mYWlsZWQtaWNvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mYWlsZWQtcmVhc29uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZmFpbGVkLWljb24sIC5zdWNjZXNzLWljb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm9yZGVyLXRvdGFsLWNvbCwgdGguY3N2LWltcG9ydC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAudGV4dC1jb250YWluZXIge1xyXG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xyXG4gICAgICAgIC8vICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLmFkZHJlc3MtYmxvY2sge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlbW92ZS1idXR0b24ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXJlbW92ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2FyZHMtcmVtb3ZlLWNhcmQtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2FyZHMtcmVtb3ZlLWNhcmQtYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY2FyZHMtcmVtb3ZlLWNhcmQtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLmNhcmQtdHlwZSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBwYXltZW50LWNhcmQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjYXJkcy1jYXJkLXR5cGUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZXhwaXJlZC10ZXh0IHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgICYuc3RhdGUtaW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogOXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbnRoZWFkIHtcclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBiYWNrZ3JvdW5kLWNvbG9yKTtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHJvdy1ib3JkZXIpOyBcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHRleHQtYWxpZ24pOyBcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCB0ZXh0LXRyYW5zZm9ybSk7XHJcbiAgICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBjb2xvcik7IFxyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCB0ZXh0LXRyYW5zZm9ybSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhbY2xhc3MkPWRlc2NyaXB0aW9uLWNvbF0ge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICArIHRib2R5IC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXNpemUpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRkZWZhdWx0LWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0yIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgYmFja2dyb3VuZC1jb2xvcik7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMiwgcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTIsIGZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCBjb2xvcik7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG1hcC1nZXQoJHRoZWFkLXByZXNldC0yLCByb3ctYm9yZGVyKTsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGgge1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcclxuICAgICAgICBmb250LWZhbWlseTogJHRoZWFkLXRoLWNvbW1vbi1mb250LWZhbWlseTtcclxuICAgICAgICBAaWYgKCR0aGVhZC10aC1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICR0aGVhZC10aC1jb21tb24tbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIgLmNvbXBhcmlzb24tdGFibGUtYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb21wYXJpc29uLXRhYmxlLWJ1dHRvbiB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMztcclxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG59XHJcblxyXG4uY29tcGFyaXNvbi10YWJsZS1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbltjb21wYXJpc29uLXRhYmxlXSB7XHJcbiAgICAuY29tcGFyaXNvbi12YWx1ZXMgdGQrdGQsIHRoK3RoIHtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGVhZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtc2VwZXJhdG9yO1xyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkY29tcGFyaXNvbi10YWJsZS1maXJzdC1jb2x1bW4td2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGJvZHkuY29tcGFyaXNvbi12YWx1ZXMge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgYm9yZGVyOiAkY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtdmFsdWVzLWJvcmRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgcGFkZGluZzogJGNtcy10YWJsZS1jb2x1bW4tcGFkZGluZztcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XHJcbiAgICAgICAgICAgIC8vdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkY29tcGFyaXNvbi10YWJsZS1tb2JpbGUtc2VwZXJhdG9yO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAvL3BhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGNvbXBhcmlzb24tdGFibGUtZmlyc3QtY29sdW1uLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGluZy1jb21tb24tbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRpbmctY29tbW9uLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkY29tcGFyaXNvbi10YWJsZS1maXJzdC1jb2x1bW4td2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGNvbXBhcmlzb24tdGFibGUtbW9iaWxlLXNlcGVyYXRvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxpZ24tdmFsdWUtcmlnaHQge1xyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb21wYXJpc29uLXN1bW1hcnkge1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb21wYXJpc29uLWN1cnJlbnRseS1zZWxlY3RlZCB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRib2R5LmNvbXBhcmlzb24tc3VtbWFyeSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMTBweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb21wYXJpc29uLWNvbHVtbi1oZWFkaW5nIHtcclxuICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRjb21wYXJpc29uLXRhYmxlLWZpcnN0LWNvbHVtbi13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG50YWJsZS5zdGFjay5yZXNwb25zaXZlLXRhYmxlIHtcclxuICAgIHRib2R5IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogc3BhY2luZy12YWx1ZSgkdGJvZHktcm93LWJvcmRlci1zcGFjaW5nLCAyKSAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZm9yY2UtbW9iaWxlLXJvdy1sYXlvdXQge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNvbHVtbi1lbXB0eSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0ZFtjbGFzcyo9XCJkZXNjcmlwdGlvbi1jb2xcIl0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIElmIHRoaXMgdGFibGUgaGFzIGEgaW1hZ2UtY29sdW1uLCB0aGVuIHVzZSB0aGUgZ3JpZCBsYXlvdXQgaW4gbW9iaWxlLlxyXG4gICAgJjpoYXModGRbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgIHRkOm5vdChbY2xhc3MqPVwiaW1hZ2UtY29sXCJdKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGNvbHVtbiBoYXMgYSBsYWJlbCArIHZhbHVlIHRoZW4gc3BsaXQgaXQgaW50byB0d28gY29sdW1uIGFycmFuZ2VtZW50LlxyXG4gICAgICAgICAgICAgICAgJjpoYXMoLmNvbC1sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDUwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB0ZDpub3QoW2NsYXNzKj1cImltYWdlLWNvbFwiXSkge1xyXG4gICAgICAgICAgICAgICAgJjpoYXMoLmNvbC1sYWJlbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIDcwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIC8vIEZvcmNlIHJvdyBpbnRvIGdyaWQgdmlldy5cclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjUlIDFmcjtcclxuICAgICAgICAgICAgICAgICAgICBnYXA6IDAgMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGQ6bm90KFtjbGFzcyo9XCJpbWFnZS1jb2xcIl0pIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBBbnkgdGQgdGhhdCBpcyBub3QgdGhlIGltYWdlIHRkIG1vdmUgdG8gMiBjb2x1bW4uXHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGNvbHVtbiBoYXMgYSBsYWJlbCArIHZhbHVlIHRoZW4gc3BsaXQgaXQgaW50byB0d28gY29sdW1uIGFycmFuZ2VtZW50LlxyXG4gICAgICAgICAgICAgICAgICAgICY6aGFzKC5jb2wtbGFiZWwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmNvbnRyb2wge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmb3IgY2hlY2tib3hlcyB0byB2ZXJ0aWNhbGx5IGFsaWduIGNlbnRlci5cclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGRbY2xhc3MqPVwiZGVzY3JpcHRpb24tY29sXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuW3Jlc3BvbnNpdmUtcmV2ZWFsXSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG4ucmVzcG9uc2l2ZS1yZXZlYWwtdGFibGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICYgKyB0YWJsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICRwYWRkaW5nLWl0ZW0teTogMThweDtcclxuICAgICRwYWRkaW5nLWl0ZW0teDogMjBweDtcclxuICAgIC5yZXNwb25zaXZlLXRhYmxlLWl0ZW0ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCkgc29saWQgbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAudGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLndhcm5pbmcge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCkgc29saWQgbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAudGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQgKSBzb2xpZCBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAudGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFibGUtcmV2ZWFsLW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogI3skcGFkZGluZy1pdGVtLXl9O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEFzIHdlJ3JlIG5vdyByZXZlYWxsaW5nIGNvbnRlbnQgc2hvdyBhbnkgb3ZlcmZsb3dpbmcgdGV4dC5cclxuICAgICAgICAgICAgLmVsbGlwc2lzLXRleHQge1xyXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAjeyRwYWRkaW5nLWl0ZW0teX0gI3skcGFkZGluZy1pdGVtLXh9O1xyXG4gICAgICAgICY6aGFzKC51bnJlYWQtY29sKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRhYmxlLXJldmVhbC1jbG9zZWQpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBzcGFjZSBmb3IgdGFwIGFyZWEgaW4gbW9iaWxlLiBcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGF4aXMtc2VjdGlvbnMtaGVhZGVyLXN0YXR1cy1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDAgI3skcGFkZGluZy1pdGVtLXl9O1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtaXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG4gICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogJGRlZmF1bHQtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgICYuc3RhdGUtaW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgLnRvb2x0aXAtdHJpZ2dlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGFibGUtc29ydC1jb2wge1xyXG4gICAgJi5hc2NlbmQgYnV0dG9uOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1zb3J0LWFzY2VuZCk7XHJcbiAgICB9XHJcbiAgICAmLmRlc2NlbmQgYnV0dG9uOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1zb3J0LWRlc2NlbmQpO1xyXG4gICAgfVxyXG4gICAgYnV0dG9uIHtcclxuICAgICAgICAvLyBGb3IgaWNvbiBhbGlnbm1lbnQuXHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7O1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICR0aGVhZC1zb3J0aW5nLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjsgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE1vdmlpbmcgaG92ZXIgc3RhdGUgdG8gdGQgdG8gYWxsb3cgZm9yIGdyZWF0ZXIgaGl0IGFyZWEuXHJcbnRkLm5vdGlmaWNhdGlvbi1jb2wge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLnRhYmxlLXJvdy1ub3RpZmljYXRpb24ge1xyXG4gICAgICAgICAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vdGlmaWNhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBob3Zlcik7XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIC8vYm9yZGVyLXdpZHRoOiAwIDAgMCBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiA0cHggMHB4IDhweCAzcHggcmdiYSgxMiwgMTIsIDEyLCAuMTgpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci13aWR0aCAkdHJhbnNpdGlvbkludHJvLCBsZWZ0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi51bnJlYWQtY29sIHtcclxuICAgIC8vIFRyeWluZyB0byBiZSBzZW1pIGNvbXBsaWVudCB3aXRoIGxpZ2h0aG91c2UncyBleHBlY3RhdGlvbiBpbnRlcm1zIG9mIHRhcCBhcmVhICg0OHg0OCkgaHR0cHM6Ly9kZXZlbG9wZXIuY2hyb21lLmNvbS9kb2NzL2xpZ2h0aG91c2Uvc2VvL3RhcC10YXJnZXRzXHJcbiAgICB3aWR0aDogNDhweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4udGFibGUtcm93LW5vdGlmaWNhdGlvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAvLyAmOmhvdmVyIHtcclxuICAgIC8vICAgICAubm90aWZpY2F0aW9uLWluZGljYXRvci1jb250YWluZXIge1xyXG4gICAgLy8gICAgICAgICB3aWR0aDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgaG92ZXIpO1xyXG4gICAgLy8gICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC8vICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgIC8vICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gICAgICAgICB0b3A6IDA7XHJcbiAgICAvLyAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAvLyAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgaG92ZXIpO1xyXG4gICAgLy8gICAgICAgICBib3gtc2hhZG93OiA0cHggMHB4IDhweCAzcHggcmdiYSgxMiwgMTIsIDEyLCAuMTgpO1xyXG4gICAgLy8gICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLXdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLm5vdGlmaWNhdGlvbi1pbmRpY2F0b3ItY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkdGFibGUtcm93LW5vdGlmaWNhdGlvbi13aWR0aCwgZGVmYXVsdCk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBjb2xvdXIsIHRoaXMgZ2V0cyBvdmVycmlkZGVuIGJ5IHRyLlRZUEVcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiBtYXAtZ2V0KCR0YWJsZS1yb3ctbm90aWZpY2F0aW9uLXdpZHRoLCBkZWZhdWx0KTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAvLyBEZWZhdWx0IGNvbG91ciwgdGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgdHIuVFlQRVxyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgICAgIGN1cnNvcjogdGV4dDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtd2lkdGggJHRyYW5zaXRpb25PdXRybywgbGVmdCAkdHJhbnNpdGlvbk91dHJvIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIC5ub3RpZmljYXRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGNvbG91ciwgdGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgdHIuVFlQRVxyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGFibGUtbm90aWZpY2F0aW9uLXRleHQge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXNpemUpO1xyXG4gICAgZm9udC1zdHlsZTogJHRhYmxlLXJvdy1ub3RpZmljYXRpb24tZm9udC1zdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkdGFibGUtcm93LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgIC8vIERlZmF1bHQgY29sb3VyLCB0aGlzIGdldHMgb3ZlcnJpZGRlbiBieSB0ci5UWVBFXHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gQ29udGVudCBzcGVjaWZpYyBzdHlsZXMuXHJcbnRhYmxlIHtcclxuICAgICYucmV1c2FibGUtY2FyZC10YWJsZSB7XHJcbiAgICAgICAgLy8gU3BlY2lmaWNhbGx5IGluIHRoZSBjb250ZXh0IG9mIHBheW1lbnQuXHJcbiAgICAgICAgJi5wYXltZW50IHtcclxuICAgICAgICAgICAgLnJlbW92ZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmV4cGlyZS1kYXRlLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSGlkZSB0aGUgc2VsZWN0IHJvdyBpbmZhdm91ciBvZiBjbGlja2luZyBvbiB0aGUgcm93IHRvIHByb2dyYW1hdGljYWxseSB0b2dnbGUgdGhlIGNoZWNrYm94IC8gcmFkaW8uXHJcbiAgICAgICAgdGguc2VsZWN0LWNvbCwgdGQuc2VsZWN0LWNvbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5pbnZhbGlkLWJhc2tldC10YWJsZSB7XHJcbiAgICAgICAgLy8gS2VlcCB0YWJsZSBpbmxpbmUgd2l0aCB0aGUgdGV4dGRiIGVudHJ5IGFib3ZlLlxyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyhzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMikgKiAyKX0pO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyhzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMiwgbGFyZ2UpICogMil9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlZmVyZW5jZS1jb2wsIC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYXVkaXQtdHJhaWwtZW50cmllcyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogODUwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51cGRhdGVkLWNvbCwgLnVwZGF0ZWQtYnktY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE5JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjZXNzLWxldmVsLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxNSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmF1ZGl0LXRyYWlsLWVudHJ5IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aCwgdGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyLjVweCA1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yZXZpc2lvbi1jb2x7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1JTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAudXBkYXRlZC1ieS1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTclO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudXBkYXRlZC1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTElO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAucHVibGlzaGVkLWNvbCwgLmFjY2Vzcy1sZXZlbC1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRvY3VtZW50YXRpb24tc3RydWN0dXJlZC1kYXRhIHtcclxuICAgICAgICAtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4gICAgICAgIC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICAubmVzdGVkLXRhYmxlLXJvdy1wYXJlbnQge1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKSB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgMCB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgJiArIC5uZXN0ZWQtdGFibGUtcm93IHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCB2YXIoLS1uZXN0ZWQtdGFibGUtcm93LWJvcmRlci13aWR0aCkgdmFyKC0tbmVzdGVkLXRhYmxlLXJvdy1ib3JkZXItd2lkdGgpIHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLW5lc3RlZC10YWJsZS1yb3ctYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmID4gdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhlYWQge1xyXG4gICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZm9sZGVyLWZpbHRlcnMtdGFibGUge1xyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUYWJsZSBjb250ZW50cyBzY3JvbGwgYmVoYXZpb3VyLlxyXG4udGFibGUtY29udGFpbmVyIHtcclxuICAgICRzaGFkb3ctY29sb3VyOiByZ2JhKDAsIDAsIDAsIDAuMyk7XHJcbiAgICAvLyBDb21tb24gc2Nyb2xsIHJ1bGVzLlxyXG4gICAgJi50YWJsZS1zY3JvbGwtZW5hYmxlZCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHJvdy1ib3JkZXIpOyAvLyBsb2NraW5nIHRvIHByZXNldC0xIGFzIHRoYXQgc2VlbXMgdG8gYmUgd2hhdCB3ZSBjb21tb25seSB1c2UuXHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICB0aGVhZCB7XHJcbiAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSGVhZGVyIGJveC1zaGFkb3cgd2hlbiBzY3JvbGxpbmcgLyBzY3JvbGwgYXQgYm90dG9tLlxyXG4gICAgJi5zY3JvbGwtbWlkZGxlLCAmLnNjcm9sbC1hdC1ib3R0b20ge1xyXG4gICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDVweCA5cHggLTFweCAjeyRzaGFkb3ctY29sb3VyfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbnRhaW5lciBib3R0b20gc2hhZG93LlxyXG4gICAgJi5zY3JvbGwtbWlkZGxlLCAmLnNjcm9sbC1hdC10b3Age1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgLTEwcHggMTBweCAtMTBweCAjeyRzaGFkb3ctY29sb3VyfTtcclxuICAgIH1cclxuXHJcbiAgICAmLnNjcm9sbC1taWRkbGUge1xyXG4gICAgICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMTBweCAxMHB4IC0xMHB4ICN7JHNoYWRvdy1jb2xvdXJ9LCBpbnNldCAwIC0xMHB4IDEwcHggLTEwcHggI3skc2hhZG93LWNvbG91cn07XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGFibGUgc3BlY2lmaWMgcnVsZXMuXHJcbiAgICAmLmF1ZGl0LXRyYWlsLWVudHJpZXMge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogNjAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3ZlcnJpZGUgb3RoZXIgbWFyZ2luJ3MgaW1wb3NlZCBieSBTQVNTIGNvbmZpZyBhcyB0aGUgdGFibGUgaXMgaW4gdGhlIGNvbnRhaW5lciB3aXRoIGEgc2Nyb2xsYmFyIHVwIHRoZSBzaWRlIGxvb2tzIHdlaXJkLlxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC8vIE1ha2UgdGFibGUgY29sdW1uIGhlYWQgc3RpY2suXHJcbiAgICB0aGVhZCB7XHJcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0td2hpdGUtY29sb3VyKTtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgaGVpZ2h0OiA0cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAtMXB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHJvdy1ib3JkZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0gSW5wdXRzIC0tLS0gXHJcbi0gU3R5bGluZyBmb3IgZm9ybSBpbnB1dHMgKCBzZWxlY3QsIGlucHV0LCB0ZXh0YXJlYSApXHJcbi0gUXVhbnRpdHkgc2VsZWN0b3JzXHJcbi0gRm9ybXNcclxuICAtIEZpZWxkc2V0c1xyXG4gIC0gRmllbGRzXHJcbi0gVmFsaWRhdGlvblxyXG4gIC0gRm9ybSBlcnJvcnMgZnJvbSB0aGUgc2VydmVyXHJcbiAgLSBBZHZhbmNlZCB2YWxpZGF0aW9uICggc2V0dGluZyBwYXNzd29yZCApXHJcbi0gUHJpbWFyeSwgU2Vjb25kYXJ5LCBFdGMgYnV0dG9ucyB1c2VkIHRocm91Z2hvdXQgdGhlIHNpdGUuXHJcbi0gVUkgYmxvY2sgcGFuZS5cclxuKi9cclxuXHJcbi8vIC0tLS0tIEZvcm1zIC0tLS0tLSBcclxuZm9ybSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gIH1cclxufVxyXG5cclxuLy8tLS0tLSBCdXR0b25zIC0tLS0tIFxyXG4vLy0tLSBTdWJtaXNzaW9uIC0tLVxyXG5mb3JtLmlzLWludmFsaWQge1xyXG4gIGJ1dHRvblt0eXBlPXN1Ym1pdF0sIC5mb3JtLXN1Ym1pdC1idXR0b24ge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGlucHV0W3R5cGU9c3VibWl0XSB7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gIH1cclxuICBcclxufVxyXG4vLyAtLS0gR2VuZXJhbCBidXR0b24gc3R5bGVzIC0tLVxyXG5idXR0b24ge1xyXG4gICY6ZGlzYWJsZWQsICYuZGlzYWJsZWQge1xyXG4gICAgb3BhY2l0eTogJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5O1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbmlucHV0W3R5cGU9c3VibWl0XSB7XHJcbiAgJjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgfVxyXG59XHJcblxyXG5zZWxlY3Qge1xyXG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICB9XHJcbn1cclxuLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgLmNvbnRyb2wudGV4dCB7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IChsYXJnZS12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpIC0gNzApO1xyXG4gICAgICB9XHJcbiAgICAgXHJcbiAgICB9XHJcbiAgICAmLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIgaW5wdXQge1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKCN7KGxhcmdlLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCkgLSA3MCl9IC0gI3skcmV2ZWFsLXBhc3N3b3JkLXdpZHRofSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5maWVsZCB7XHJcbiAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgbW9iaWxlKTtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW46IDVweCAwO1xyXG4gIC8vIEFzc3VtZSB0aGUgbGFzdCBmaWVsZCBjb250YWlucyB0aGUgc3VibWl0IGJ1dHRvbi5cclxuICAvLyAmOmxhc3QtY2hpbGQge1xyXG4gICAgLy8gYnV0dG9uW3R5cGU9c3VibWl0XSB7XHJcbiAgICAgIC8vIEFkZCBpbiBzb21lIG1hcmdpbiB0byBraWNrIHRoZSBidXR0b24gYXdheSBmcm9tIHRoZSBmaWVsZHMgc2xpZ2h0bHkuXHJcbiAgICAgIC8vIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAvLyB9XHJcbiAgLy8gfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICB9XHJcbiAgJi5hbGlnbi1yaWdodCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcbiAgJi5hbGlnbi1sZWZ0IHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICB9XHJcbiAgbGFiZWwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAvLyBtYXJnaW46IDVweCAwO1xyXG4gICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmaWVsZC1sYWJlbC1tYXJnaW4pO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZC1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZmllbGQtbGFiZWwtbWFyZ2luKTtcclxuICAgICAgfVxyXG4gICAgICAmLnBhc3N3b3JkLXJldmVhbC1jb250YWluZXIge1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgIG1heC13aWR0aDogY2FsYygje3NtYWxsLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCl9IC0gI3skcmV2ZWFsLXBhc3N3b3JkLXdpZHRofSk7XHJcbiAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygje3NtYWxsLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCl9IC0gI3skcmV2ZWFsLXBhc3N3b3JkLXdpZHRofSAtICAje2xhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCl9KTtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAucGFzc3dvcmQtcmV2ZWFsIHtcclxuICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAubGFiZWwge1xyXG4gICAgICAgICsgdGV4dGFyZWEge1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWR2aXNvcnktdGV4dCB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkZmllbGQtbGFiZWwtZm9udC1zaXplIC0gMykpO1xyXG4gICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLnRleHQsICYuZW1haWwsICYudGVsLCAmLm51bWJlciwgJi50ZXh0YXJlYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZpZWxkc2V0LWxhYmVsLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAmOmhhcyhidXR0b25bdHlwZT1cInN1Ym1pdFwiXS5wcmltYXJ5LWJ1dHRvbikge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAmICsgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICB9XHJcbiAgaW5wdXQge1xyXG4gICAgICAvLyBTcGVjaWZpY2FsbHkgbm90IGNoZWNrYm94J3MgYXMgU2FmYXJpIGZlZWxzIHRvIGRpc3BsYXkgYSBibGFuayBhcmVhIGV2ZW4gdGhvdWdoIGNoZWNrYm94IGlucHV0J3MgaGF2ZSBoZWlnaHQgKyB3aWR0aCBwcm9wZXJ0aWVzIHNldCB0byAwO1xyXG4gICAgICAmOm5vdChbdHlwZT1jaGVja2JveF0pIHtcclxuICAgICAgICAvLyBmbGV4OiAxO1xyXG4gICAgICAgIHBhZGRpbmc6ICRmaWVsZHNldC1pbnB1dC1wYWRkaW5nO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgfVxyXG4gIH1cclxuICAubGFiZWwgKyB0ZXh0YXJlYSB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIC8vIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZpZWxkLWlucHV0LXdpZHRoKTtcclxuICAgICAgLy8gTmVlZCB0byBzZXQgYSBtYXgtd2lkdGggb3RoZXJ3aXNlIHdoZW4geW91IGV4cGFuZCB0aGUgYXJlYSBpdCB0YWtlcyB1cCB0aGUgZW50aXJlIHdpZHRoIGluIGEgZm9ybSBhbmQgcHVzaGVzIHRoZSBsYWJlbCBhYm92ZS5cclxuICAgICAgbWF4LXdpZHRoOiA0ODBweDtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH1cclxuICB9XHJcbiAgdGV4dGFyZWEge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG4gIC5lcnJvci1ibG9jayB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIG1heC13aWR0aDogKG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKSAvIDEuMSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6bm90KC5tZWRpdW0pOm5vdCgubGFyZ2UpOm5vdCgubGFyZ2UtMSkge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gIH1cclxuICAmLnNtYWxsIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgQGlmICRmaWVsZC1qdXN0aWZ5LWNlbnRlciB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkZmllbGQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gICYubWVkaXVtIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGxhYmVsIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgQGlmICRmaWVsZC1qdXN0aWZ5LWNlbnRlciB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBtZWRpdW0tdmFsdWUoJGZpZWxkLWxhYmVsLXdpZHRoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuICAmLmxhcmdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkZmllbGQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5mdWxsLXdpZHRoIHtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYubGlzdCB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbGFiZWwge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgIHdpZHRoOiAzNDBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAubGFiZWwgeyBcclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpO1xyXG4gICAgcGFkZGluZy1yaWdodDogJGxhYmVsLWlucHV0LWdhcDtcclxuICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCk7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9ICBcclxuICAgIGEge1xyXG4gICAgICAvLyBkaXNwbGF5OiBibG9jazsgdG8gcHVzaCBhbmNob3JzIG9udG8gbmV3IGxpbmUuXHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHggMDtcclxuICB9XHJcblxyXG4gIC8vIC0tLSBUaGVzZSBhcmUgbm9ybWFsbHkgdXNlZCBmb3IgXCIgcGxlYXNlIHNwZWNpZnkgb3RoZXIgXCIgZmllbGRzIC0tLSAgXHJcbiAgLmN1c3RvbS1pbnB1dC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XHJcbiAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIC0tLSBNdWx0aS1jb2x1bW4gZm9ybSBmaWVsZCBzdXBwb3J0IC0tLSBcclxuICAmW2NsYXNzXj1cImZpZWxkIHNtYWxsLVwiXSwgJltjbGFzc149XCJmaWVsZCBtZWRpdW0tXCJdLCAmW2NsYXNzXj1cImZpZWxkIGxhcmdlLVwiXSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wuY2hlY2tib3ggc3Bhbi5jaGVja2JveCB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jdXN0b20taW5wdXQtY29udGFpbmVyIHtcclxuICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmFkZGl0aW9uYWwtaW5wdXQtaW5mbyB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgfVxyXG4gIH1cclxuICAmLnNtYWxsLTEsICYubWVkaXVtLTEsICYubGFyZ2UtMSB7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMzYwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5zbWFsbC0yIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgfSBcclxuICAmLnNtYWxsLTMge1xyXG4gICAgd2lkdGg6IDMzJTtcclxuICB9IFxyXG4gICYubWVkaXVtLTIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICAgICAgd2lkdGg6IDUwJTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5tZWRpdW0tMyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xyXG4gICAgICB3aWR0aDogMzMlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmxhcmdlLTIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICB3aWR0aDogNTAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLmxhcmdlLTMge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICB3aWR0aDogMzMlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vLyBPdXRwdXR0ZWQgY21zIGNvbnRlbnQgbmV4dCAvIHVuZGVyIGEgaW5wdXQgZmllbGQuXHJcbi5hZGRpdGlvbmFsLWlucHV0LWluZm8ge1xyXG4gIEBpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxuICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCk7XHJcbiAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAvLyBPdmVycmlkZSBjbXMtcGFyYWdyYXBoLWZvbnQtc2l6ZSBhcyB3ZSdyZSBpbiB0aGUgY29udGV4dCBvZiBhIGZvcm0uXHJcbiAgcCwgYSB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZC1sYWJlbC1mb250LXNpemUpO1xyXG4gIH1cclxuICBhIHtcclxuICAgICY6bm90KFtjbGFzcyo9XCItYnV0dG9uXCJdKSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGltZyB7XHJcbiAgICBtYXJnaW46ICRhZGRpdGlvbmFsLWluZm8taW1hZ2UtbWFyZ2luO1xyXG4gIH1cclxuICAmLmxhcmdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG4vLyBVc2VkIGZvciBwb3N0Y29kZSBsb29rIHVwLlxyXG4ubG9va3VwLWNvbnRlbnQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLy8gLS0tIFJldmVhbCBQYXNzd29yZCAtLS0gXHJcbi8vIC5jb250cm9sLnRleHQucGFzc3dvcmQtcmV2ZWFsLWNvbnRhaW5lciB7XHJcbi8vICAgaW5wdXQge1xyXG4vLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgICBtYXJnaW4tcmlnaHQ6IC0jeyRyZXZlYWwtcGFzc3dvcmQtd2lkdGh9O1xyXG4vLyAgICAgfVxyXG4vLyAgIH1cclxuLy8gfVxyXG5pbnB1dFt0eXBlPXBhc3N3b3JkXSB7XHJcbiAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgZm9udC1zaXplOiAyMnB4O1xyXG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xyXG4gIGZvbnQtZmFtaWx5OiBjYXB0aW9uO1xyXG4gIHRyYW5zaXRpb246IGZvbnQtc2l6ZSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgLy8gJi5pcy1pbnZhbGlkLWlucHV0IHtcclxuICAvLyAgIGNvbG9yOiAkYWxlcnQtY29sb3VyO1xyXG4gIC8vIH1cclxuICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMgMCAwICRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICB9XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgZm9udC1zaXplOiA0NHB4O1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIGJveC1zaGFkb3c6IC0xNHB4IC0zcHggMjhweCA0cHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAmICsgYnV0dG9uIHtcclxuICAgICAgYm94LXNoYWRvdzogMTRweCAtM3B4IDI4cHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuICAgICAgLy8gYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG4gICY6Zm9jdXMge1xyXG4gICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gJi5pcy1pbnZhbGlkLWlucHV0OmZvY3VzKy5wYXNzd29yZC1yZXZlYWx7XHJcbiAgLy8gICBib3JkZXItY29sb3I6ICRlcnJvci1ib3JkZXItY29sb3VyO1xyXG4gIC8vIH1cclxuICAmICsgYnV0dG9uIHtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYXNzd29yZC1yZXZlYWwge1xyXG4gIHdpZHRoOiAkcmV2ZWFsLXBhc3N3b3JkLXdpZHRoO1xyXG4gIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGJvcmRlci1jb2xvcjogIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwO1xyXG4gIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHBhc3N3b3JkLXJldmVhbCk7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICBmb250LXN0eWxlOiAxMnB4O1xyXG4gICAgY29sb3I6ICRyZXZlYWwtaWNvbi1jb2xvdXI7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiAkcmV2ZWFsLWljb24tYWN0aXZlLWNvbG91cjtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb2xvcjogJHJldmVhbC1pY29uLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuaW5wdXQtYWN0aXZlIHtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gIH1cclxufVxyXG5cclxuaW5wdXQ6Oi1tcy1jbGVhciwgaW5wdXQ6Oi1tcy1yZXZlYWwge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi8vIC0tLSBCdXR0b24xIC0tLVxyXG4vLyBBY3Rpb24gYnV0dG9ucy5cclxuLmFjdGlvbi1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYS1kZWZhdWx0LWJ1dHRvbi1wYWRkaW5nLCAkYS1kZWZhdWx0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGEtZGVmYXVsdC1idXR0b24tY29sb3VyLCAkYS1kZWZhdWx0LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG4gICYuc3VjY2VzcywgJi5lbWFpbCB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGEtZGVmYXVsdC1idXR0b24tcGFkZGluZywgJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc3VjY2Vzcy1idXR0b24tY29sb3VyLCAkc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxuICB9XHJcbiAgJi53YXJuaW5nIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYS1kZWZhdWx0LWJ1dHRvbi1wYWRkaW5nLCAkd2FybmluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICR3YXJuaW5nLWJ1dHRvbi1jb2xvdXIsICR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG4gIH1cclxuICAmLmFsZXJ0IHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkYS1kZWZhdWx0LWJ1dHRvbi1wYWRkaW5nLCAkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYWxlcnQtYnV0dG9uLWNvbG91ciwgJGFsZXJ0LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAkY29tbW9uLWJ1dHRvbi1tYXJnaW4pO1xyXG4gIH1cclxufVxyXG4vLyAtLS0tLSBHZW5lcmljIEJ1dHRvbnMgLS0tLS0tXHJcbi8vIEFsaWdubWVudCBjbGFzcydzIGZvciBDTVMgKCBSaWNoIFRleHQgRWRpdG9yICkgY29udGVudC5cclxuYVtjbGFzcyo9XCItYnV0dG9uXCJdLmFsaWduLWNlbnRlciB7XHJcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1yaWdodCB7XHJcbiAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcbmFbY2xhc3MqPVwiLWJ1dHRvblwiXS5hbGlnbi1sZWZ0IHtcclxuICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luLWxlZnQ6IDA7XHJcbn1cclxuLy8gU0VUVElORyBNT0JJTEUtV0lEVEg6IEFVVE87IG90aGVyd2lzZSBpZiB3ZSB1c2UgMTAwJSArIGFkZCBtYXJnaW4gdGhlIGJ1dHRvbiB3aWxsIGJlIGRlLWNlbnRlcmFsaXNlZCBpbiBpdHMgY29udGFpbmVyLlxyXG4vLyBQUk8tVElQOiBTdHJ1Z2dsaW5nIHdpdGggbmFtaW5nIGEgYnV0dG9uPyB0cnkgdGhpczogcXVhdGVybmFyeSwgcXVpbmFyeSwgc2VuYXJ5LCBzZXB0ZW5hcnksIG9jdG9uYXJ5LCBub25hcnksIGRlbmFyeSB0aGlzIHdpbGwgdGFrZSB5b3UgdXAgdG8gMTAgdmFyaWF0aW9ucy4uLi5cclxuLy8gUHJpbWFyeSBidXR0b24gaXMgdHlwaWNhbGx5IHVzZWQgd2hlbiBwcm9jZWVkaW5nIHRvIHRocm91Z2ggdG8gYW5vdGhlciBwcm9jZXNzLlxyXG4uYnV0dG9uMSwgLnByaW1hcnktYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHByaW1hcnktYnV0dG9uLXBhZGRpbmcsICRwcmltYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWNvbG91ciwgJHByaW1hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbn1cclxuLy8gU2Vjb25kYXJ5IGJ1dHRvbiBpcyB0eXBpY2FsbHkgdXNlZCB3aGVuIGNhbmNlbGxpbmcgYW4gYWN0aW9uLlxyXG4uc2Vjb25kYXJ5LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsICRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgJGNvbW1vbi1idXR0b24tbWFyZ2luKTtcclxufVxyXG4udGVydGlhcnktYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHRlcnRpYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkdGVydGlhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkdGVydGlhcnktYnV0dG9uLWNvbG91ciwgJHRlcnRpYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbn1cclxuLnF1YXRlcm5hcnktYnV0dG9uIHtcclxuICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHF1YXRlcm5hcnktYnV0dG9uLXBhZGRpbmcsICRxdWF0ZXJuYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91ciwgJHF1YXRlcm5hcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKG1vYmlsZS13aWR0aDogYXV0bywgd2lkdGg6IGZpdC1jb250ZW50KSwgMCwgaW5saW5lLWZsZXgpO1xyXG59XHJcbi5xdWluYXJ5LWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRxdWluYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkcXVpbmFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRxdWluYXJ5LWJ1dHRvbi1jb2xvdXIsICRxdWluYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICRjb21tb24tYnV0dG9uLW1hcmdpbik7XHJcbn1cclxuLy8gR2VuZXJpYyBidXR0b24gdGhhdCBnZXRzIHVzZSBieSBjbXMgZWRpdG9ycy5cclxuLmNtcy1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkY21zLWJ1dHRvbi1wYWRkaW5nLCAkY21zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNtcy1idXR0b24tY29sb3VyLCAkY21zLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAoMCwgMCAwIDEwcHgpKTtcclxufVxyXG4uY21zLXByb2NlZWQtYnV0dG9uIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGdhcDogNXB4O1xyXG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1idXR0b24tcHJvY2VlZC1mb250LXNpemUpO1xyXG4gIGZvbnQtd2VpZ2h0OiAkY21zLWJ1dHRvbi1wcm9jZWVkLWZvbnQtd2VpZ2h0O1xyXG4gIEBpZiAoJGNtcy1idXR0b24tcHJvY2VlZC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRjbXMtYnV0dG9uLXByb2NlZWQtdGV4dC10cmFuc2Zvcm07XHJcbiAgfVxyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYW5jaG9yLWluZGljYXRvcik7XHJcbiAgICBmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG4gICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQ29weSB0byBjbGlwYm9hcmQgYnV0dG9uLlxyXG4uY29weS10by1jbGlwYm9hcmQtYnV0dG9uIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAvLyBUaGlzIG1heSBuZWVkIGV4dGVuZGluZyBpbiB0aGUgZnV0dXJlIHRvIHN1cHBvcnQgaWNvbiBiZWZvcmUgdGV4dC5cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNsaXBib2FyZC1jb3B5KTtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgIHNpemU6IDE1cHg7XHJcbiAgfVxyXG4gIC5jb3BpZWQtdGV4dC1jb250YWluZXIge1xyXG4gICAgJGNvcGllZC10ZXh0LXBhZGRpbmc6IDVweDtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeygkY29waWVkLXRleHQtcGFkZGluZyAqIDIpfSk7XHJcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArICN7KCRjb3BpZWQtdGV4dC1wYWRkaW5nICogMil9KTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLSN7JGNvcGllZC10ZXh0LXBhZGRpbmd9O1xyXG4gICAgbGVmdDogLSN7JGNvcGllZC10ZXh0LXBhZGRpbmd9O1xyXG4gICAgcGFkZGluZzogJGNvcGllZC10ZXh0LXBhZGRpbmc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXIzLCAuOSk7XHJcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuLmxvY2F0aW9uLWJ1dHRvbiB7XHJcbiAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDkuNXB4IDEycHggOS41cHggMjFweCwgJGxvY2F0aW9uLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGxvY2F0aW9uLWJ1dHRvbi1jb2xvdXIsICRsb2NhdGlvbi1idXR0b24tYm9yZGVyLWNvbG91ciwgMTQsNDAwLCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogZml0LWNvbnRlbnQpLCAwLCBmbGV4LCAkbG9jYXRpb24tYnV0dG9uLWljb24tY29uZmlnLCAxKTtcclxufVxyXG5cclxuLnRoaXJkLXBhcnR5LXRyYWNraW5nLXJlZmVyZW5jZSB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6ICR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tcGFkZGluZztcclxuICBmb250LXNpemU6IHJlbS1jYWxjKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tZm9udC1zaXplKTtcclxuICBmb250LXdlaWdodDogJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIpO1xyXG4gIC5yZWZlcmVuY2Uge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICB9XHJcbn1cclxuXHJcbi50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24ge1xyXG4gIHdpZHRoOiBmaXQtY29udGVudDtcclxuICBwYWRkaW5nOiAkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLXBhZGRpbmc7XHJcbiAgZm9udC1zaXplOiByZW0tY2FsYygkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIpO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIGRlZmF1bHQtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYm9yZGVyLWNvbG91cik7XHJcbiAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24taWNvbi1jb2xvdXIpO1xyXG4gICAgICB9XHJcbiAgfVxyXG4gICY6YWN0aXZlIHtcclxuICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tY29sb3VyKTtcclxuICAgICAgfVxyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGhpcmQtcGFydHktdHJhY2tpbmcpO1xyXG4gICAgICBtYXJnaW4tbGVmdDogJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLWd1dHRlcjtcclxuICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLWljb24tY29sb3VyKTtcclxuICB9XHJcbn1cclxuXHJcbi50aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMiB7XHJcbiAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBtYXJnaW46IDVweCAwIDA7XHJcbiAgcGFkZGluZzogNXB4IDhweDtcclxuICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKTtcclxuICBib3JkZXI6IDFweCBzb2xpZCBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYm9yZGVyLWNvbG91cik7XHJcbiAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmc6IDNweCA1cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjphZnRlcntcclxuICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWljb24tY29sb3VyKTtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJjphY3RpdmUge1xyXG4gICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItY29sb3VyKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICBib3JkZXItY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHRoaXJkLXBhcnR5LXRyYWNraW5nLWJ1dHRvbi0yLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCR0aGlyZC1wYXJ0eS10cmFja2luZy1idXR0b24tMi1pY29uLWNvbG91cik7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRoaXJkLXBhcnR5LXRyYWNraW5nKTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uLTItaWNvbi1jb2xvdXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ucHJpbnQtZWxlbWVudC1idXR0b24ge1xyXG4gIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcHJpbnQtZWxlbWVudHMtYnV0dG9uLWNvbG91ciwgJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiBmaXQtY29udGVudCksICgwLCAwKSwgZmxleCwgJHByaW50LWVsZW1lbnRzLWJ1dHRvbi1pY29uLWNvbmZpZyk7XHJcbn1cclxuXHJcbi5wcmludC1lbGVtZW50LWxpbmsge1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByaW50ZXIpO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkLFxyXG5cclxuICB9XHJcbn1cclxuXHJcbi8vIFBheXBhbCBCdXR0b24uXHJcbiNwYXlwYWwtY2hlY2tvdXQtYnV0dG9uLCAucGF5cGFsLWJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGNoZWNrb3V0LXBheXBhbC1idXR0b24tcGFkZGluZywgJGNoZWNrb3V0LXBheXBhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICgpLCAoKSwgMTVweCwgNjAwLCAod2lkdGg6IDEwMCUpLCAoc21hbGw6IDAsIG1lZGl1bTogMCwgbGFyZ2U6IDApKTtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6IDZyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgcGF5cGFsKSk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gSW5jcmVtZW50IHRhYmxlIHJvdyAgKCBlLmcuIG1hbmFnZSBjYXJkcyApLlxyXG4uaW5jcmVtZW50LXJvdy1idXR0b24ge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZ2FwOiAxMHB4O1xyXG4gIG1hcmdpbjogYXV0bztcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNlbGVjdGlvbi1pbmNyZW1lbnQpO1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG5cclxuICB9XHJcbiAgJjpob3ZlciB7XHJcbiAgICBjb2xvcjogdmFyKC0tc2Vjb25kYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQnV0dG9uIGNvbnRhaW5lcnMuXHJcbi5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIG1hcmdpbjogMCBhdXRvIDMwcHg7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIH1cclxuICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAvLyBJZiBtYXJnaW4gUiArIEwgYXBwbGllZCBpbiBtb2JpbGUgdGhpcyB3aWxsIGNhdXNlIHRoZSBidXR0b25zIHRvIGJlIHN0ZXBwZWQgaW4gZHVlIHRvIGZvcm0gcGFkZGluZyBhcm91bmQgY29udGVudC5cclxuICAgIC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW46IDVweCAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBmbGV4OiAxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgIH1cclxuICAgICY6bnRoLW9mLXR5cGUoM24tMikge1xyXG4gICAgICBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogMjBweDsgLy8gdXNpbmcgZ2FwIHByb3BlcnR5IGluc3RlYWQuXHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIElmIHRoZXJlIGlzIHR3byBidXR0b24tY29udGFpbmVyJ3Mgb3Igb25seSBvbmUuXHJcbiAgICAmOm50aC1vZi10eXBlKDJuKSwgJjpvbmx5LWNoaWxkIHtcclxuICAgICAgLy8gSWYgbm8gYWxpZ24gY2VudGVyLlxyXG4gICAgICAmOm5vdCguYWxpZ24tY2VudGVyKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgLy8gU2VsZWN0IGFsbCBidXR0b25zIHRoYXQgYXJlIG5vdCBhY3Rpb24tYnV0dG9ucy5cclxuICAgICAgICAgIFtjbGFzcyo9XCItYnV0dG9uXCJdIHtcclxuICAgICAgICAgICAgJjpub3QoLmFjdGlvbi1idXR0b24pIHtcclxuICAgICAgICAgICAgICAvLyBDaGVjayB3aGV0aGVyIHRoZXJlIGFyZSBhbnkgb3RoZXIgYnV0dG9ucy5cclxuICAgICAgICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICY6bm90KDpvbmx5LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgLy8gUHVzaCBhbGwgY29udGVudCB0byB0aGUgcmlnaHQuXHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoZXJlIGlzIGEgZ3V0dGVyLlxyXG4gICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogMjBweDsgdXNpbmcgZ2FwIHByb3BlcnR5IGluc3RlYWQuXHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBbY2xhc3MqPVwiLWJ1dHRvblwiXSB7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgJjpub3QoLmFjdGlvbi1idXR0b24pIHtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAyMHB4OyAvLyB1c2luZyBnYXAgcHJvcGVydHkgaW5zdGVhZC5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3Rpb24tYnV0dG9uIHtcclxuICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogMjBweDsgLy8gdXNpbmcgZ2FwIHByb3BlcnR5IGluc3RlYWQuXHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH0gIFxyXG4gICAgfVxyXG4gICAgLy8gYSwgYnV0dG9uIHtcclxuICAgIC8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuICAgIC8vIFNvIHRoZSBjYW5jZWwgYnV0dG9uIGFsd2F5cyBhcHBlYXJzIG9uIHRoZSByaWdodC5cclxuICAgIC5zZWNvbmRhcnktYnV0dG9uIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tIEJhc2tldCAtLS1cclxuLmFkZFRvQmFza2V0Rm9ybSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuXHJcbkBtaXhpbiBiYXNrZXQtYWRkLWJ1dHRvbi1pY29uKCkge1xyXG4gIHdpZHRoOiAkYWRkLXRvLWJhc2tldC1pY29uLXdpZHRoO1xyXG4gIGhlaWdodDogJGFkZC10by1iYXNrZXQtaWNvbi1oZWlnaHQ7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAvLyBTdXBwcmVzc2luZyBjYW5ub3QgZ2VuZXJpY2FsbHkgYXBwbHkgdGhpcyBhY3Jvc3MgYWxsIGluc3RhbmNlLCB0aGlzIFwiIGd1dHRlciBcIiBpcyBmYXIgYmV0dGVyIGJlaW5nIG1hbmFnZWQgYnkgZmxleGJveGVzIGdhcCBwcm9wZXJ0eS5cclxuICAvLyBtYXJnaW4tbGVmdDogMTBweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICBmb250LXNpemU6ICRhZGQtdG8tYmFza2V0LWljb24tc2l6ZTtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgfVxyXG4gICY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfSAgXHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmRpc2FibGVkIHtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWljb24tY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBOZXcgYWRkIHRvIGJhc2tldCBjbGFzcyB0aGF0IHNob3VsZCBnZXQgdXNlZCBpbnN0ZWFkIG9mIC5hZGQtdG8tYmFza2V0LCB0aGlzIGFsc28gZGUtY291cGxlcyB0aGUgSlMgbGlzdGVuZXJzIGZyb20gQ1NTIGNsYXNzIGFzIHdlbGwgd2hpY2ggaXMgcmVxdWlyZWQgYXMgcGFydCBvZiB0aGUgZm9sbG93aW5nIGpvYnMgODM4MjM4ICYgODIwMTk0LlxyXG4uYmFza2V0LWFkZC1idXR0b24ge1xyXG4gICYuaWNvbiB7XHJcbiAgICBAaW5jbHVkZSBiYXNrZXQtYWRkLWJ1dHRvbi1pY29uKCk7XHJcbiAgfVxyXG4gICYudGV4dC1iYXNlZCB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGJhc2tldC1idXR0b24tcGFkZGluZywgJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRiYXNrZXQtYnV0dG9uLWNvbG91ciwgJGJhc2tldC1idXR0b24tYm9yZGVyLCAkYmFza2V0LWJ1dHRvbi1mb250LXNpemUsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogMTAwJSksIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmFkZFRvQmFza2V0Lmljb24ge1xyXG4gIEBpbmNsdWRlIGJhc2tldC1hZGQtYnV0dG9uLWljb24oKTtcclxufVxyXG5cclxuLmFkZC10by1iYXNrZXQge1xyXG4gICY6bm90KC5wcmVzZXQtMikge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRiYXNrZXQtYnV0dG9uLXBhZGRpbmcsICRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYmFza2V0LWJ1dHRvbi1jb2xvdXIsICRiYXNrZXQtYnV0dG9uLWJvcmRlciwgJGJhc2tldC1idXR0b24tZm9udC1zaXplLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IDEwMCUpLCAwKTtcclxuICB9XHJcbiAgJi5wcmVzZXQtMiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGJhc2tldC1idXR0b24tcGFkZGluZywgJHByaW1hcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkcHJpbWFyeS1idXR0b24tY29sb3VyLCAkcHJpbWFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgKGdldC1idXR0b24tZm9udC1zaXplKCkgLyAxLjIpLCAkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKHdpZHRoOiAxMDBweCksIDApO1xyXG4gIH1cclxufVxyXG5cclxuLmFuaW1hdGVkLmRyb3Age1xyXG4gICY6YmVmb3JlIHtcclxuICAgIGNvbG9yOiAkY29sb3VyNiFpbXBvcnRhbnQ7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIH1cclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0yMHB4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgYW5pbWF0aW9uOiBiYXNrZXRJY29uSG92ZXIgMC41cztcclxuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBiYXNrZXRJY29uSG92ZXIge1xyXG4gIDAlIHtcclxuICAgIHRvcDogLTIwcHg7XHJcbiAgICBvcGFjaXR5OiAwLjI7XHJcbiAgfVxyXG4gIDE1JSB7XHJcbiAgICB0b3A6IC0xNXB4O1xyXG4gICAgb3BhY2l0eTogMC40O1xyXG4gIH1cclxuICAzMCUge1xyXG4gICAgdG9wOiAtMTBweDtcclxuICAgIG9wYWNpdHk6IDAuNjtcclxuICB9XHJcbiAgNDUlIHtcclxuICAgIHRvcDogLTVweDtcclxuICAgIG9wYWNpdHk6IDAuODtcclxuICB9XHJcbiAgNjAlIHtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG4gIDc1JSB7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgdG9wOiAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tIFN0b2NrbGluZSAtLS0gXHJcbi5zdG9ja2xpbmUtdmlldy1idXR0b24sIC5zdG9ja2xpbmUtdmlldy1jb250YWluZXIge1xyXG4gIGEsIGJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJHN0b2NrbGluZS1idXR0b24tcGFkZGluZywgJHN0b2NrbGluZS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRzdG9ja2xpbmUtYnV0dG9uLWNvbG91ciwgJHN0b2NrbGluZS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiAxMDAlLCBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQpLCAwKTtcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLSBOb3QgbG9nZ2VkIGluIC0tLSBcclxuLm5vdC1sb2dnZWQtaW4tY29udGFpbmVyIHtcclxuICBhLCBidXR0b24ge1xyXG4gICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJG5vdC1sb2dnZWQtaW4tYnV0dG9uLXBhZGRpbmcsICRub3QtbG9nZ2VkLWluLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWNvbG91ciwgJG5vdC1sb2dnZWQtaW4tYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCksICRjb21tb24tYnV0dG9uLWZvbnQtd2VpZ2h0LCAobW9iaWxlLXdpZHRoOiBhdXRvLCB3aWR0aDogMTAwJSwgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0KSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0gRW5xdWlyeSBmb3JtIGJ1dHRvbiAtLS0gXHJcbi5lbnF1aXJ5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLmVucXVpcnktYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkZW5xdWlyeS1idXR0b24tcGFkZGluZywgJGVucXVpcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkZW5xdWlyeS1idXR0b24tY29sb3VyLCAkZW5xdWlyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSwgJGNvbW1vbi1idXR0b24tZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IGF1dG8sIHdpZHRoOiAxMDAlLCBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQpLCAwKTtcclxuICAgIGZsZXgtZ3JvdzogMTtcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLSBGYXZvdXJpdGVzIC0tLVxyXG4vLyBUSElTIENPVUxEIEJFIENPTlNPTElEQVRFRCBJTlRPIE9ORSBDT0RFIFBBVEggTk9XIFRIRSA6SEFTIEdPT0QgU1VQUE9SVCBTTyBUSEUgQ1NTIENPVUxEIERFVEVDVCBJRiBUSEVSRSBJUyBBIExBQkVMIE9SIE5PVCwgVEhJUyBJUyBBRFZBTlRBR0VTIFRPIEhBVklORyBQUkVTRVRTIEZPUiBGTEVYSUJJSVRZLlxyXG4uZmF2b3VyaXRlc0NvbnRhaW5lciB7XHJcbiAgLy8gQ29tbW9uIHN0eWxlcy5cclxuICBhIHtcclxuICAgICZbZGlzYWJsZWRdLCAmLmRpc2FibGVkIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICBvcGFjaXR5OiAkYnV0dG9uLWRpc2FibGVkLW9wYWNpdHk7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICY6YWZ0ZXIsICY6aG92ZXI6YWZ0ZXIge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGZhdm91cml0ZXMtZGVmYXVsdCk7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmYXZvdXJpdGVzLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIGZvbnQtc2l6ZTogJGZhdm91cml0ZXMtaWNvbi1zaXplO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZmF2b3VyaXRlcy1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZmF2b3VyaXRlcy1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuYWN0aXZlIGEge1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgIH1cclxuICB9XHJcbiAgLy8gSWNvbiB3aXRoIHRleHQgbGFiZWwuXHJcbiAgJi5wcmVzZXQxIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGEge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZmF2b3VyaXRlcy1idXR0b24tbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLWNvbG91cik7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBAaWYgKCRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZhdm91cml0ZXMtYnV0dG9uLWxhYmVsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICY6bm90KC5kaXNhYmxlZCk6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRmYXZvdXJpdGVzLWJ1dHRvbi1sYWJlbC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gIC8vIEp1c3QgYW4gaWNvbi5cclxuICAmLnByZXNldDIge1xyXG4gICAgICAmOm5vdCguYWN0aXZlKSBhIHtcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBhIHtcclxuICAgICAgICAgIHdpZHRoOiAkZmF2b3VyaXRlcy1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICBoZWlnaHQ6ICRmYXZvdXJpdGVzLWJ1dHRvbi1oZWlnaHQ7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7ICAgIFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgIH1cclxuICB9XHJcbiAgXHJcbn1cclxuXHJcbi8vQ2hlY2tib3hlcy4gcmFkaW8gYnV0dG9ucyAmIFNlbGVjdFxyXG5sYWJlbC5kaXNhYmxlZCwgbGFiZWwucmVhZG9ubHkge1xyXG4gIGN1cnNvcjogbm8tZHJvcDtcclxufVxyXG5cclxuLmNvbnRyb2wgaW5wdXRbdHlwZT1jaGVja2JveF0sIC5jb250cm9sIGlucHV0W3R5cGU9cmFkaW9dIHtcclxuICAvL2VuZm9yY2UgdGhpcyBzbyBmb3VuZGF0aW9uIGRvZXNuJ3Qgb3ZlcnJpZGUgaXQuXHJcbiAgLy9kaXNwbGF5OiBub25lIWltcG9ydGFudDtcclxuICB3aWR0aDogMCFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiAwIWltcG9ydGFudDtcclxuICBtYXJnaW46IDAhaW1wb3J0YW50O1xyXG4gIGZsZXg6IDA7XHJcbiAgb3BhY2l0eTogMDtcclxuICAvLyBPbmx5IGluIGZpcmVmb3ggdGhlcmUgYXBwZWFycyB0byBiZSBhIDRweCBib3JkZXIgYXJvdW5kIGNoZWNrYm94ZXMgc28gdGhpcyBpcyBhIGhhY2t5IGZpeCwgZGlzcGxheTogY29udGVudHM7IGFsc28gd29ya3MgYnV0IHRoZW4gaW50cm9kdWNlcyBhIGJ1ZyB3aGVyZSB5b3UgY2Fubm90IHNoaWZ0K3RhYiBvbiBjaGVja2JveGVzIGFueW1vcmUuXHJcbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcclxuICAgIG1hcmdpbi1yaWdodDogLTRweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIEdlbmVyYWwgaW5wdXQgc3R5bGluZyAtLS0tLVxyXG4uY29udHJvbCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gIC8vIENlbnRlciBpdGVtcyBpbiBtb2JpbGUgZHVlIHRvIFNhZmFyaSBjYXVzaW5nIGFsaWdubWVudCBpc3N1ZXMgd2hlbiBpbnB1dHMgd2l0aCBidXR0b25zIHRoYXQgaGFzIG5lc3RlZCBmb250IGljb25zLlxyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gIC8vIE9ubHkgcmVhbGx5IHdhbnQgdG8gdGhpcyBvbiBtb2JpbGUgaGF2ZW4ndCB0ZXN0ZWQgdGhpcyB3aXRoIGRlc2t0b3Agdmlldy5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICB9XHJcbiAgLy8gLS0tIEhpZGRlbiBpbnB1dCBzdHlsaW5nIC0tLVxyXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdLCBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIC8vIERvIG5vdCBhcHBseSB2aXNpYmlsaXR5OiBoaWRkZW4gb3RoZXJ3aXNlIDpmb2N1cyBkb2Vzbid0IHdvcmsuXHJcbiAgICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAmLmlzLWhvdmVyZWQsICY6aG92ZXIge1xyXG4gICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgYm94LXNoYWRvdzogLTE1cHggMCAyN3B4IDNweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIFxyXG5cclxuICAmLmlzLWludmFsaWQtbGFiZWwge1xyXG4gICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTsgXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgLmlucHV0LXByZWZpeC1pY29uLCBpbnB1dCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pcy1mb2N1c2VkIHtcclxuICAgIC5pbnB1dC1wcmVmaXgtaWNvbiB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogYWN0aXZlLWNvbG91cigkaW5wdXQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGlucHV0LXNlYXJjaC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgIGJveC1zaGFkb3c6IC0xNXB4IDAgMjdweCAzcHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBJZiB0aGUgbGFiZWwgaXMgb3V0c2lkZSBvZiB0aGUgLmNvbnRyb2wgY29udGFpbmVyICggZS5nLiBsYWJlbCBhZnRlciBjaGVja2JveCApLlxyXG4gICYgKyAubGFiZWwge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAkbGFiZWwtaW5wdXQtZ2FwO1xyXG4gIH1cclxuXHJcbiAgLy8gSWNvbiB0aGF0IHNpdHMgYmVmb3JlIHRoZSBpbnB1dC5cclxuICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGlucHV0LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcclxuICAgIGJvcmRlci1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIEBpZiAkc21vb3RoLWVkZ2VzLWVuYWJsZWQge1xyXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICYgKyBpbnB1dCB7XHJcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgIH1cclxuICAgICYgKyBpbnB1dCB7XHJcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAubGFiZWwge1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICB9XHJcbiAgLy8gSG92ZXIgc3RhdGVzIGZvciB2aXNhYmxlIGlucHV0cy5cclxuICAmOm5vdCgucmVhZC1vbmx5LWlucHV0KTpub3QoLmRpc2FibGVkLWlucHV0KTpub3QoLmlzLWludmFsaWQtbGFiZWwpIHtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAubGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICAgIGlucHV0W3R5cGU9dGV4dF0sIGlucHV0W3R5cGU9bnVtYmVyXSwgaW5wdXRbdHlwZT10ZWxdLCB0ZXh0YXJlYSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogaG92ZXItY29sb3VyKCRpbnB1dC1ib3gtc2hhZG93KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJi5yZWFkLW9ubHktaW5wdXQsICYuZGlzYWJsZWQtaW5wdXQge1xyXG4gICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgLy8gRm9yIG1vYmlsZSBkZXZpY2VzIHN1cHByZXNzIGZvciB0ZXh0IGZpZWxkcy5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgJjpub3QoLnRleHQpIHtcclxuICAgICAgICBAaW5jbHVkZSBpbnB1dFJlYWRPbmx5KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFNob3cgZm9yIGFsbCBmaWVsZHMgaW4gZGVza3RvcC5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgQGluY2x1ZGUgaW5wdXRSZWFkT25seSgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG4gIFxyXG4gIC8vLS0tIENoZWNrYm94IC0tLVxyXG4gICAmLmNoZWNrYm94IHtcclxuICAgICAgJi5zbWFsbCB7XHJcbiAgICAgICAgLy8gSW4gbW9iaWxlIHdlIHdhbnQgY2hlY2tib3hlcyB0byBkZWZhdWx0IHRvIHdpZHRoOjEwMCUgYnV0IG92ZXJyaWRlIHdpZHRoIGluIGRlc2t0b3A7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1jaGVja2JveCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOm5vdCguc21hbGwpIHtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICBAaW5jbHVkZSBjb21tb24tY2hlY2tib3goKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbiAgLy8gLS0tIFJhZGlvIEJ1dHRvbnMgLS0tIFxyXG4gICYucmFkaW8ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuICAvLyBSYWRpbyBidXR0b24gZGVzaWduLlxyXG4gICYucmFkaW86bm90KC5jaGVja2JveCkgeyBcclxuICAgIGlucHV0IHtcclxuICAgICAgLy8gSWYgcmFkaW8gYWN0aXZlLlxyXG4gICAgICAmOmNoZWNrZWQgKyBzcGFuLnJhZGlvIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBzcGFuLnJhZGlvIHtcclxuICAgICAgd2lkdGg6ICRyYWRpby1kaW1lbnRpb25zO1xyXG4gICAgICBoZWlnaHQ6ICRyYWRpby1kaW1lbnRpb25zO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkcmFkaW8tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGlvLWRpbWVudGlvbnM7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAkcmFkaW8taWNvbi1kaW1lbnNpb25zO1xyXG4gICAgICAgIGhlaWdodDogJHJhZGlvLWljb24tZGltZW5zaW9ucztcclxuICAgICAgICAvLyBGb3Igc29tZSByZWFzb24gZmxleGJveCBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciBpcyBvZmYgYnkgLjVweC5cclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAuMnB4O1xyXG4gICAgICAgIGxlZnQ6IC40cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaW8taWNvbi1kaW1lbnNpb25zO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHJhZGlvLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYWRpby1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLy8gQ2hlY2tvdXQgc3R5bGVzLlxyXG4gICYucmFkaW8uY2hlY2tib3gge1xyXG4gICAgaW5wdXQge1xyXG4gICAgICBAaW5jbHVkZSBjb21tb24tY2hlY2tib3goKTtcclxuICAgIH1cclxuICB9XHJcbiAgLy8tLS0gU2VsZWN0IC0tLVxyXG4gICYuc2VsZWN0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyBzZWxlY3QgZHJvcGRvd24gdG8gb3ZlcmxhcCB0aGUgcmVjYXB0Y2hhIGJhZGdlIGluIG1vYmlsZS5cclxuICAgIC8vIHotaW5kZXg6IDE7XHJcbiAgICBzZWxlY3Qge1xyXG4gICAgICBoZWlnaHQ6ICRzZWxlY3QtZHJvcGRvd24tZGVmYXVsdC1oZWlnaHQ7XHJcbiAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAmOmRpc2FibGVkLCAmW3JlYWRvbmx5XSB7XHJcbiAgICAgICAgJiArIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7IFxyXG4gICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmRpc2FibGVkLCAmW3JlYWRvbmx5XSB7XHJcbiAgICAgICAgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5jb250cm9sLXNlbGVjdC1kcm9wZG93bjpob3ZlciB7XHJcbiAgICAgICAgICAuc2VsZWN0LWFycm93IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmlzLWludmFsaWQtaW5wdXQgKyAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICB9XHJcbiAgICAgJjpmb2N1cyB7XHJcbiAgICAgICArIGRpdltjbGFzcz1jb250cm9sLXNlbGVjdC1jb250YWluZXJdIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICB9XHJcbiAgICAgfSBcclxuICAgIH1cclxuICAgICYuaXMtY2xvc2luZyB7XHJcbiAgICAgIHotaW5kZXg6IDIwMDA7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSwgJi5hY3RpdmU6aG92ZXIge1xyXG4gICAgICAvLyBNYWtlIHN1cmUgdGhleSBhcHBlYXIgdW5kZXIgdGhlIGhlYWRlciB3aGVuIHN0aWNreS5cclxuICAgICAgei1pbmRleDogMTk5OTtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7IFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmRyb3Bkb3duLXRvcCB7XHJcbiAgICAgICAgLnNlbGVjdGVkLW9wdGlvbiB7XHJcbiAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuc2VsZWN0LWFycm93IHtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbnMge1xyXG4gICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDAgMCAwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7ICBcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuc2VsZWN0LWFycm93IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykgMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTg1cHg7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpOyBcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kcm9wZG93bi1ib3R0b20ge1xyXG4gICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kcm9wZG93bi10b3Age1xyXG4gICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgfVxyXG4gICAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgIGJvdHRvbTogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRyb3Bkb3duLXRvcC5hY3RpdmUge1xyXG4gICAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWxlY3QtYXJyb3cge1xyXG4gICAgICB3aWR0aDogJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJ1dHRvbi13aWR0aDtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIDA7XHJcbiAgICAgIH1cclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNlbGVjdC1kcm9wZG93bi1jaGV2cm9uLXNpemU7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VsZWN0ZWQtb3B0aW9uIHtcclxuICAgICAgLy8gTmVlZCB0byBzZXQgaGVpZ2h0OiAxMDAlIG90aGVyd2lzZSB0aGUgb3ZlcmZsb3dzIHRoZSBjb250YWluZXIgaWYgaXQgaGFzIGEgc2V0IGhlaWdodC5cclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgcGFkZGluZzogNXB4IDAgNXB4IDA7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICgkc2VsZWN0LWRyb3Bkb3duLWNoZXZyb24tYnV0dG9uLXdpZHRoICsgMyk7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNlbGVjdC1kcm9wZG93bi1mb250LXNpemUpO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgfVxyXG4gICAgICAuc2VsZWN0ZWQtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6ICRmaWVsZHNldC1pbnB1dC1wYWRkaW5nO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2VsZWN0LWRyb3Bkb3duLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgQGF0LXJvb3Qge1xyXG4gICAgICAgIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGlucHV0LWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIH1cclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9ucyB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAvLyBOZWVkIHBvc2l0aW9uIGFic29sdXRlIG90aGVyd2lzZSBpbiBtb2JpbGUgcHVzaGVzIHRoZSBlbnRpcmUgcGFnZSBkb3duLlxyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIC8vIHRvcDogMDtcclxuICAgICAgbWFyZ2luOiBhdXRvIDAgMDtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAwIDFweCAwIDFweDtcclxuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzZWxlY3QtZHJvcGRvd24tZm9udC1zaXplKTtcclxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgICBAaWYgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wtc2VsZWN0LW9wdGlvbiB7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAwIDVweCAxMHB4OyBcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICZbc2VsZWN0ZWRdIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tY29sb3VyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICB9XHJcbiAgICAgICZbZGlzYWJsZWRdLCAmLmRpc2FibGVkIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1jb2xvdXIpOyBcclxuICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tY29sb3VyKTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoJHNlbGVjdC1kcm9wZG93bi1zZWxlY3Qtb3B0aW9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkc2VsZWN0LWRyb3Bkb3duLXNlbGVjdC1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzZWxlY3QtZHJvcGRvd24tc2VsZWN0LW9wdGlvbi1jb2xvdXIpO1xyXG4gICAgICAgICZbZGlzYWJsZWRdLCAmLmRpc2FibGVkIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAvLyBBZGRpbmcgaW4gYSBtaW4td2lkdGggdG8gcHJldmVudCBjcmFtcGVkIHNlbGVjdCBkcm9wZG93bnMgd2l0aCBzaG9ydGVkIHN0cmluZ3Mgb2YgdGV4dCBmb3IgdGhlaXIgb3B0aW9uIGRlc2NpcHRpb25zLlxyXG4gICAgICBtaW4td2lkdGg6IDE1MHB4O1xyXG4gICAgICAvLyBEb250IHNldCAxMDAlIGp1c3QgaW5jYXNlIHRoZXJlIGlzIGEgdG9vbHRpcCBhc3NpZ25lZC5cclxuICAgICAgLy93aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICBmbGV4OiAxO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRvIGFsbG93IGlucHV0IHRvIHRha2UgdXAgYXZhbGFibGUgd2lkdGguXHJcbiAgICAgICAgLy8gbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZmllbGQtaW5wdXQtd2lkdGgpO1xyXG4gICAgICAgIC8vIHdpZHRoOiAxMDAlO1xyXG4gICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBoZWlnaHQ6ICRzZWxlY3QtZHJvcGRvd24tZGVmYXVsdC1oZWlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgLnNlbGVjdC1hcnJvdyB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzZWxlY3QtZHJvcGRvd24tY2hldnJvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYudGl0bGUge1xyXG4gICAgICAvLyB3aWR0aDogYXV0bztcclxuICAgICAgLy8gLmxhYmVsIHtcclxuICAgICAgLy8gICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgIC8vICAgICB3aWR0aDogYXV0bztcclxuICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgLy8gICB9XHJcbiAgICAgIC8vIH1cclxuICAgICAgLy8gSW5jcmVhc2luZyB0byAyNTBweCB0byBhbGxvdyBmb3IgdW4tc2VsZWN0ZWQgdmFsdWUuXHJcbiAgICAgIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICYudGV4dCB7XHJcbiAgICBjdXJzb3I6IHRleHQ7XHJcbiAgICBpbnB1dCB7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAmOm5vdChbdHlwZT1wYXNzd29yZF0pOmhvdmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAmLmlzLWludmFsaWQtaW5wdXQge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgICAgICY6Zm9jdXMgeyBcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm5vdCguaXMtaW52YWxpZC1pbnB1dCkgKyBidXR0b24ge1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLnNsaWRlciB7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcbiAgJi5maWxlIHtcclxuICAgIC8vIEhhdmluZyB0byB1c2UgaW1wb3J0YW50IGR1ZSB0byBvdmVycmlkaW5nIGZvdW5kYXRpb24gc3R5bGVzLlxyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRpbnB1dC1maWxlLXdpZHRoKSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXI6ICRpbnB1dC1maWxlLW91dGVyLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgfVxyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiAnJztcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGlucHV0LWZpbGUtaW5uZXItYm9yZGVyLXdpZHRofSk7XHJcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skaW5wdXQtZmlsZS1pbm5lci1ib3JkZXItd2lkdGh9KTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgYm9yZGVyOiAkaW5wdXQtZmlsZS1pbm5lci1ib3JkZXItd2lkdGggZGFzaGVkIG1hcC1nZXQoJGlucHV0LWZpbGUtYm9yZGVyLWlubmVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICB9XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGlucHV0LWZpbGUtd2lkdGgpIWltcG9ydGFudDtcclxuICAgICAgcGFkZGluZzogMzhweCAxMHB4O1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1pbm5lci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgICBzcGFuLmxhYmVsIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICB9XHJcbiAgICAgIC5maWxlLXVwbG9hZC1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtdXBsb2FkLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlLCAmLmlzLXJlYWR5IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS1ib3JkZXItaW5uZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLXJlYWR5IHtcclxuICAgICAgLmZpbGUtdXBsb2FkLWljb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWxlLXVwbG9hZC1yZWFkeSk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGlucHV0LWZpbGUtdXBsb2FkLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmlzLWludmFsaWQtbGFiZWwge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCk7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIH1cclxuICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICB9XHJcbiAgICAgIC5maWxlLXVwbG9hZC1pY29uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWxlLXJlbW92ZSk7XHJcbiAgICAgICAgICBAaWYgJHNpdGUtaWNvbnMtY3VzdG9tLWZpbGUtcmVhZHktaWNvbiB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1maWxlLXJlYWR5LWljb24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBzcGFuLmxhYmVsIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHNwYW4ubGFiZWwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGlucHV0LWZpbGUtbGFiZWwtcGFkZGluZyk7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaW5wdXQtZmlsZS1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICBmb250LXdlaWdodDogJGlucHV0LWZpbGUtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1maWxlLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAobGFyZ2UtdmFsdWUoJGlucHV0LWZpbGUtbGFiZWwtcGFkZGluZykgLyAyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZpbGUtdXBsb2FkLWljb24ge1xyXG4gICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWxlLXVwbG9hZCk7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWZpbGUtdXBsb2FkLWljb24pO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDZweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaW5wdXQtZmlsZS11cGxvYWQtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICB9XHJcbiAgICAgICYgKyAubGFiZWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5wdXQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJGlucHV0LWZpbGUtbGFiZWwtcGFkZGluZywgMywgc21hbGwpO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkaW5wdXQtZmlsZS1sYWJlbC1wYWRkaW5nLCAzLCBsYXJnZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5maWxlLXNpemUge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICAucmVtb3ZlLWJ1dHRvbiB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgIH1cclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsZS1yZW1vdmUpO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5zZWFyY2gge1xyXG4gICAgaW5wdXQge1xyXG4gICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICAvLyBUb29sdGlwcy5cclxuICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgfVxyXG4gICY6aG92ZXIge1xyXG4gICAgLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBhbmltYXRpb246IGFuaW1hdGVUb29sVGlwSGludCAycztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnF1YW50aXR5LXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgLy8gei1pbmRleDogNTAwO1xyXG4gIHNlbGVjdCwgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgIHdpZHRoOiAkcXVhbnRpdHktZHJvcGRvd24td2lkdGg7XHJcbiAgICAgIC8vIG1hcmdpbjogYXV0bztcclxuICB9XHJcbiAgLmNvbnRyb2wuc2VsZWN0IC5zZWxlY3RlZC1vcHRpb24gLnNlbGVjdGVkLWRlc2NyaXB0aW9uIHtcclxuICAgIHBhZGRpbmctbGVmdDogJHF1YW50aXR5LWRyb3Bkd29uLXBhZGRpbmctbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZVRvb2xUaXBIaW50IHtcclxuICAwJSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gIH1cclxuICAyMCUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gIH1cclxufVxyXG5cclxuaW5wdXQge1xyXG4gIC8vIEdvaW5nIGFnYWluc3QgdGhlIGdyYWluIGhlcmUgYmVjYXVzZSBvZiBpT1MgaWYgd2UgZG8gbm90IHNldCB0aGUgZm9udC1zaXplIHRvID4gMTZweCB0aGVuIGJyb3dzZXIgd2lsbCB6b29tIGluIG9uIHRoZSBpbnB1dCBmaWVsZC4uLiBodHRwczovL2Nzcy10cmlja3MuY29tLzE2cHgtb3ItbGFyZ2VyLXRleHQtcHJldmVudHMtaW9zLWZvcm0tem9vbS8gYW5kIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzI5ODkyNjMvZGlzYWJsZS1hdXRvLXpvb20taW4taW5wdXQtdGV4dC10YWctc2FmYXJpLW9uLWlwaG9uZSwgdGhlcmUgaGFzIGJlZW4gc3VnZ2VzdGlvbnMgdGhhdCB0aGUgZml4IGluIHRoYXQgc3RhY2sgcG9zdCBzcGVjaWZpY2FsbHkgXCIgbWF4aW11bS1zY2FsZT0xIFwiIGhhcyBjYXVzZWQgaXNzdWVzIHdpdGggYW5kcm9pZCBkZXZpY2VzIG5vdCBiZWluZyBhYmxlIHRvIHBpbmNoIHpvb20gc28gSSBoYXZlIG9wdGVkIHRvIGdvdCBkb3duIHRoZSBwdXJlIGNzcyBmaXguXHJcbiAgQGlmICgkaW5wdXQtZm9udC1zaXplIDwgMTYpIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNikgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRpbnB1dC1jb2xvdXIpO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC13ZWlnaHQ7XHJcbiAgICBAaWYgKCRpbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogJGlucHV0LXBsYWNlaG9sZGVyLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkaW5wdXQtcGxhY2Vob2xkZXItdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06ICRpbnB1dC1wbGFjZWhvbGRlci10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vICY6YXV0b2ZpbGwge1xyXG4gIC8vICAgY29sb3I6ICRjb2xvdXIzLTMgIWltcG9ydGFudDtcclxuICAvLyAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAkY29sb3VyMy0zO1xyXG4gIC8vIH1cclxufVxyXG5cclxuaW5wdXQubWFpbC1pbnB1dCB7XHJcbiAgLy8gbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAjeyRtYWlsaW5nLWJ1dHRvbi1zdWJtaXQtd2lkdGh9KTtcclxuICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgZmxleC1ncm93OiAxO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgLy8gRGVmYXVsdCBhbGwgdGhlIHdheSBhcm91bmQgdGhlIGlucHV0IGZvciBzbWFsbCBkZXZpY2VzIGFzIGJ1dHRvbiB3aWxsIG5lZWQgdG8gd3JhcC5cclxuICBib3JkZXItd2lkdGg6IDFweDtcclxuICBAaWYgc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWxpc3QtaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgLy8gRG8gd2Ugd2FudCB0aGUgYnV0dG9uIHRvIGFwcGVhciBzZXBlcmF0ZSBmcm9tIHRoZSBpbnB1dC5cclxuICAgIEBpZiAkbWFpbGluZy1saXN0LWlucHV0LWJ1dHRvbi1zZXBlcmF0ZS1lbGVtZW50cyB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWFpbGluZy1saXN0LWlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWFpbGluZy1saXN0LWlucHV0LWJvcmRlci1yYWRpdXMpIDAgMCBzbW9vdGgtZWRnZXMoJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuICB9XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIC8vICY6Zm9jdXMgKyBidXR0b24ge1xyXG4gICAgICAvLyBib3JkZXItY29sb3I6ICRjb2xvdXIwIWltcG9ydGFudDtcclxuICAgICAgLy8gdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgLy8gfVxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGJvcmRlci13aWR0aDogJG1haWxpbmctbGlzdC1pbnB1dC1ib3JkZXI7XHJcbiAgfVxyXG4gICYuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbiB7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxuICArIGJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vIHdpZHRoOiAkbWFpbGluZy1idXR0b24tc3VibWl0LXdpZHRoO1xyXG4gICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgQGlmIHNtYWxsLXZhbHVlKCRtYWlsaW5nLWJ1dHRvbi1tYXJnaW4pIHtcclxuICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbWFpbGluZy1idXR0b24tbWFyZ2luKTtcclxuICAgIH1cclxuICAgIHBhZGRpbmc6ICRtYWlsaW5nLWJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAvLyBEZWZhdWx0IHRvIHRoZSBib3JkZXIgZ29lcyBhbGwgdGhlIHdheSBhcm91bmQgdGhlIGJ1dHRvbiBmb3Igc21hbGwgZGV2aWNlcyBhcyB0aGUgYnV0dG9uIHdpbGwgd3JhcC5cclxuICAgIGJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBAaWYgJG1haWxpbmctYnV0dG9uLWZvbnQtc2l6ZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1haWxpbmctYnV0dG9uLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBAaWYgbm90ICgkbWFpbGluZy1saXN0LWJ1dHRvbi10ZXh0LXRyYW5zZm9ybSA9PSBcIm5vbmVcIikge1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJG1haWxpbmctbGlzdC1idXR0b24tdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgIEBpZiAkbWFpbGluZy1saXN0LWlucHV0LWJ1dHRvbi1zZXBlcmF0ZS1lbGVtZW50cyB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoJG1haWxpbmctYnV0dG9uLWJvcmRlci1yYWRpdXMpIHNtb290aC1lZGdlcygkbWFpbGluZy1idXR0b24tYm9yZGVyLXJhZGl1cykgMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICBtYXJnaW46IG1lZGl1bS12YWx1ZSgkbWFpbGluZy1idXR0b24tbWFyZ2luKTtcclxuICAgICAgYm9yZGVyLXdpZHRoOiAkbWFpbGluZy1idXR0b24tYm9yZGVyO1xyXG4gICAgfVxyXG4gICAgJjplbXB0eSB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtYWlsKTtcclxuICAgICAgICB3aWR0aDogJG1haWxpbmctYnV0dG9uLXN1Ym1pdC13aWR0aDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICAgXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJjplbXB0eSB7XHJcbiAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgICBcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJG1haWxpbmctYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtYWlsaW5nLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAmOmVtcHR5IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWFpbGluZy1idXR0b24taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbn1cclxuXHJcbi8vIE5vcm1hbGx5IGdyb3VwZWQgaGlkZGVuIGZpZWxkcyB0aGF0IGdldCB0b2dnbGVkICggdGhpbmsgZGVsaXZlcnkgYWRkcmVzc2VzICkuXHJcbi5jb25kaXRpb25hbC1pbnB1dHMge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1heC1oZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgbWF4LWhlaWdodDogMjAwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFF1YW50aXR5IFNlbGVjdG9ycyAtLS0tLVxyXG4vLyAtLS0gRnJlZSBUZXh0IC0tLSBcclxuLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgLy8gLS0tIENvbG91cmluZyAtLS1cclxuICAvLyBEZWZhdWx0XHJcbiAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiZGVmYXVsdFwiKTtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImRlZmF1bHRcIik7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKGhvdmVyOiBob3Zlcikge1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIFwiZGVmYXVsdFwiLCBcImhvdmVyXCIpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcImRlZmF1bHRcIiwgXCJob3ZlclwiKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcImRlZmF1bHRcIiwgXCJhY3RpdmVcIik7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJkZWZhdWx0XCIsIFwiYWN0aXZlXCIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBQcmVzZXQgMVxyXG4gICYucHJlc2V0LTEge1xyXG4gICAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50ICB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImRlZmF1bHRcIik7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImRlZmF1bHRcIik7XHJcbiAgICAgIH1cclxuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1kZWVwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImhvdmVyXCIpO1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJwcmVzZXQtMVwiLCBcImhvdmVyXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcInByZXNldC0xXCIsIFwiYWN0aXZlXCIpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbG9yOiBtYXAtZGVlcC1nZXQoJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24tY29sb3VyLCBcInByZXNldC0xXCIsIFwiYWN0aXZlXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gRGlzYWJsZWQgY29sb3Vycy5cclxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHNwYW4uZGlzYWJsZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBcImRpc2FibGVkXCIpO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb2xvcjogbWFwLWRlZXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWNvbG91ciwgXCJkaXNhYmxlZFwiKTtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAvL2JhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5sYWJlbCB7XHJcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRxdWFudGl0eS1sYWJlbC1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICBsaW5lLWhlaWdodDogJHF1YW50aXR5LWxhYmVsLWxpbmUtaGVpZ2h0O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkcXVhbnRpdHktbGFiZWwtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHF1YW50aXR5LWxhYmVsLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIERlLWFjdGl2YXRlIHNwaW5uZXIgYnV0dG9ucyBhcyB3ZSBoYXZlIHRoZSBpbmNyZW1lbnRvciBidXR0b25zIG9uIGVpdGhlciBzaWRlLlxyXG4gIGlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgaW5wdXRbdHlwZT1udW1iZXJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uLCBpbnB1dFt0eXBlPW51bWJlcl0ge1xyXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcclxuICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxuXHJcbiAgLy8gRXJyb3Igc3R5bGluZy5cclxuICAvLyBNb3JlIGdlbmVyaWMgZXJyb3Igc3R5bGluZyBub3cgdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHN1cHBvcnQgSUUuXHJcbiAgJjpoYXMoaW5wdXQuaXMtaW52YWxpZC1pbnB1dCkge1xyXG4gICAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBpbnZhbGlkKTtcclxuICAgICAgJjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5pbnB1dC1udW1iZXIge1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCA5KTtcclxuICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIE9sZCB3YXkgb2YgZG9pbmcgdGhpcyByZXF1aXJpbmcgSlMuXHJcbiAgJi5pcy1pbnZhbGlkLXF1YW50aXR5IHtcclxuICAgIC5pbnB1dC1udW1iZXItZ3JvdXAgLmlucHV0LW51bWJlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaW52YWxpZCk7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5xdWFudGl0eS1lcnJvciB7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5xdWFudGl0eS1lcnJvciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gIH1cclxufVxyXG5cclxuLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9ucyBzdHlsZXMuXHJcbi5xdWFudGl0eS1mcmVlLXRleHQtY29udGFpbmVyIC5pbnB1dC1ncm91cCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xyXG4gIH1cclxuICBpbnB1dCB7XHJcbiAgICB3aWR0aDogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC13aWR0aDtcclxuICAgIGhlaWdodDogJHF1YW50aXR5LWZyZWUtdGV4dC1pbnB1dC1oZWlnaHQ7XHJcbiAgICBAaWYgKCRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWJvcmRlci1yYWRpdXM7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uaW5wdXQtbnVtYmVyLWdyb3VwIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIC8vIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XHJcbiAgICAvLyBJRSBEb2Vzbid0IHNlZW0gdG8gbGlrZSB0aGlzIGFwcHJvYWNoLlxyXG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XHJcbiAgfVxyXG4gIC5pbnB1dC1ncm91cC1idXR0b24gc3Bhbi5kaXNhYmxlZCB7XHJcbiAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtbnVtYmVyIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtbnVtYmVyLFxyXG4gIC5pbnB1dC1udW1iZXItZGVjcmVtZW50LFxyXG4gIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBoZWlnaHQ6ICRxdWFudGl0eS1mcmVlLXRleHQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCxcclxuICAuaW5wdXQtbnVtYmVyLWluY3JlbWVudCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogJHF1YW50aXR5LWZyZWUtdGV4dC1idXR0b24td2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcXVhbnR0aXktZnJlZS10ZXh0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBmb250LXNpemU6ICRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWZvbnQtc2l6ZTtcclxuICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIChob3ZlcjogaG92ZXIpIHtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRxdWFudGl0eS1mcmVlLXRleHQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCB7XHJcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDFweCAxcHg7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKSAwIDAgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHF1YW50aXR5LXNlbGVjdG9yLWluY3JlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAxcHggMDtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMDtcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcXVhbnRpdHktc2VsZWN0b3ItZGVjcmVtZW50KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLSBTZWxlY3QgZHJvcGRvd24gIC0tLVxyXG4ucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHVuc2V0O1xyXG4gIH1cclxuICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogJHF1YW50aXR5LWRyb3Bkb3duLWhlaWdodDtcclxuICB9XHJcbiAgLnNlbGVjdCB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgfVxyXG4gICAgc2VsZWN0IHtcclxuICAgICAgaGVpZ2h0OiAkcXVhbnRpdHktZHJvcGRvd24taGVpZ2h0O1xyXG4gICAgfVxyXG4gIH1cclxuICAubGFiZWwge1xyXG4gICAgQGluY2x1ZGUgcXVhbnRpdHktc2VsZWN0b3ItbGFiZWwoKTtcclxuICB9XHJcbiAgXHJcbn1cclxuXHJcbi8vIC0tLS0tIEFiaWRlIC0tLS0tIFxyXG4vLyAtLS0gRm9ybSBFcnJvcnMgLS0tXHJcbi8vIFN0YW5kYXJkIEVycm9yIHRoYXQgZ2V0cyBzaG93IHVuZGVyIHRoZSBmaWVsZC5cclxuc3Bhbi5mb3JtLWVycm9yIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlcjogMDtcclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IGxhcmdlLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCk7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuICAmLmlzLXZpc2libGUge1xyXG4gICAgLy9wYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIH1cclxufVxyXG4vLyBFcnJvciB0aGF0IGRvZXNuJ3QgZ2V0IHNob3cgZGlyZWN0bHkgaW4gdGhlIG1haW4gY29udGVudCBidXQgcmF0aGVyIGluIGEgY2FsbG91dC5cclxuc3Bhbi5mb3JtLWNhbGxvdXQtZXJyb3Ige1xyXG4gIC8vIE92ZXJyaWRlIGZvdW5kYXRpb24uXHJcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaXMtaW52YWxpZC1pbnB1dCB7XHJcbiAgYm9yZGVyLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xyXG4gIC8vIGFuaW1hdGlvbjoga2Zfc2hha2UgMC40cyAxLjggbGluZWFyO1xyXG59XHJcblxyXG5cclxudWwuYWR2YW5jZWQtdmFsaWRhdGlvbiB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIHBhZGRpbmc6IDAgMTBweDtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMCAwIDM1cHg7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuICA+IGxpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICB9XHJcbiAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFkdmFuY2VkLWZvcm0tZXJyb3Ige1xyXG4gICAgICB3aWR0aDogYXV0bztcclxuICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYWR2YW5jZWQtdmFsaWRhdGlvbi1mb250LXNpemUpO1xyXG4gICAgICBmb250LXdlaWdodDogJGFkdmFuY2VkLXZhbGlkYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgIGZvbnQtc3R5bGU6ICRhZHZhbmNlZC12YWxpZGF0aW9uLWZvbnQtc3R5bGU7XHJcbiAgICAgIGNvbG9yOiAkYWR2YW5jZWQtdmFsaWRhdGlvbi1kZWZhdWx0LWNvbG91cjtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFkdmFuY2VkLWZvcm0tZmFpbCk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGFkdmFuY2VkLXZhbGlkYXRpb24taWNvbi1zaXplO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgY29sb3I6ICRhZHZhbmNlZC12YWxpZGF0aW9uLWRlZmF1bHQtaWNvbi1jb2xvdXI7XHJcbiAgICAgIH1cclxuICAgICAgJi5pcy12YWxpZCB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhZHZhbmNlZC1mb3JtLXN1Y2Nlc3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLmlzLWludmFsaWQge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFkdmFuY2VkLWZvcm0tZmFpbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcbn1cclxuXHJcbi8vIFRoZSByZWFzb24gZm9yIHRoZSBvdmVycmlkZXMgaXMgYmVjYXVzZSB3ZSBuZWVkIHRvIHV0aWxpc2UgYWJpZGUncyBsaXZlIHZhbGlkYXRpb24gd2hpY2ggYWRkcyB0aGUgaW52YWxpZCBjbGFzcywgaXQgaXMgZmFyIHNpbXBpbGFyIHRvIG92ZXJyaWRlIGhlcmUgaW5zdGVhZCBvZiBtb2RpZnlpbmcgdGhlIG5vZGUgbW9kdWxlcy5cclxuLmFkdmFuY2VkLXZhbGlkYXRpb24tYWN0aXZlLmlzLWludmFsaWQtbGFiZWwge1xyXG4gIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gIC8vIC5pcy1pbnZhbGlkLWlucHV0OmZvY3VzIHsgXHJcbiAgLy8gICBib3JkZXItY29sb3I6ICRjb2xvdXIwIWltcG9ydGFudDtcclxuICAvLyAgICYgKyAubGluZS1idXR0b24ge1xyXG4gIC8vICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwIWltcG9ydGFudDtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcbn1cclxuXHJcbi8vIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gZ3JvdXAtZm9ybS1lcnJvciAmIGVycm9yLWJsb2NrIGlzIHRoZSBlcnJvci1ibG9jayBpcyBkaWN0YXRlZCBieSB0aGUgc2VydmVyIHdoZW4gdG8gc2hvdyBidXQgZ3JvdXAtZm9ybS1lcnJvciBpcyBzaG93biB3aGVuIHRoZSBKUyB2YWxpZGF0aW9uIGRlY2lkZXMgd2hlbiB0b2RvIHNvLlxyXG4uZ3JvdXAtZm9ybS1lcnJvciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBtYXJnaW46IDEwcHggMCAwO1xyXG4gIEBpbmNsdWRlIGVycm9yLWJsb2NrKCk7XHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gU3VwcmVzc2luZyB0byBhbGxvdyBmb3IgYnV0dG9uIG1hcmdpbiBoYW5kbGUgdGhlIGd1dHRlcnMsIHRoaXMgd2FzIGRlY2lkZWQgZm9yIGRvd25sb2FkIG9yZGVycy5cclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUaGlzIGlzIHR5cGljYWxseSB1c2VkIGZvciBzZXJ2ZXIgZm9ybSBlcnJvcnMuXHJcbi5lcnJvci1ibG9jayB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZCwgYWxlcnQpO1xyXG4gIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gIEBpbmNsdWRlIGVycm9yLWJsb2NrKCk7XHJcbn1cclxuXHJcbi8vIC0tLSBHZW5lcmFsIHZhbGlkYXRpb24gLS0tXHJcbi5jb250cm9sLmlzLWludmFsaWQtbGFiZWwge1xyXG4gIGlucHV0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSk7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIH1cclxuICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmICsgYnV0dG9uIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGludmFsaWQpO1xyXG4gICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICArIHNwYW4uY2hlY2tib3gge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbkBrZXlmcmFtZXMga2Zfc2hha2Uge1xyXG4gIDAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMTBweCk7XHJcbiAgfVxyXG5cclxuICAyMCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTBweCk7XHJcbiAgfVxyXG5cclxuICA0MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgpO1xyXG4gIH1cclxuXHJcbiAgNjAlIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTVweCk7XHJcbiAgfVxyXG5cclxuICA4MCUge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSg0cHgpO1xyXG4gIH1cclxuXHJcbiAgMTAwJSB7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCk7XHJcbiAgfVxyXG59XHJcbi5maWVsZC1sZWFkLWluLXRleHQge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGNvbG9yOiBtYXAtZ2V0KCRsYWJlbC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gIGZvbnQtd2VpZ2h0OiAkZm9ybXMtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbn1cclxuXHJcbmxhYmVsIHtcclxuICAmOm5vdCguZGlzYWJsZWQpLCAmOm5vdCgucmVhZC1vbmx5LWlucHV0KSB7XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkbGFiZWwtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIH1cclxuICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRsYWJlbC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmxhYmVsIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRsYWJlbC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRmb3Jtcy1sYWJlbC1mb250LXdlaWdodDtcclxuICB9XHJcbiAgaW5wdXQge1xyXG4gICAgLy8gU3BlY2lmaWNhbGx5IG5vdCBmaWxlIHR5cGUgZHVlIHRvIHRoYXQgc3Bhbm5pbmcgdGhlIGVudGlyZSB3aWR0aCBvZiB0aGUgY29udGFpbmVyLlxyXG4gICAgJjpub3QoW3R5cGU9ZmlsZV0pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1yYWRpb10pIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb25zIHN0eWxlcy5cclxuICAgICAgLy93aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb25zIHN0eWxlcy5cclxuICAgICAgaGVpZ2h0OiAkZmllbGRzZXQtaW5wdXQtaGVpZ2h0O1xyXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gJi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcclxuICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgLy8gfVxyXG5cclxuICAgICYuaXMtaW52YWxpZC1pbnB1dCArIGJ1dHRvbi5pbmxpbmUtYnV0dG9uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJi5pcy1pbnZhbGlkLWlucHV0W3R5cGU9cGFzc3dvcmRdOmZvY3VzICsgYnV0dG9uLmlubGluZS1idXR0b24ge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbiAgICAmOmZvY3VzICsgYnV0dG9uLmlubGluZS1idXR0b246aG92ZXIge1xyXG4gICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZS1ob3Zlcik7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gR29pbmcgYmFjayBvbiB0aGlzIGRlY2lzaW9uIGFzIEZpcmVmb3ggb24gaGFzIDIuNzUlIG9mIGdsb2JhbCB1c2FnZSwgdGhlIHdheSB0byBmaXggdGhpcyBpcyB0byBlc3NlbnRhbGx5IG91dHB1dCB0aGUgYnV0dG9uIG1hbnVhbGx5IHVzaW5nIEhUTUwgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzc4NDYwMjMvaW5wdXQtdHlwZS1zZWFyY2gtbm8tbG9uZ2VyLXNob3dzLWNhbmNlbC1idXR0b24teC11bmRlci1maXJlZm94XHJcbi8vIER1ZSB0byBsYWNrIG9mIGJyb3dzZXIgc3VwcG9ydCB0aGlzIG5lZWRzIHRvIGJlIHN1cHByZXNzIGR1ZSB0byBjb25zaXN0ZW5jeS5cclxuLyogY2xlYXJzIHRoZSAnWCcgZnJvbSBJbnRlcm5ldCBFeHBsb3JlciAqL1xyXG4vLyBpbnB1dFt0eXBlPXNlYXJjaF06Oi1tcy1jbGVhciB7ICBkaXNwbGF5OiBub25lOyB3aWR0aCA6IDA7IGhlaWdodDogMDsgfVxyXG4vLyBpbnB1dFt0eXBlPXNlYXJjaF06Oi1tcy1yZXZlYWwgeyAgZGlzcGxheTogbm9uZTsgd2lkdGggOiAwOyBoZWlnaHQ6IDA7IH1cclxuXHJcbi8qIGNsZWFycyB0aGUgJ1gnIGZyb20gQ2hyb21lICovXHJcbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24sXHJcbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXHJcbi8vIGlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLXJlc3VsdHMtYnV0dG9uLFxyXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1yZXN1bHRzLWRlY29yYXRpb24geyBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4vLyAtLS0tLSBQb3N0Y29kZSBsb29rdXAgLS0tLS1cclxuLmxvb2t1cC1jb250YWluZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcbi8vIC5wb3N0Y29kZS1sb29rdXAtY29udGFpbmVyIHtcclxuLy8gICAubGFiZWwge1xyXG4vLyAgICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbi8vICAgICAgIH1cclxuLy8gICB9XHJcbi8vIH1cclxuLnBvc3Rjb2RlLWxvb2t1cC1lcnJvciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAmLmFjdGl2ZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbn1cclxuaW5wdXQubG9va3VwLWtleSB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgIHdpZHRoOiAzNjBweDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gIH1cclxuICAmICsgYnV0dG9uICB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgIH1cclxuICB9XHJcbiAgJi5pcy12YWxpZC1pbnB1dCArIGJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRwY29kZS1sb29rdXAtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJHBjb2RlLWxvb2t1cC1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gIH1cclxuICAmLmlzLWludmFsaWQtaW5wdXQgKyBidXR0b24ge1xyXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICB9XHJcbn1cclxuXHJcbmJ1dHRvbi5sb29rdXAtc3VibWl0IHtcclxuIC8vQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyMSwgMTQsIDYwMCwgMCAxNXB4KTtcclxuIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkcGNvZGUtbG9va3VwLWJ1dHRvbi1wYWRkaW5nLCAkcGNvZGUtbG9va3VwLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHBjb2RlLWxvb2t1cC1idXR0b24tY29sb3VyLCAkcGNvZGUtbG9va3VwLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZShcImFzc29jaWF0ZWRcIiksIGdldC1idXR0b24tZm9udC13ZWlnaHRzKFwiYXNzb2NpYXRlZFwiKSwgKHdpZHRoOiBhdXRvLCBtb2JpbGUtd2lkdGg6IDEwMCUpLCAoc21hbGw6IDEwcHggMCAwLCBtZWRpdW06IDAgMCAwIDEwcHgsIGxhcmdlOiAwIDAgMCAxMHB4KSk7XHJcbn1cclxuXHJcbi5sb29rdXAtcmVzdWx0cyB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgdWwge1xyXG4gICAgbWF4LWhlaWdodDogMjI1cHg7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAuc2VsZWN0ZWQge1xyXG4gICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBidXR0b24sIGEge1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGlmICgkbG9va3Vwcy1yZXN1bHRzLWhpZ2hsaWdodGVkLXRleHQtZW5hYmxlZCkge1xyXG4gICAgICAvLyBIaWdobGlnaHQgY29udGVudC5cclxuICAgICAgc3BhbiB7IFxyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUgeyBcclxuICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLmJyYW5jaC1zZWFyY2gsICYuYWNjb3VudC1zZWFyY2gge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICBtYXJnaW4tbGVmdDogJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC13aWR0aDtcclxuICAgIH1cclxuICAgIGJ1dHRvbiB7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gLS0tLS0gR2VvbG9jYXRpb24gLS0tLS1cclxuLmdlb2xvY2F0aW9uLWNvbnRpYW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4vLyAtLS0tLSBEZWZhdWx0IHNlYXJjaCBzdHlsZXMgLS0tLS0gXHJcbmlucHV0W3R5cGU9c2VhcmNoXSB7XHJcbiAgZmxleDogMTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogJGZpZWxkc2V0LWlucHV0LXBhZGRpbmc7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gIGJvcmRlci13aWR0aDogMXB4IDAgMXB4IDFweDtcclxuICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gIEBpZiAoc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XHJcbiAgfVxyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIC8vIHBhZGRpbmc6IDAgNzBweCAwIDI1cHg7XHJcbiAgLy8gfVxyXG4gIC8vIENvbnRyYXN0IGNoZWNrZXIgZm9yIHNlYXJjaCBidXR0b24uXHJcbiAgLy8gRGVmYXVsdFxyXG4gICRidXR0b24tY29sb3VyLWRlZmF1bHQ6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG91ciwgZGVmYXVsdCkgLG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKTtcclxuICAvLyBIb3ZlclxyXG4gICRidXR0b24tY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNlYXJjaC1idXR0b24taWNvbi1jb2xvdXIsIGhvdmVyKSwgbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpKTtcclxuICAvLyBBY3RpdmVcclxuICAkYnV0dG9uLWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkc2VhcmNoLWJ1dHRvbi1pY29uLWNvbG91ciwgYWN0aXZlKSxtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpKTtcclxuXHJcblxyXG4gICY6aG92ZXIsICYuaG92ZXIge1xyXG4gICAgYm94LXNoYWRvdzogLTFweCAwcHggMjBweCA2cHggcmdiYSgxMiwgMTIsIDEzLCAwLjEpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRpbnB1dC1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGlucHV0LWJvcmRlci1jb2xvdXIpO1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgKyBidXR0b24ge1xyXG4gICAgICBib3gtc2hhZG93OiAxNXB4IDBweCAyMHB4IDJweCByZ2JhKDEyLCAxMiwgMTMsIDAuMSk7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvdXItaG92ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJjpmb2N1cywgJjphY3RpdmUsICYuZm9jdXMge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkaW5wdXQtc2VhcmNoLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuICAgICsgYnV0dG9uIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG91ci1hY3RpdmU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgLy8gQml0IG9mIGEgaGFjayBidXQgdGhlIG9ubHkgd2F5IHRvIHZlcnRpY2FsbHkgYWxpZ24gdGhlIHRleHQgZHVlIHRvIHNvbWUgZm9udCBmYW1pbHkncyBtYWtpbmcgdGhlIHRleHQgYXBwZWFyIHNsaWdodCBoaWdoaWVyIHRoYW4gb3RoZXJzIC4uLi4uIGFuZCBubyBmbGV4Ym94IGRvZXNuJ3QgaGVscCBoZXJlIEkgdHJpZWQuXHJcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgY29sb3I6ICRpbnB1dC1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3VyO1xyXG4gICAgZm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KFwic2Vjb25kYXJ5LWZvbnRcIik7XHJcbiAgICAvL2ZvbnQtc2l6ZTogcmVtLWNhbGMoJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1mb250LXNpemUpO1xyXG4gICAgLy9mb250LXdlaWdodDogJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1mb250LXdlaWdodDtcclxuICAgIEBpZiAkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLXN0eWxlIHtcclxuICAgICAgZm9udC1zdHlsZTogJGlucHV0LXNlYXJjaC1wbGFjZWhvbGRlci1zdHlsZTtcclxuICAgIH1cclxuICAgIHRleHQtdHJhbnNmb3JtOiAkaW5wdXQtc2VhcmNoLXBsYWNlaG9sZGVyLXRleHQtdHJhbnNmb3JtO1xyXG4gIH1cclxuICBAaWYgKHNtb290aC1lZGdlcygkaW5wdXQtYm9yZGVyLXJhZGl1cykpIHtcclxuICAgICY6bm90KDpoYXMoKyBidXR0b24pKSB7XHJcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuICB9XHJcbiAgKyBidXR0b24ge1xyXG4gICAgd2lkdGg6ICRzZWFyY2gtYnV0dG9uLXdpZHRoO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLXdpZHRoOiAkaW5wdXQtc2VhcmNoLWJ1dHRvbi1ib3JkZXItd2lkdGg7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LXNlYXJjaC1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGlucHV0LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcclxuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaW5wdXQtc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb2xvcjogJGJ1dHRvbi1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1zZWFyY2gtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6ICRidXR0b24tY29sb3VyLWFjdGl2ZTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc2VhcmNoKTtcclxuICAgICAgd2lkdGg6ICRzZWFyY2gtYnV0dG9uLXdpZHRoO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLXNlYXJjaC1pY29uKTtcclxuICAgICAgZm9udC1zaXplOiAkc2VhcmNoLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgIGNvbG9yOiAkYnV0dG9uLWNvbG91ci1kZWZhdWx0O1xyXG4gICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgQGlmICRzZWFyY2gtYnV0dG9uLWlubmVyLWJvcmRlciB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFRvZ2dsZWFibGUgaW5wdXRzIC0tLS0tIFxyXG4udG9nZ2xlLWNvbnRhaW5lciB7XHJcbiAgbWF4LWhlaWdodDogMDtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAmLmFjdGl2ZSB7XHJcbiAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBHZXRzIHBsYWNlZCBvdmVyIHRoZSBmaWVsZHMgdG8gYmxvY2sgdGhlIHVzZXIgZnJvbSBjbGlja2luZyBvbiB0aGVtIC0tLS1cclxuLnVpLWJsb2NrLXBhbmUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHVpLWJsb2NrLWJhY2tncm91bmQ7XHJcbiAgY3Vyc29yOiBuby1kcm9wO1xyXG4gIHotaW5kZXg6IDEwMDA7XHJcbiAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBuby1hY2Nlc3MpO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogODJweDtcclxuICAgICAgY29sb3I6IHJnYmEoJGNvbG91cjMtMywgMC42KTtcclxuICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNTTyBTZWxlY3Rpb24gLS0tLS1cclxuLnNzby1zZWxlY3Rpb24tY29udGFpbmVyIHtcclxuICB3aWR0aDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgcGFkZGluZzogMTBweCAwO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIHBhZGRpbmc6ICN7JHNzby1jb21tb24tZ2FwfSAwO1xyXG4gIH1cclxuICAuc3NvLXNlbGVjdGlvbi1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6ICRzc28tY29tbW9uLWdhcDtcclxuICB9XHJcbiAgLm9wdGlvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAmICsgLnNzby1zZXBlcmF0b3Ige1xyXG4gICAgICBtYXJnaW4tdG9wOiAkc3NvLWNvbW1vbi1nYXA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zc28tYnV0dG9uIHtcclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkc3NvLWJ1dHRvbi13aWR0aCk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgLy8gVXNpbmcgbWljcm9zb2Z0IGJ1dHRvbiBzdmcgd2lkdGggJiBoZWlnaHQgdG8gZ2l2ZSBvdXIgYXNwZWN0IHJhdGlvLiBodHRwczovL2xlYXJuLm1pY3Jvc29mdC5jb20vZW4tdXMvZW50cmEvaWRlbnRpdHktcGxhdGZvcm0vaG93dG8tYWRkLWJyYW5kaW5nLWluLWFwcHNcclxuICAgIGFzcGVjdC1yYXRpbzogMjE1LzQxO1xyXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgd2lkdGg6IG1lZGl1bS12YWx1ZSgkc3NvLWJ1dHRvbi13aWR0aCk7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgb3BhY2l0eTogMC40O1xyXG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmLm1pY3Jvc29mdCB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnI3skc2hhcmVkLWJ1dHRvbnMtZGlyZWN0b3J5ICsgaWYoJHNzby1idXR0b24tbWljcm9zb2Z0LXRoZW1lID09IFwibGlnaHRcIixcIm1pY3Jvc29mdC1zc28tbGlnaHQuc3ZnXCIsXCJtaWNyb3NvZnQtc3NvLWRhcmsuc3ZnXCIpfScpO1xyXG4gICAgfVxyXG4gIH1cclxuICAuc3NvLXNlcGVyYXRvciB7XHJcbiAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkc3NvLXNlcGVyYXRvci1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG59IiwiLy8gIEZvdW5kYXRpb24gZm9yIFNpdGVzIFNldHRpbmdzXHJcbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vL1xyXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XHJcbi8vXHJcbi8vICAgMS4gR2xvYmFsXHJcbi8vICAgMi4gQnJlYWtwb2ludHNcclxuLy8gICAzLiBUaGUgR3JpZFxyXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAgIDUuIFR5cG9ncmFwaHkgSGVscGVyc1xyXG4vLyAgIDYuIEFiaWRlXHJcbi8vICAgNy4gQWNjb3JkaW9uXHJcbi8vICAgOC4gQWNjb3JkaW9uIE1lbnVcclxuLy8gICA5LiBCYWRnZVxyXG4vLyAgMTAuIEJyZWFkY3J1bWJzXHJcbi8vICAxMS4gQnV0dG9uXHJcbi8vICAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vICAxMy4gQ2FsbG91dFxyXG4vLyAgMTQuIENhcmRcclxuLy8gIDE1LiBDbG9zZSBCdXR0b25cclxuLy8gIDE2LiBEcmlsbGRvd25cclxuLy8gIDE3LiBEcm9wZG93blxyXG4vLyAgMTguIERyb3Bkb3duIE1lbnVcclxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xyXG4vLyAgMjAuIEZvcm1zXHJcbi8vICAyMS4gTGFiZWxcclxuLy8gIDIyLiBNZWRpYSBPYmplY3RcclxuLy8gIDIzLiBNZW51XHJcbi8vICAyNC4gTWV0ZXJcclxuLy8gIDI1LiBPZmYtY2FudmFzXHJcbi8vICAyNi4gT3JiaXRcclxuLy8gIDI3LiBQYWdpbmF0aW9uXHJcbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vICAyOS4gUHJvdG90eXBlIEFycm93XHJcbi8vICAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcclxuLy8gIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gIDMzLiBQcm90b3R5cGUgRGlzcGxheVxyXG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcclxuLy8gIDM1LiBQcm90b3R5cGUgTGlzdC1TdHlsZS1UeXBlXHJcbi8vICAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vICAzOC4gUHJvdG90eXBlIFJvdW5kZWRcclxuLy8gIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAgNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gIDQyLiBQcm90b3R5cGUgU3BhY2luZ1xyXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAgNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xyXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gIDQ3LiBSZXZlYWxcclxuLy8gIDQ4LiBTbGlkZXJcclxuLy8gIDQ5LiBTd2l0Y2hcclxuLy8gIDUwLiBUYWJsZVxyXG4vLyAgNTEuIFRhYnNcclxuLy8gIDUyLiBUaHVtYm5haWxcclxuLy8gIDUzLiBUaXRsZSBCYXJcclxuLy8gIDU0LiBUb29sdGlwXHJcbi8vICA1NS4gVG9wIEJhclxyXG4vLyAgNTYuIFh5IEdyaWRcclxuLy8gRm91bmRhdGlvbiBTQVNTIGZ1bmN0aW9uLlxyXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xyXG4vLyBFeHByZXNzIGNvbmZpZ3VyYXRpb247XHJcbkBpbXBvcnQgJ3ZhcmlhYmxlcy5zY3NzJztcclxuLy8gRXhwcmVzcyBNSVhJTidzLlxyXG5AaW1wb3J0ICdtaXhpbnMnO1xyXG4vLyBFeHByZXNzIHR5cG9ncmFwaHkuXHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHkuc2Nzcyc7XHJcblxyXG4vLyAxLiBHbG9iYWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcclxuJGdsb2JhbC1saW5laGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodDtcclxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxyXG4gIHByaW1hcnk6ICRjb2xvdXI0LFxyXG4gIHNlY29uZGFyeTogJGNvbG91cjMsXHJcbiAgc3VjY2VzczogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApLFxyXG4gIHdhcm5pbmc6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKSxcclxuICBhbGVydDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSxcclxuKTtcclxuJGxpZ2h0LWdyYXk6ICRjb2xvdXIzLTE7XHJcbiRtZWRpdW0tZ3JheTogJGNvbG91cjMtMjtcclxuJGRhcmstZ3JheTogJGNvbG91cjMtMztcclxuJGJsYWNrOiAkY29sb3VyMjtcclxuJHdoaXRlOiAkY29sb3VyMTtcclxuJGJvZHktYmFja2dyb3VuZDogbnVsbDsgLy8gVGhpcyBnZXRzIG92ZXJyaWRkZW4gYnkgYXhpcy1wYWdlLWJhY2tncm91bmQtY29sb3Vycy5cclxuJGJvZHktZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XHJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtO1xyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XHJcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XHJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkO1xyXG4kZ2xvYmFsLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nO1xyXG4kZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xyXG4kZ2xvYmFsLWZsZXhib3g6IHRydWU7XHJcbiRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzOiBmYWxzZTtcclxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBwb2ludGVyO1xyXG4kZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlOiAwO1xyXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XHJcbiRwcmludC1ocmVmczogdHJ1ZTtcclxuXHJcbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcclxuXHJcbi8vIDIuIEJyZWFrcG9pbnRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kYnJlYWtwb2ludHM6IChcclxuICBzbWFsbDogMCxcclxuICBtZWRpdW06IDY0MHB4LFxyXG4gIGxhcmdlOiAkZ2xvYmFsLXdpZHRoLCAvLyBSYWlzaW5nIGxhcmdlIGJyZWFrcG9pbnQgdmFsdWUsIHNvIGF0IDE1MCUgem9vbSB3ZSBnbyBpbnRvIG1vYmlsZS5cclxuICB4bGFyZ2U6IDE2MDBweCxcclxuICB4eGxhcmdlOiAxOTIwcHhcclxuKTtcclxuJGJyZWFrcG9pbnRzLWhpZHBpOiAoXHJcbiAgaGlkcGktMTogMSxcclxuICBoaWRwaS0xLTU6IDEuNSxcclxuICBoaWRwaS0yOiAyLFxyXG4gIHJldGluYTogMixcclxuICBoaWRwaS0zOiAzXHJcbik7XHJcbiRwcmludC1icmVha3BvaW50OiBtZWRpdW07IC8vIFRoZSByZWFzb24gZm9yIGxvd2VyaW5nIHRoaXMgaXMgdGhpcyB3aWxsIGFsbG93IHRoZSByZXNwb25zaXZlIHRhYmxlIGJyZWFrcG9pbnQga2ljayBpbiBnaXZlbiB3ZSdyZSBnb2luZyBhYm92ZSAxMzAwcHggZGVuc2UgdGFibGVzIHdvdWxkIGJlIGJldHRlciBzaG93IGluIG1vYmlsZSB2aWV3LlxyXG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlIHhsYXJnZSk7XHJcblxyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgc21hbGw6IDIwcHgsXHJcbiAgbWVkaXVtOiAzMHB4LFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGdyaWQtY29sdW1uLWFsaWFzOiAnY29sdW1ucyc7XHJcbiRibG9jay1ncmlkLW1heDogODtcclxuXHJcbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gSU1QT1JUQU5UOiBETyBOT1QgVVNFIFRIRVNFIENPTkZJR1VSQVRJT04gT1BUSU9OUyBUSEUgU0FTUyBGSUxFIElTIE5PIExPTkdFUiBCRUlORyBJTVBPUlRFRCBBTkQgRVhQUkVTUyBIQU5ETEVTIEhFQURJTkcgRk9OVFMgSVRTRUxGIFNFRSBfVFlQT0dSQVBIWS5TQ1NTXHJcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xyXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZTtcclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kaGVhZGVyLXN0eWxlczogKFxyXG4gIHNtYWxsOiAoXHJcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDM1KSxcclxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjUpLFxyXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAxOSksXHJcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcclxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxyXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXHJcbiAgKSxcclxuICBtZWRpdW06IChcclxuICAgICdoMSc6ICgnZm9udC1zaXplJzogNDgpLFxyXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXHJcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcclxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMjUpLFxyXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXHJcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcclxuICApLFxyXG4pO1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuJGVuYWJsZS1jb2RlLWlubGluZTogdHJ1ZTtcclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XHJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XHJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xyXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xyXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XHJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XHJcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xyXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcclxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZW5hYmxlLWNpdGUtYmxvY2s6IHRydWU7XHJcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xyXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcclxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xyXG5cclxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XHJcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQ7XHJcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW07XHJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1wc2V1ZG8tY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kY29kZS1ibG9jay1wYWRkaW5nOiAxcmVtO1xyXG4kY29kZS1ibG9jay1tYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblxyXG4vLyA2LiBBYmlkZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGFiaWRlLWlucHV0czogdHJ1ZTtcclxuJGFiaWRlLWxhYmVsczogdHJ1ZTtcclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygkaW5wdXQtZXJyb3ItZm9udC1zaXplKTtcclxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XHJcblxyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4vLyBJbnN0ZWFkIG9mIHVzaW5nIGZvdW5kYXRpb24ncyBpbmRpY2F0b3JzIHdlIHVzZSBvdXIgb3duIGR1ZSB0byBwb3NpdGlvbmluZy5cclxuJGFjY29yZGlvbi1wbHVzbWludXM6IGZhbHNlO1xyXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1jbG9zZSk7XHJcbiRhY2NvcmRpb24tbWludXMtY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6IHJlbS1jYWxjKCRhY2NvcmRpb25zLXRpdGxlLWZvbnQtc2l6ZSk7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY29yZGlvbnMtdGl0bGUtY29sb3VyKTtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRjb2xvdXIxO1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDA7XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZztcclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiBmYWxzZTtcclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYWNjb3JkaW9ubWVudS1pdGVtLWJhY2tncm91bmQ6IG51bGw7XHJcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbDtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcclxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcclxuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg6IDQwcHg7XHJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XHJcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweDtcclxuXHJcbi8vIDkuIEJhZGdlXHJcbi8vIC0tLS0tLS0tXHJcblxyXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRiYWRnZS1jb2xvcjogJHdoaXRlO1xyXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2s7XHJcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XHJcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcclxuXHJcbi8vIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVhZGNydW1icy1tYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XHJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXNpemUpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogbWFwLWdldCgkYnJlYWRjcnVtYnMtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6IG1hcC1nZXQoJGJyZWFkY3J1bWJzLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiBtYXAtZ2V0KCRicmVhZGNydW1icy1hbmNob3ItY29sb3VyLCBhY3RpdmUpO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IG51bGw7XHJcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogJGJyZWFkY3J1bWJzLXVwcGVyY2FzZTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogbWFwLWdldCgkc2l0ZS1pY29ucywgYnJlYWRjcnVtYnMtc2VwZXJhdG9yKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XHJcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1jb2xvdXI7XHJcblxyXG4vLyAxMS4gQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRidXR0b24tZm9udC1mYW1pbHk6IGluaGVyaXQ7XHJcbiRidXR0b24tZm9udC13ZWlnaHQ6IG51bGw7XHJcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcclxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xyXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XHJcbiRidXR0b24tY29sb3I6ICR3aGl0ZTtcclxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcclxuJGJ1dHRvbi1yYWRpdXM6IDA7XHJcbiRidXR0b24tYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4O1xyXG4kYnV0dG9uLXNpemVzOiAoXHJcbiAgdGlueTogMC42cmVtLFxyXG4gIHNtYWxsOiAwLjc1cmVtLFxyXG4gIGRlZmF1bHQ6IDAuOXJlbSxcclxuICBsYXJnZTogMS4yNXJlbSxcclxuKTtcclxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xyXG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCU7XHJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcclxuJGJ1dHRvbi10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcclxuJGJ1dHRvbi1yZXNwb25zaXZlLWV4cGFuZGVkOiBmYWxzZTtcclxuXHJcbi8vIDEyLiBCdXR0b24gR3JvdXBcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcclxuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XHJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xyXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWU7XHJcblxyXG4vLyAxMy4gQ2FsbG91dFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDA7XHJcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XHJcbiRjYWxsb3V0LXNpemVzOiAoXHJcbiAgc21hbGw6IDAuNXJlbSxcclxuICBkZWZhdWx0OiAxcmVtLFxyXG4gIGxhcmdlOiAzcmVtLFxyXG4pO1xyXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogMDtcclxuJGNhbGxvdXQtbGluay10aW50OiAzMCU7XHJcblxyXG4vLyAxNC4gQ2FyZFxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGNhcmQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kY2FyZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRjYXJkLXNoYWRvdzogbm9uZTtcclxuJGNhcmQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJGNhcmQtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTA7XHJcbiRjbG9zZWJ1dHRvbi1kZWZhdWx0LXNpemU6IG1lZGl1bTtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXHJcbiAgc21hbGw6IDAuNjZyZW0sXHJcbiAgbWVkaXVtOiAyNnB4LCAvLyBhZGRpbmcgcG9zc2l0aW9uIHJpZ2h0IHRvIGJlIGlubGluZSB3aXRoIGFjY29yZGlvbiBzdGF0dXMgYXJyb3dzLlxyXG4pO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAoXHJcbiAgc21hbGw6IDAuMzNlbSxcclxuICBtZWRpdW06IGF1dG8sXHJcbik7XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXHJcbiAgc21hbGw6IDEuNWVtLFxyXG4gIG1lZGl1bTogMmVtLFxyXG4pO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE2LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcclxuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xyXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZztcclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4O1xyXG5cclxuLy8gMTcuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xyXG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGRyb3Bkb3duLXNpemVzOiAoXHJcbiAgdGlueTogMTAwcHgsXHJcbiAgc21hbGw6IDIwMHB4LFxyXG4gIGxhcmdlOiA0MDBweCxcclxuKTtcclxuXHJcbi8vIDE4LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBUYWtpbmcgYmFjayBvd25lcnNoaXAgZnJvbSBmb3VuZGF0aW9uIG9uIGFycm93IGZ1bmN0aW9uIGR1ZSB0byBuZWVkaW5nIHRvIGFsbG93IGZvciBjb25maWd1cmF0aW9uIGZvciBpY29ucy5cclxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IGZhbHNlO1xyXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xyXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweDtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW07XHJcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAzMDBweDtcclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsO1xyXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJGNvbG91cjE7XHJcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRkcm9wZG93bm1lbnUtbmVzdGVkLW1hcmdpbjogMDtcclxuJGRyb3Bkb3dubWVudS1zdWJtZW51LXBhZGRpbmc6ICRkcm9wZG93bm1lbnUtcGFkZGluZztcclxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbi8vIFRoZXNlIHZhbHVlcyB3ZXJlIHNldCB0byBudWxsIGFzIHRoZXkgd2VyZSBjb25mbGljdGluZyB3aXRoIHRoZSAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIgY29sb3VyIHNjaGVtZXMgYmFzaWNhbGx5IGNhdXNpbmcgdGhlIGJhY2tncm91bmQgY29sb3VyIHRvIGJlIHRoZSBzYW1lIGFzIHRoZSBjb250ZW50IGNvbG91ci5cclxuJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU6IG51bGw7XHJcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG51bGw7XHJcblxyXG4vLyAxOS4gRmxleGJveCBVdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZmxleC1zb3VyY2Utb3JkZXJpbmctY291bnQ6IDY7XHJcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XHJcblxyXG4vLyAyMC4gRm9ybXNcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4vLyRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XHJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XHJcbiRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XHJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYztcclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xyXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xyXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJGlucHV0LWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvdXI7XHJcbiRpbnB1dC1mb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygkaW5wdXQtZm9udC1zaXplKTtcclxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xyXG4kaW5wdXQtYmFja2dyb3VuZDogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogbWFwLWdldCgkaW5wdXQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiBtYXAtZ2V0KCRpbnB1dC1iYWNrZ3JvdW5kLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XHJcbiRpbnB1dC1zaGFkb3c6IDA7XHJcbiRpbnB1dC1zaGFkb3ctZm9jdXM6ICRib3hTaGFkb3czO1xyXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZDtcclxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XHJcbiRpbnB1dC1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzO1xyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBMYWJlbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuJGxhYmVsLWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZTtcclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XHJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMjIuIE1lZGlhIE9iamVjdFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XHJcblxyXG4vLyAyMy4gTWVudVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJG1lbnUtbWFyZ2luOiAwO1xyXG4kbWVudS1uZXN0ZWQtbWFyZ2luOiAkZ2xvYmFsLW1lbnUtbmVzdGVkLW1hcmdpbjtcclxuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XHJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW07XHJcbi8vIERpc2FibGluZyB0aGlzIGluIGZhdm91ciBvZiBzdHlsZXMgaW4gX2F4aXMtbWVudXMuc2Nzc1xyXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogbnVsbDtcclxuJG1lbnUtaXRlbS1jb2xvci1hbHQtYWN0aXZlOiBudWxsO1xyXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiB0cmFuc3BhcmVudDtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogZmFsc2U7XHJcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiBmYWxzZTtcclxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IGZhbHNlO1xyXG5cclxuLy8gMjQuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI1LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4LFxyXG4gIGxhcmdlOiA0MDBweFxyXG4pO1xyXG4kb2ZmY2FudmFzLXZlcnRpY2FsLXNpemVzOiAoXHJcbiAgc21hbGw6IDI1MHB4LFxyXG4pO1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRjb2xvdXIxO1xyXG4kb2ZmY2FudmFzLXNoYWRvdzogMDtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZTogMDtcclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcclxuJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDogMTE7XHJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiA0MDAwO1xyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nOiBlYXNlO1xyXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcclxuJG1haW5jb250ZW50LWNsYXNzOiAnb2ZmLWNhbnZhcy1jb250ZW50JztcclxuXHJcbi8vIDI2LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG5cclxuLy8gMjcuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogJHdoaXRlO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XHJcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xyXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XHJcbiRwYWdpbmF0aW9uLWFycm93LXByZXZpb3VzOiAnXFwwMEFCJztcclxuJHBhZ2luYXRpb24tYXJyb3ctbmV4dDogJ1xcMDBCQic7XHJcblxyXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XHJcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXHJcbiAgZG93bixcclxuICB1cCxcclxuICByaWdodCxcclxuICBsZWZ0XHJcbik7XHJcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xyXG4kcHJvdG90eXBlLWFycm93LWNvbG9yOiAkYmxhY2s7XHJcblxyXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG5cclxuLy8gMzEuIFByb3RvdHlwZSBCb3JkZXItTm9uZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWJvcmRlci1ub25lLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuXHJcbi8vIDMyLiBQcm90b3R5cGUgQm9yZGVyZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1ib3JkZXJlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtYm9yZGVyLXdpZHRoOiByZW0tY2FsYygxKTtcclxuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XHJcbiRwcm90b3R5cGUtYm9yZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWRpc3BsYXk6IChcclxuICBpbmxpbmUsXHJcbiAgaW5saW5lLWJsb2NrLFxyXG4gIGJsb2NrLFxyXG4gIHRhYmxlLFxyXG4gIHRhYmxlLWNlbGxcclxuKTtcclxuXHJcbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXdpZGUtbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDQpO1xyXG4kcHJvdG90eXBlLWZvbnQtbm9ybWFsOiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XHJcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG5cclxuLy8gMzUuIFByb3RvdHlwZSBMaXN0LVN0eWxlLVR5cGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtbGlzdC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcclxuICBkaXNjLFxyXG4gIGNpcmNsZSxcclxuICBzcXVhcmVcclxuKTtcclxuJHByb3RvdHlwZS1zdHlsZS10eXBlLW9yZGVyZWQ6IChcclxuICBkZWNpbWFsLFxyXG4gIGxvd2VyLWFscGhhLFxyXG4gIGxvd2VyLWxhdGluLFxyXG4gIGxvd2VyLXJvbWFuLFxyXG4gIHVwcGVyLWFscGhhLFxyXG4gIHVwcGVyLWxhdGluLFxyXG4gIHVwcGVyLXJvbWFuXHJcbik7XHJcblxyXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLW92ZXJmbG93OiAoXHJcbiAgdmlzaWJsZSxcclxuICBoaWRkZW4sXHJcbiAgc2Nyb2xsXHJcbik7XHJcblxyXG4vLyAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtcG9zaXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXBvc2l0aW9uOiAoXHJcbiAgc3RhdGljLFxyXG4gIHJlbGF0aXZlLFxyXG4gIGFic29sdXRlLFxyXG4gIGZpeGVkXHJcbik7XHJcbiRwcm90b3R5cGUtcG9zaXRpb24tei1pbmRleDogOTc1O1xyXG5cclxuLy8gMzguIFByb3RvdHlwZSBSb3VuZGVkXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1yb3VuZGVkLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1ib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcclxuXHJcbi8vIDM5LiBQcm90b3R5cGUgU2VwYXJhdG9yXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWFsaWduOiBjZW50ZXI7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XHJcbiRwcm90b3R5cGUtc2VwYXJhdG9yLXdpZHRoOiAzcmVtO1xyXG4kcHJvdG90eXBlLXNlcGFyYXRvci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XHJcblxyXG4vLyA0MC4gUHJvdG90eXBlIFNoYWRvd1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zaGFkb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcclxuICAgICAgICAgICAgICAgICAgICAgICAwIDJweCAxMHB4IDAgcmdiYSgwLDAsMCwuMTIpO1xyXG5cclxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zaXppbmc6IChcclxuICB3aWR0aCxcclxuICBoZWlnaHRcclxuKTtcclxuJHByb3RvdHlwZS1zaXplczogKFxyXG4gIDI1OiAyNSUsXHJcbiAgNTA6IDUwJSxcclxuICA3NTogNzUlLFxyXG4gIDEwMDogMTAwJVxyXG4pO1xyXG5cclxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcclxuJHByb3RvdHlwZS1zcGFjZXJzLWNvdW50OiAzO1xyXG5cclxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XHJcbiRwcm90b3R5cGUtdGV4dC1kZWNvcmF0aW9uOiAoXHJcbiAgb3ZlcmxpbmUsXHJcbiAgdW5kZXJsaW5lLFxyXG4gIGxpbmUtdGhyb3VnaCxcclxuKTtcclxuXHJcbi8vIDQ0LiBQcm90b3R5cGUgVGV4dC1UcmFuc2Zvcm1hdGlvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwcm90b3R5cGUtdHJhbnNmb3JtYXRpb24tYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtdHJhbnNmb3JtYXRpb246IChcclxuICBsb3dlcmNhc2UsXHJcbiAgdXBwZXJjYXNlLFxyXG4gIGNhcGl0YWxpemVcclxuKTtcclxuXHJcbi8vIDQ1LiBQcm90b3R5cGUgVGV4dC1VdGlsaXRpZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJHByb3RvdHlwZS11dGlsaXRpZXMtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xyXG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuLy8gNDYuIFJlc3BvbnNpdmUgRW1iZWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcclxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXHJcbiAgZGVmYXVsdDogNCBieSAzLFxyXG4gIHdpZGVzY3JlZW46IDE2IGJ5IDksXHJcbik7XHJcblxyXG4vLyA0Ny4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDQ4LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNDkuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRjb2xvdXI2O1xyXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkY29sb3VyNDtcclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW07XHJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xyXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC40MXJlbTtcclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xyXG4kc3dpdGNoLW9wYWNpdHktZGlzYWJsZWQ6IC41O1xyXG4kc3dpdGNoLWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XHJcblxyXG4vLyA1MC4gVGFibGVcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kdGFibGUtYmFja2dyb3VuZDogJGNvbG91cjA7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbiR0YWJsZS1ib3JkZXI6IDA7XHJcbiR0YWJsZS1wYWRkaW5nOiAwO1xyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xyXG4kdGFibGUtcm93LWhvdmVyOiAkdGJvZHktcm93LWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogJHRib2R5LXJvdy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuJHRhYmxlLWlzLXN0cmlwZWQ6IGZhbHNlO1xyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiAkdGJvZHktc3RyaXBlZC1yb3ctYmFja2dyb3VuZC1jb2xvdXI7XHJcbiR0YWJsZS1zdHJpcGU6IG9kZDtcclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xyXG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6ICRjb2xvdXIwO1xyXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGNvbG9yKTsgLy8gUHJlc2V0LTEgaXMgcHJldHR5IG11Y2ggd2hhdCB3ZSdyZSB1c2luZyBldmVyeXdoZXJlIHNvIGNoYW5naW5nIHRvIGJlIGNvbnNpc3RlbnQuXHJcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xyXG4kdGFibGUtc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xyXG5cclxuLy8gNTEuIFRhYnNcclxuLy8gLS0tLS0tLS1cclxuXHJcbiR0YWItbWFyZ2luOiAwO1xyXG4kdGFiLWJhY2tncm91bmQ6IG5vbmU7XHJcbiR0YWItY29sb3I6IG1hcC1nZXQoJHRhYnMtdGl0bGUtY29sb3VyLCBkZWZhdWx0KTtcclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogbm9uZTtcclxuJHRhYi1hY3RpdmUtY29sb3I6IG1hcC1nZXQoJHRhYnMtdGl0bGUtY29sb3VyLCBhY3RpdmUpO1xyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygkdGFicy10aXRsZS1mb250LXNpemUpO1xyXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGNvbG91cjA7XHJcbiR0YWItaXRlbS1wYWRkaW5nOiAwO1xyXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogbm9uZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGNvbG91cjA7IC8vIFNldCB0byB0cmFuc3BhcmVudCBhbmQgb3ZlcnJpZGUgd2l0aCBFeHByZXNzJ3MgU0FTUy5cclxuJHRhYi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDEwcHg7IC8vIFNldHRpbmcgZGVmYXVsdCB2YWx1ZSBidXQgdGhpcyBzaG91bGQgYmUgaGFuZGxlZCBieSBFeHByZXNzJ3MgU0FTUyAkdGFicy1jb250ZW50LXBhZGRpbmcuXHJcblxyXG4vLyA1Mi4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiA0cHggc29saWQgJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyA1My4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDU0LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1jdXJzb3I6IGhlbHA7XHJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XHJcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcclxuJHRvb2x0aXAtbWF4LXdpZHRoOiAxMHJlbTtcclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XHJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2O1xyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gNTUuIFRvcCBCYXJcclxuLy8gLS0tLS0tLS0tLS1cclxuXHJcbiR0b3BiYXItcGFkZGluZzogMDtcclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICRtZW51cy1zdWJtZW51LWJhY2tncm91bmQtY29sb3VyO1xyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDAuNXJlbSAxcmVtIDAuNXJlbSAwO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuXHJcbi8vIDU2LiBYeSBHcmlkXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4keHktZ3JpZDogdHJ1ZTtcclxuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW5zOiAxMjtcclxuJGdyaWQtbWFyZ2luLWd1dHRlcnM6IChcclxuICBzbWFsbDogc21hbGwtdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzKSxcclxuICBtZWRpdW06IG1lZGl1bS12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMpXHJcbik7XHJcblxyXG4kZ3JpZC1wYWRkaW5nLWd1dHRlcnM6IChcclxuICBzbWFsbDogc21hbGwtdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzKSxcclxuICBtZWRpdW06IG1lZGl1bS12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMpXHJcbik7XHJcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAyMHB4O1xyXG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xyXG4keHktYmxvY2stZ3JpZC1tYXg6IDg7XHJcblxyXG4iLCIvKlxyXG4tLS0tLSBTaXRlIFN0eWxlcyAtLS0tLSBcclxuQWxsb3dpbmcgQ1NTIHZhcmlhYmxlcyB0byBvdmVycmlkZSBTQVNTIGNvbmZpZ3VyYXRpb24sIHVzZWQgaW4gaW5zdGFuY2VzIHdoZXJlIHlvdSBuZWVkIGRlcGFydG1lbnQgc3BlY2lmYyBjb2xvdXJpbmcuXHJcblxyXG4qL1xyXG5cclxuLy8gVE9ETzogcmVtb3ZlIGRlcGFydG1lbnQgcmVmZXJlbmNlcyBmcm9tIGRvY3VtZW50YXRpb24gYnVpbGQuXHJcbkBpZiAobGVuZ3RoKCRzaXRlLXN0eWxlcy1jb2xvdXJzKSA+IDApIHtcclxuICAgIC5kZXBhcnRtZW50LWNvbG91ci1wYWxldHRlLCAuc2l0ZS1zdHlsZSB7XHJcbiAgICAgICAgLy8gTG9vcCB0aHJvdWdoIHN0eWxlIHNldHMuXHJcbiAgICAgICAgQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRzaXRlLXN0eWxlcy1jb2xvdXJzKSB7XHJcbiAgICAgICAgICAgIC8vIEdldCBzdHlsZSBzZXRcclxuICAgICAgICAgICAgJHN0eWxlLXNldDogbnRoKCRzaXRlLXN0eWxlcy1jb2xvdXJzLCAkaW5kZXgpO1xyXG4gICAgICAgICAgICBAaWYgKCRzdHlsZS1zZXQpIHtcclxuICAgICAgICAgICAgICAgIC8vIEdldCBwcmltYXJ5IGNvbG91ci5cclxuICAgICAgICAgICAgICAgICRzZXQtcHJpbWFyeS1jb2xvdXI6IG51bGw7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRzdHlsZS1zZXQsIHByaW1hcnktY29sb3VyKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICRzZXQtcHJpbWFyeS1jb2xvdXI6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgMDogbWFwLWdldCgkc3R5bGUtc2V0LCBwcmltYXJ5LWNvbG91cilcclxuICAgICAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENyZWF0ZSB2YXJpYW50cy5cclxuICAgICAgICAgICAgICAgICAgICAkc2V0LXByaW1hcnktY29sb3VyOiBtYXAtbWVyZ2UoJHNldC1wcmltYXJ5LWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkc2V0LXByaW1hcnktY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBHZXQgc2Vjb25kYXJ5IGNvbG91ci5cclxuICAgICAgICAgICAgICAgICRzZXQtc2Vjb25kYXJ5LWNvbG91cjogbnVsbDtcclxuICAgICAgICAgICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJHN0eWxlLXNldCwgc2Vjb25kYXJ5LWNvbG91cikpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBHZXQgc2Vjb25kYXJ5IGNvbG91ci5cclxuICAgICAgICAgICAgICAgICAgICAkc2V0LXNlY29uZGFyeS1jb2xvdXI6IChcclxuICAgICAgICAgICAgICAgICAgICAgICAgMDogbWFwLWdldCgkc3R5bGUtc2V0LCBzZWNvbmRhcnktY29sb3VyKVxyXG4gICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ3JlYXRlIHZhcmlhbnRzLlxyXG4gICAgICAgICAgICAgICAgICAgICRzZXQtc2Vjb25kYXJ5LWNvbG91cjogbWFwLW1lcmdlKCRzZXQtc2Vjb25kYXJ5LWNvbG91ciwgY3JlYXRlLWNvbG91ci12YXJpYW50cygkc2V0LXNlY29uZGFyeS1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIHN0eWxlIHNldCBjbGFzcyAmIGFzc2lnbiBjb2xvdXIgb3ZlcnJpZGUgdmFyaWFibGUuXHJcbiAgICAgICAgICAgICAgICAmLmRlcGFydG1lbnQtI3skaW5kZXh9LCAmLnN0eWxlLSN7JGluZGV4fSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gUHJpbWFyeSBDb2xvdXJcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRzZXQtcHJpbWFyeS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwicHJpbWFyeS1jb2xvdXJcIiwgJHNldC1wcmltYXJ5LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFNlb25kYXJ5IENvbG91clxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJHNldC1zZWNvbmRhcnktY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcInNlY29uZGFyeS1jb2xvdXJcIiwgJHNldC1zZWNvbmRhcnktY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgQHdhcm4gXCJTaXRlIFN0eWxlczogTm8gc2V0IGZvdW5kIGZvciAjeyRzdHlsZS1zZXR9LCBmb3Igc2l0ZSAjeyRzaXRlfS5cIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8vIC0tLS0tLS0gQ29udGFpbnMgYWxsIHN0eWxlcyByZWdhcmRpbmcgZm9ybSBsYXlvdXRzLCBpZiB5b3UncmUgbG9va2luZyBmb3IgaW5wdXQgb3Igc2VsZWN0IHN0eWxlcyBwbGVhc2UgcmVmZXIgdG8gaW5wdXRzLnNjc3MgLS0tLS0tLVxyXG5cclxuXHJcbi8vIFRPRE86IEN1cnJlbnRseSBpbiB0aGUgcHJvY2VzcyBvZiByZWZhY3RvcmluZyBjb2RlIHRvIHRoaXMgZmlsZS5cclxuXHJcblxyXG4ucmVxdWlyZWQtcHJvbXB0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcmVxdWlyZWQtcHJvbXB0LXBhZGRpbmcpO1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkcmVxdWlyZWQtcHJvbXB0LW1hcmdpbik7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHJlcXVpcmVkLXByb21wdC1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRyZXF1aXJlZC1wcm9tcHQtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXN0eWxlOiAkcmVxdWlyZWQtcHRvbXB0LWZvbnQtc3R5bGU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHJlcXVpcmVkLXByb21wdC1wYWRkaW5nKTtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRyZXF1aXJlZC1wcm9tcHQtbWFyZ2luKTtcclxuICAgIH1cclxuICAgICsgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxufVxyXG4uc2luZ2xlLWNvbHVtbi1jYWxsYmFjay1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIFRyeSB0byBwcmV2ZW50IHRleHQgZnJvbSBzcGFubmluZyB0b28gd2lkZS5cclxuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xyXG4gICAgICAgIC8vIEp1c3QgdG8ga2VlcCB0aGUgdG9wIGFuZCBib3R0b20gaW5saW5lIHdpdGggdGhlIHBhZGRpbmcgY2F1c2VkIGJ5IHRoZSBhbGVydCBpY29uLlxyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRzYS1tYXJnaW4sIDEpO1xyXG4gICAgfVxyXG4gICAgJi5jb250ZW50LWJvcmRlciB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMztcclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIEZvcm1zIC0tLS0tLSBcclxuZm9ybSB7XHJcbiAgICAmLnVzZXItZGF0YS1mb3JtIHtcclxuICAgICAgICAvLyBBZGp1c3RpbmcgcGFkZGluZy1ib3R0b20gZm9yIFNTTyBmb3JtIGRlc2lnbiBcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMjBweDtcclxuICAgICAgICAvLyBHb3QgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG91ciBqdXN0IGEgcGFnZSBiYWNrZ3JvdW5kIGltYWdlIGlzIHNldC5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNpbmdsZS1jb2x1bW4ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAkZm9ybXMtc2luZ2xlLWNvbHVtbi1ib3JkZXI7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5maWVsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9ybXMtc2luZ2xlLWNvbHVtbi1maWVsZC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBub3JtYWxseSB0aGUgc3VibWl0IGJ1dHRvbi5cclxuICAgICAgICAgICAgICAgIC5idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTdXBwcmVzc2luZyB0byBhbGxvdyBpbnB1dCB0byB0YWtlIHVwIGF2YWxhYmxlIHdpZHRoLlxyXG4gICAgICAgIC8vIC5wYXNzd29yZC1yZXZlYWwtY29udGFpbmVyIHtcclxuICAgICAgICAvLyAgICAgaW5wdXQge1xyXG4gICAgICAgIC8vICAgICAgICBtYXJnaW4tcmlnaHQ6IC0jeyRyZXZlYWwtcGFzc3dvcmQtd2lkdGh9O1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogc21hbGwtdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci10ZXh0LWFsaWduKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBtZWRpdW0tdmFsdWUoJGZvcm1zLWNtcy1jb250ZW50LWNvbnRhaW5lci10ZXh0LWFsaWduKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBtYXgtd2lkdGg6IDQ2NXB4O1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb3Jtcy1jbXMtY29udGVudC1jb250YWluZXItbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLW1heC13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsYXJnZS12YWx1ZSgkZm9ybXMtY21zLWNvbnRlbnQtY29udGFpbmVyLXRleHQtYWxpZ24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGZpZWxkc2V0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmaWVsZC1zZXQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZmllbGQtc2V0LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzLCBkaXYgPiBsZWdlbmQge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBtb2JpbGUpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG8gMjBweDtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZmllbGRzZXQtc3ViLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpZiAoJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZpZWxkc2V0LXN1Yi1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ1VuZGVyTGluZSgxLCAkY29sb3VyNCwgJGhlYWRpbmctcnVsZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDIsIGxlZ2VuZCB7XHJcblxyXG4gICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmaWVsZHNldC1oZWFkaW5nLWNvbG91ciwgJGZpZWxkc2V0LWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzZXQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmaWVsZHNldC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZHNldC1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRmaWVsZHNldC1oZWFkaW5nLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KTtcclxuICAgICAgICAgICAgQGlmICgkZmllbGRzZXQtaGVhZGluZy1ib3JkZXItYm90dG9tKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNwYWNpbmctdmFsdWUoJGhlYWRpbmctMi1wYWRkaW5nLCAzLCBwcmVzZXQtNCkgPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFJlLWFkanVzdGluZyB0aGUgcGFkZGluZyB0byBhY2NvdW50IGZvciBhIHJ1bGUuXHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRmaWVsZHNldC1oZWFkaW5nLWJvcmRlci1ib3R0b207XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KSA9PSBcInVwcGVyY2FzZVwiKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgICAgICB3b3JkLXNwYWNpbmc6IDJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgLnN1Yi1ncm91cC1uYW1lIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxlZ2VuZCB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1Yi1ncm91cC1uYW1lIHtcclxuXHJcbiAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAkc3ViLWhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXIyLCAkY29sb3VyMyk7IFxyXG5cclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGhlYWRpbmctMi1wYWRkaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICBjb2xvcjogJHN1Yi1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGZpZWxkc2V0LWhlYWRpbmctdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgJiArIC5yZXF1aXJlZC1wcm9tcHQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZXJyb3ItYmxvY2sge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBzbyB0aGlzIGxvb2sgY29uc2lzdGVudCB3aXRoIGZvcm1zIGluIGEgbGFyZ2UtNiBjZWxsLlxyXG4gICAgICAgICAgICAvLyAgIG1heC13aWR0aDogbWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApO1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9yZ290dGVuLXBhc3N3b3JkLWxpbmsge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMCA2OHB4IDAgMDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAoJGZpZWxkLWxhYmVsLW1hcmdpbi1sZWZ0ICsgKGxhcmdlLXZhbHVlKCRmaWVsZC1pbnB1dC13aWR0aCkgLSA3MCkgKyBsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIC8vbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLmNvbHVtbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IG1hcC1nZXQoJGNvbHVtbi1jb250ZW50LWNvbnRhaW5lci1tYXJnaW4sIHNtYWxsKTtcclxuICAgIC8vIEFkZGluZyBiYWNrZ3JvdW5kLWNvbG9yIGR1ZSB0byBpZiBhIHBhZ2UgYmFja2dyb3VuZCBpcyBhY3RpdmUuXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJvcmRlcjogJGZvcm1zLXNpbmdsZS1jb2x1bW4tYm9yZGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY29sdW1uLWNvbnRlbnQtY29udGFpbmVyLW1hcmdpbiwgbGFyZ2UpO1xyXG4gICAgfVxyXG4gICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgZmllbGRzZXQge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5maWVsZHNldC1iYW5uZXItY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC02O1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpIHNtb290aC1lZGdlcygpIDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5maWVsZHNldC1iYW5uZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICYgKyBoMiB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmZpZWxkIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZmllbGQtbGFiZWwtbWFyZ2luLWxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDcuNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgODVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENhcHRjaGEgLS0tLSBcclxuLmNhcHRjaGEtY29udGFpbmVyIHtcclxuICAgIC8vIEFkZGluZyBwb3NpdGlvbiBhYnNvbHV0ZSBhcyByZWNhcHRjaGEncyBpbmxpbmUgc3R5bGVzIGFyZSBjYXVzaW5nIG1vZGFscyB0byBiZSBwdXNoZWQgb3V0c2lkZSBvZiB0aGUgdmlld3BvcnQuXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgJi5jaGVja2JveCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICB9XHJcbiAgICAuZ3JlY2FwdGNoYS1iYWRnZSB7XHJcbiAgICAgICAgLy8gT3ZlcnJpZGluZyBHb29nbGUncyBzdHlsZXMgZHVlIHRvIG92ZXJsYXBwaW5nIHRoZSBzdGlja3kgYnV0dG9ucyBpbiBtYW5hZ2UgY2FsbHMuXHJcbiAgICAgICAgYm90dG9tOiA2MHB4ICFpbXBvcnRhbnQ7IFxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLnBvcHVwLWJhY2tncm91bmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi8vIC0tLS0tIENvbmZpcm1hdGlvbiAtLS0tLSBcclxuXHJcbi5jb25maXJtYXRpb24tcHJvbXB0LWNvbnRhaW5lciB7XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogMTE1MHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nOiAoJG5vdGlmaWNhdGlvbi1wcm9tcHQtcGFkZGluZyAvIDMpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJG5vdGlmaWNhdGlvbi1wcm9tcHQtcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoKCksIChwcmVzZXQtMTogMCBhdXRvIDUwcHgpKTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHsgXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXI0LCBob3ZlcjogJGNvbG91cjEpLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSksXCJcIiw3MDAsICh3aWR0aDogMjMwcHgpKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi53YXJuaW5nLCAmLmFsZXJ0IHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkYWxlcnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkYWxlcnQtYnV0dG9uLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXIzLTEsIGhvdmVyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKHdpZHRoOiAyMzBweCkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNDVweCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkY2FuY2VsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNhbmNlbC1idXR0b24tY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBcIlwiLCA3MDAsICh3aWR0aDogMjMwcHgpLCAoc21hbGw6IDAgMjIuNXB4IDEwcHgsIGxhcmdlOiAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5jb25maXJtYXRpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICBtYXJnaW46IDMwcHggMCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XHJcbiAgICB9XHJcbiAgICAmLm1hcmdpbi1ib3R0b20ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbiAgICAmLnN1Y2Nlc3Mge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtc3VjY2VzcztcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29uZmlybWF0aW9uLWNvbnRhaW5lci1iYWNrZ3JvdW5kLXdhcm5pbmc7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb25maXJtYXRpb24tY29udGFpbmVyLWJhY2tncm91bmQtYWxlcnQ7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBIZWFkZXIgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBVcHBlciArIGxvd2VyIG5hdmlnYXRpb24gYmFycy5cclxuLSBTaXRlIGxvZ29cclxuLSBIZWFkZXIgc3RpY2t5IGZ1bmN0aW9uYWxpdHk6XHJcbiAgLSBGdWxsXHJcbiAgLSBNaW5pZmllZFxyXG4gIC0gTm8gVG9wIEJhclxyXG4gIC0gTWVudVxyXG4tIFZBVCBTd2l0Y2hlclxyXG4tIEJyZWFkY3J1bWJzXHJcbi0gQmFza2V0IFN1bW1hcnkgXHJcbi0gQ2FsbG91dHMgaW4gdGhlIGhlYWRlciB0byBtb2RpZnkgY2FsbG91dCBzZWUgYXhpcy1ub3RpZmljYXRpb24uc2Nzc1xyXG4tIFByZWRpY3RpdmUgc2VhcmNoIHBvc2l0aW9uaW5nIHRvIG1vZGlmeSBzZWFyY2ggc3R5bGUgdGhlbiBnbyB0byBheGlzLWF1dG9jb21wbGV0ZS5zY3NzXHJcbi0gVVNQIGJhciB3aGljaCBpcyBlc3NlbnRpYWxseSBhIG1vZHVsZS5cclxuLSBXZWxjb21lIFRleHRcclxuLSBUYWcgbGluZXNcclxuLSBUT0RPOiBJIGFtIGN1cnJlbnRseSBpbiB0aGUgcHJvY2VzcyBvZiB0cnlpbmcgdG8gdW50YW5nbGUgdGhlIG1lZ2EgbWVudSBjc3MgKyBtYWtlIGl0IG1vcmUgZ2VuZXJpYyBhbmQgcmVob21lIGl0IGluc2lkZSBvZiBheGlzLW1lbnVzLnNjc3NcclxuKi9cclxuXHJcblxyXG4vLy0tLS0tIFN0aWNreSBIZWFkZXIgLS0tLS0gXHJcbmhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGhlYWRlci1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGhlYWRlci1tYXJnaW4pO1xyXG4gICAgfVxyXG4gICAgW2RhdGEtYXhpcy1zdGlja3ldIHtcclxuICAgICAgICB6LWluZGV4OiAyMDAwO1xyXG4gICAgICAgICYuaXMtc3R1Y2sgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaWYgbm90ICgkaGVhZGVyLWlzLXN0dWNrLW9wYWNpdHkgPT0gMSkge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJGhlYWRlci1pcy1zdHVjay1vcGFjaXR5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgQGlmIG5vdCAoJGhlYWRlci1pcy1zdHVjay1vcGFjaXR5ID09IDEpIHtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIE1vYmlsZSAvIFRhYmxldCBkb2Vzbid0IGhhdmUgYW55IGNvbmZpZyBhbGwgaXQgc2hvd3MgaXMgdGhlIGxvZ28gKyB0b2dnbGUgYmFyLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjAwMDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMS41cyBlYXNlLW91dDsgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIG5vdCAoJGhlYWRlci1pcy1zdHVjay1vcGFjaXR5ID09IDEpIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vU2hvdyBmdWxsIGhlYWRlciB3aGVuIHN0aWNreS5cclxuICAgICAgICAgICAgLy8gJltkYXRhLXN0aWNreS10eXBlPVwiRnVsbFwiXSB7XHJcbiAgICAgICAgICAgICAgICAvL05vIFNwZWMgZm9yIHRoaXMgeWV0LlxyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIC8vUmVtb3ZlIHRvcC1iYXIgd2hlbiBzdGlja3kuXHJcbiAgICAgICAgICAgICZbZGF0YS1zdGlja3ktdHlwZT1cIk5vVG9wQmFyXCJdIHtcclxuICAgICAgICAgICAgICAgIC5oZWFkZXItdG9wLWJhci1jb250YWluZXIgIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzIHRvcC1iYXIsIHJlZHVjZSBoZWFkZXItY29udGVudCBoZWlnaHQgYnV0IHJldGFpbiBtZWdhIG1lbnUuXHJcbiAgICAgICAgICAgICZbZGF0YS1zdGlja3ktdHlwZT1cIk1pbmlmeVwiXSB7XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5oZWFkZXItY29udGVudC1sZWZ0IHtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgLm1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRoZWFkZXItbWluaWZpZWQtY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLW1hcmdpbiwgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRoZWFkZXItbWluaWZpZWQtY29udGVudC1sZWZ0LW1lbnUtYW5jaG9yLW1hcmdpbiwgMyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLW1pbmlmaWVkLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLXRvcCAkdHJhbnNpdGlvbkludHJvLCBtYXJnaW4tYm90dG9tICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLWNvbnRlbnQtY2VudGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmxvZ28tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgLmxvZ28tZnVsbC1zaXplIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmxvZ28tbWluaWZpZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkaGVhZGVyLWxvZ28td2lkdGgsIG1pbmlmaWVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jb250ZW50LXJpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1hY2NvdW50LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLXBhZGRpbmcsIG1pbmlmaWVkKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAjYWN0aW9uLWJhci1jb250YWluZXIgIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1ib3JkZXIgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICgkaGVhZGVyLW1pbmlmaWVkLWhlaWdodCAtIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLW1pbmlmaWVkLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tcGFkZGluZywgbWluaWZpZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5idWJibGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAoJGhlYWRlci1zZWFyY2gtaGVpZ2h0IC0gNSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbWluaWZpZWQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5hamF4LXNlYXJjaCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29tbWVudGluZyBvdXQgYXMgdGhpcyBjYXVzZSB0aGUgcmVzdWx0cyB0byBvdmVyZmxvdyB0aGUgdmlld3BvcnQgZm9yIGtpbmdzZmllbGQuXHJcbiAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci10YWctbGluZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBTbyBiYXNrZXQgZ2V0cyB2ZXJ0aWNhbGx5IGFsaWduZWQuXHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLXdlbGNvbWUtdGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgJiArICNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTm9ybWFsbHkgYnV0dG9uIGNvbnRhaW5lcnMgc2l0IGhlcmUgaW4gYSBkaXYgc28gc2VsZWN0aW5nIGFsbCBkaXJlY3QgZGl2cy5cclxuICAgICAgICAgICAgICAgICAgICA+IGRpdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1taW5pZmllZC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5ob21lLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogI3skaG9tZS1idXR0b24taWNvbi1zaXplIC8gMS4yfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogI3soc3BhY2luZy12YWx1ZSgkaG9tZS1idXR0b24taWNvbi1wYWRkaW5nLCAxKSAvIDIuMil9ICN7KHNwYWNpbmctdmFsdWUoJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZywgMikgLyAyKX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHBhZGRpbmcgJHRyYW5zaXRpb25JbnRybywgZm9udC1zaXplICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSN7aWYoJGhvbWUtYnV0dG9uLWljb24tcGFkZGluZywgXCI6bm90KC5ob21lLWJ1dHRvbilcIiwgXCJcIil9ID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJGhlYWRlci1taW5pZmllZC1tZWdhLW1lbnUtcGFyZW50LWdyb3VwLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGhlYWRlci1taW5pZmllZC1tZWdhLW1lbnUtcGFyZW50LWdyb3VwLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSA+IGEuaGFzLWxpbmstaW1hZ2UgLmxpbmstaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAjeyhsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKSAvIDIpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICN7KGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpIC8gMil9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm8sIGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICZbZGF0YS1zdGlja3ktdHlwZT1cIk1lbnVcIl0ge1xyXG4gICAgICAgICAgICAgICAgLmhlYWRlci10b3AtYmFyLWNvbnRhaW5lciwgLmhlYWRlci1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5sb2dvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmxvZ28tZnVsbC1zaXplIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLmxvZ28tbWluaWZpZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkaGVhZGVyLWxvZ28td2lkdGgsIG1pbmlmaWVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgQ29udGFpbmVyIC0tLS0tIFxyXG4vLyBDb250YWluZXIgYWZ0ZXIgc3RpY2t5IGNvbnRhaW5lci5cclxuaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgQGlmICRoZWFkZXItY29udGVudC1ncmFkaWFudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGhlYWRlci1jb250ZW50LWdyYWRpYW50O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogOTklO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRoZWFkZXItbW9iaWxlLXNlcGVyYXRvci1ydWxlLXdlaWdodDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkZXItbW9iaWxlLXNlcGVyYXRvci1ydWxlLWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAvLyBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1kZXNrdG9wLXNlcGFyYXRvcikge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAkaGVhZGVyLWRlc2t0b3Atc2VwYXJhdG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRoZWFkZXItZGVza3RvcC1iYWNrZ3JvdW5kLWltYWdlKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaGVhZGVyLWRlc2t0b3AtYmFja2dyb3VuZC1pbWFnZSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRoZWFkZXItZGVza3RvcC1iYWNrZ3JvdW5kLWltYWdlLXBvc2l0aW9uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIENvbnRlbnQgUmVzcG9uc2l2ZSBUb2dnbGUgQmFyICggYmFzaWNhbGx5IG1vYmlsZSB2aWV3ICkgLS0tLS1cclxuLmhlYWRlci1tb2JpbGUtdG9nZ2xlLWJhciB7XHJcbiAgICBtYXgtd2lkdGg6IDcwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIG9yZGVyOiAyO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcgdG8gbWFrZSBzdXJlIGJ1dHRvbnMgYXJlIGxlZ2liYWwuLlxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICR0b2dnbGUtZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXJlc3BvbnNpdmUtY29sb3VyLCBkZWZhdWx0KSwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAkdG9nZ2xlLWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRoZWFkZXItcmVzcG9uc2l2ZS1jb2xvdXIsIGhvdmVyKSwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgYSwgYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tc2l6ZTtcclxuICAgICAgICAvLyBTZXQgaGVpZ2h0IHRvIDEwMCUgaWYgdmFsdWUgPT0gZml0LWNvbnRlbnQgdG8gcHJldmVudCBkaWZmZXJlbnQgaGVpZ2h0cyBhbmQgaWNvbnMgYXBwZWFycyBzdGFnZ2VyZWQuXHJcbiAgICAgICAgaGVpZ2h0OiBpZigkaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1zaXplID09IGZpdC1jb250ZW50LCAxMDAlLCAkaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1zaXplKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkaGVhZGVyLXJlc3BvbnNpdmUtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJHRvZ2dsZS1kZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b2dnbGUtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGFbaHJlZl49XCJ0ZWw6XCJdIHtcclxuICAgICAgICBAaWYgJG1lbnVzLXRlbGVwaG9uZS1mb250LXNpemUge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtZW51cy10ZWxlcGhvbmUtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRtZW51cy10ZWxlcGhvbmUtZm9udC13ZWlnaHQgIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZW51cy10ZWxlcGhvbmUtZm9udC13ZWlnaHQgO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGhlYWRlci1tb2JpbGUtdG9nZ2xlLWljb25zLWRpc3BsYXksIHRlbGVwaG9uZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRlbGVwaG9uZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS10ZWxlcGhvbmUtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXJvdGF0ZSk7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYVtocmVmXj1cIm1haWx0bzpcIl0ge1xyXG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkaGVhZGVyLW1vYmlsZS10b2dnbGUtaWNvbnMtZGlzcGxheSwgbWFpbCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGVtYWlsKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWVtYWlsLWljb24pO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci10b2dnbGUtc2VhcmNoIHtcclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGhlYWRlci1tb2JpbGUtdG9nZ2xlLWljb25zLWRpc3BsYXksIHNlYXJjaCkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNlYXJjaCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1zZWFyY2gtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5oZWFkZXItdG9nZ2xlLWJhc2tldCB7XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRoZWFkZXItbW9iaWxlLXRvZ2dsZS1pY29ucy1kaXNwbGF5LCBiYXNrZXQpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGhlYWRlci1yZXNwb25zaXZlLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi53YXJuaW5nIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hbGVydCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1hbGVydCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRlci10b2dnbGUtbWVnYS1tZW51IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGhhbWJ1cmdlcik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1oYW1idXJnZXItaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGhlYWRlci1oYW1idXJnZXItaWNvbi1zaXplKTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGhlYWRlci1oYW1idXJnZXItaWNvbi1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oZWFkZXItdG9nZ2xlLWFjY291bnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGFjY291bnQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHNtYWxsLXZhbHVlKCRoZWFkZXItcmVzcG9uc2l2ZS1pY29uLXNpemUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYWNjb3VudC1pY29uKTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaGVhZGVyLW1vYmlsZS1tZW51IHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIHotaW5kZXg6ICRoZWFkZXItbW9iaWxlLW1lbnUtei1pbmRleDtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgIC8vIE1vYmlsZSAvIFRhYmxlIHNwZWNpZmMgc3R5bGVzLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgei1pbmRleDogYXV0bztcclxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgIH1cclxuICAgICYuYW5pbWF0ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJGhlYWRlci1tb2JpbGUtbWVudS1tYXgtaGVpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBwYWRkaW5nOiAyNXB4IDEwcHg7XHJcbiAgICAgICAgLy8gU28gaWYgbWVudSdzIGdldCBjb21iaW5lZCB0aGV5J3JlIHRoZW4gY29uc2lzdGVudCB3aXRoIHRoZSBtZWdhIG1lbnUuXHJcbiAgICAgICAgdWwubWVudSA+IGxpID4gYXtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIFRvcCBCYXIgLS0tLS1cclxuLy8gVHlwaWNhbGx5IGNvbnRhY3QgaW5mbyBnZXRzIGRpc3BsYXllZCBoZXJlICsgY21zIHBhZ2UgbGlua3MgYnV0IHRoaXMgZ2V0cyBzdXBwcmVzc2VkIGZvciBtb2JpbGUuXHJcbi5oZWFkZXItdG9wLWJhci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgY29udGVudCBjb250YWluZXIgLS0tLS1cclxuLy8gVGhpcyBpcyB0aGUgYXJlYSBub3JtYWxseSBiZXR3ZWVuIHRoZSB0b3AtYmFyICYgbWVnYS1tZW51XHJcbi5oZWFkZXItY29udGVudC1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItcGFkZGluZyk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXgtd2lkdGg6IG1lZGl1bS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKTtcclxuICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGhlYWRlci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIG1pbi1oZWlnaHQ6ICRoZWFkZXItY29udGVudC1taW4taGVpZ2h0O1xyXG4gICAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyBObyBsb25nZXIgdXNpbmcgZmxleGJveCBkdWUgdG8gamVsYXdyZW5jZSdzIGRlc2lnbi5cclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIC8vIElFIGZhbGxiYWNrLlxyXG4gICAgICAgIGRpc3BsYXk6IC1tcy1ncmlkO1xyXG4gICAgICAgIC8vIFRoZSBjb2x1bW4gbGF5b3V0IGZvciB0aGUgaGVhZGVyLlxyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogJGhlYWRpbmctZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkaGVhZGVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKHhsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHhsYXJnZS12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbWF4LXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKHh4bGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiB4eGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1tYXgtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gQ29tbW9uIGhlYWRlciBzdHlsZXMgYmV0d2VlbiBhcmVhcyAtLS0gXHJcbi5oZWFkZXItY29udGVudC1sZWZ0LCAuaGVhZGVyLWNvbnRlbnQtY2VudGVyLCAuaGVhZGVyLWNvbnRlbnQtcmlnaHQge1xyXG4gICAgLy8gSW4gbW9iaWxlIHN1cHJlc3MgdGhlIGZvbGxvd2luZyBjb21wb25lbnRzLlxyXG4gICAgPiBkaXYge1xyXG4gICAgICAgIC8vIEV4Y2x1c2lvbiBsaXN0LlxyXG4gICAgICAgIEBpbmNsdWRlIG5vdCgkaGVhZGVyLWNvbXBvbmVudC1kaXNwbGF5LWxpc3QpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gSGVhZGVyIGNvbnRlbnQgbGVmdCAtLS0gXHJcbi5oZWFkZXItY29udGVudC1sZWZ0IHtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGhlYWRlci1jb250ZW50LWxlZnQtcGFkZGluZykpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtbGVmdC1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1kaXNwbGF5O1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtZGlzcGxheSA9PSBncmlkKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LWxlZnQtdGVtcGxhdGUtY29sdW1ucyk7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBTcGFuIDIgcm93cy5cclxuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gMjtcclxuICAgICAgICAvLyBJRSBmYWxsYmFjay5cclxuICAgICAgICAtbXMtZ3JpZC1yb3ctc3BhbjogMjtcclxuICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRoZWFkZXItZ3JpZC1jb2x1bW4tb3JkZXIsICdoZWFkZXItY29udGVudC1sZWZ0JykpIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IG1hcC1nZXQoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LWxlZnQnKTtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLW1zLWdyaWQtY29sdW1uOiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1sZWZ0LXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1sZWZ0LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LWFsaWduLWl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1hbGlnbi1pdGVtcztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1qdXN0aWZ0eS1jb250ZW50KSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGhlYWRlci1jb250ZW50LWxlZnQtanVzdGlmdHktY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1sZWZ0LWRpc3BsYXkgPT0gZ3JpZCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtdGVtcGxhdGUtY29sdW1ucywgeHhsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUsIC5kcm9wZG93bi5tZW51ICB7XHJcbiAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICBtYXJnaW46ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbWFyZ2luO1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAvLyBHZXQgaXRlbSBwYWRkaW5nLlxyXG4gICAgICAgICAgICAkaXRlbS1wYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWl0ZW0tcGFkZGluZztcclxuICAgICAgICAgICAgQGlmICgkaXRlbS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1zdXBwcmVzcy1maXJzdC1pdGVtLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LXN1cHByZXNzLWZpcnN0LWl0ZW0tbWFyZ2luKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWFuY2hvci1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1hbmNob3ItcGFkZGluZztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1lbmFibGUtdW5kZXJsaW5lKSB7XHJcbiAgICAgICAgLm1lbnUuZWJnLWNvbG91ci1ob3ZlciwgLm1lbnUuZWJnLWNvbG91ci1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAgICA+IGxpID4gYSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgaG92ZXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZW51LWNvbnRhaW5lciB1bCwgLm1lZ2EtbWVudS1jb250YWluZXIgPiB1bCB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIC8vIEdldCBiYWNrZ3JvdW5kIGNvbG91ci5cclxuICAgICAgICAgICAgJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEdldCBiYWNrZ3JvdW5kIGNvbG91ci5cclxuICAgICAgICAgICAgJGhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgLy8gR2V0IGhvdmVyIGNvbG91ci5cclxuICAgICAgICAgICAgJGhvdmVyLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGhvdmVyLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRob3Zlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1lbmFibGUtdW5kZXJsaW5lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgLy8gR2V0IGRlZmF1bHQgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItY29udGVudC1sZWZ0LW1lbnUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1sZXZlbC0xLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLWNvbnRlbnQtbGVmdC1tZW51LWxldmVsLTEtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS1lbmFibGUtdW5kZXJsaW5lKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEsIChkZWZhdWx0OiAkaG92ZXItY29sb3VyKSwgMCwgJGhlYWRlci1jb250ZW50LWxlZnQtbWVudS11bmRlcmxpbmUtaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gSGVhZGVyIGNvbnRlbnQgY2VudGVyIC0tLSBcclxuLmhlYWRlci1jb250ZW50LWNlbnRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogJGhlYWRlci1jb250ZW50LWNlbnRlci1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIChtYXAtaGFzLWtleSgkaGVhZGVyLWdyaWQtY29sdW1uLW9yZGVyLCAnaGVhZGVyLWNvbnRlbnQtY2VudGVyJykpIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IG1hcC1nZXQoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LWNlbnRlcicpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1jZW50ZXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LWNlbnRlci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtY29udGFpbmVyLW1hcmdpbikge1xyXG4gICAgICAgICAgICAgICAgLy8gUHV0IHRoaXMgaXMgc3BlY2lmaWNhbGx5IGZvciB3ZWFyZXN5bmMgdG8gb2Zmc2V0IHRoZSBoZWFkZXIgY29udGVudCBtZW51IHRvIG1hdGNoIHRoZWlyIG9yaWdpbmFsIHNpdGUuXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1jb250YWluZXItbWFyZ2luO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUsIC5kcm9wZG93bi5tZW51IHtcclxuICAgICAgICAvLyBUT0RPOiBUZW1wIEZpeC5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgLy8gICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1oYXMta2V5KCRoZWFkZXItY29udGVudC1jZW50ZXItbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0KSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSBoZWFkZXIgYmFja2dyb3VuZCBkb2Vzbid0IG1hdGNoIGNvbG91ci5cclxuICAgICAgICAgICAgICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtY2VudGVyLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdCksICRoZWFkZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tIEhlYWRlciBjb250ZW50IHJpZ2h0IC0tLSBcclxuLmhlYWRlci1jb250ZW50LXJpZ2h0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBsZWZ0OiBpbmhlcml0O1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtcGFkZGluZykpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICAvLyBTdXBwcmVzc2luZyBhcyB0aGlzIHdhcyBjYXVzaW5nIHNlYXJjaCB0byBvdmVybGFwIHdpdGggcmVjZW50bHkgYWRkZWQuXHJcbiAgICAvLyB6LWluZGV4OiAxMDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogJGhlYWRlci1jb250ZW50LXJpZ2h0LWRpc3BsYXk7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtZGlzcGxheSA9PSBncmlkKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LXJpZ2h0LXRlbXBsYXRlLWNvbHVtbnMpO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBAaWYgJGhlYWRlci1jb250ZW50LXJpZ2h0LWFsaWdubWVudCB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtYWxpZ25tZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRoZWFkZXItY29udGVudC1yaWdodC1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgLy8gSUUgZmFsbGJhY2suXHJcbiAgICAgICAgLW1zLWdyaWQtcm93OiAyO1xyXG4gICAgICAgIEBpZiAobWFwLWhhcy1rZXkoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LXJpZ2h0JykpIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IG1hcC1nZXQoJGhlYWRlci1ncmlkLWNvbHVtbi1vcmRlciwgJ2hlYWRlci1jb250ZW50LXJpZ2h0Jyk7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC1tcy1ncmlkLWNvbHVtbjogMztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gU28gaGlnaCBkdWUgdG8gdW5kZXJsYXBwaW5nIGhlYWRlciBtZW51IGRyb3Bkb3duJ3MuXHJcbiAgICAgICAgLy8gei1pbmRleDogMjAwMDAwO1xyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGhlYWRlci1jb250ZW50LXJpZ2h0LXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItY29udGVudC1yaWdodC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LWRpc3BsYXkgPT0gZ3JpZCkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LXJpZ2h0LXRlbXBsYXRlLWNvbHVtbnMsIHhsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtZGlzcGxheSA9PSBncmlkKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWFwLWdldCgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdGVtcGxhdGUtY29sdW1ucywgeHhsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci10b2dnbGUtYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC10b2dnbGUtYmFyLW1hcmdpbikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1tYXJnaW47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtdG9nZ2xlLWJhci1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lbnUtY29udGFpbmVyID4gdWwge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtYW5jaG9yLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICAvLyBHZXQgZGVmYXVsdCBjb2xvdXIuXHJcbiAgICAgICAgICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItY29udGVudC1yaWdodC1tZW51LWxldmVsLTEtZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtbGV2ZWwtMS1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWNvbnRlbnQtcmlnaHQtbWVudS1sZXZlbC0xLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1jb250ZW50LXJpZ2h0LW1lbnUtc3VwcHJlc3MtcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gSGVhZGVyIHNpdGUgbG9nbyAtLS0tLSBcclxuLmxvZ29Db250YWluZXIsIC5sb2dvLWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogJGxvZ28tY29udGFpbmVyLWp1c3RpZnk7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkbG9nby1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGxvZ28tY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MHZ3O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGhlYWRlci1sb2dvLWFuY2hvci1tYXJnaW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWxvZ28tYW5jaG9yLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGhlYWRlci1sb2dvLXdpZHRoKTtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBhIHRoZSBtYWpvcml0eSBvZiBsb2dvJ3MgYXJlIG5vdCBzcXVhcmUgYW5kIGEgbW9yZSBzaW1wbGUgc29sdXRpb24gd291bGQgYmUganVzdCBqdXN0IHNjYWxlIGJ5IHdpZHRoLlxyXG4gICAgICAgIC8vaGVpZ2h0OiBzbWFsbC12YWx1ZSgkaGVhZGVyLWxvZ28taGVpZ2h0KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkaGVhZGVyLWxvZ28td2lkdGgpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRoZWFkZXItbG9nby1oZWlnaHQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDI1cHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubG9nb0Z1bGwsIC5sb2dvLWZ1bGwtc2l6ZSB7XHJcbiAgICAgICAgQGlmICRzaG93LW1pbmlmaWVkLWxvZ28tc21hbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sb2dvTWluaWZpZWQsIC5sb2dvLW1pbmlmaWVkIHtcclxuICAgICAgICBAaWYgbm90ICRzaG93LW1pbmlmaWVkLWxvZ28tc21hbGwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgVGFnIExpbmUgLS0tLS0gXHJcbi5oZWFkZXItdGFnLWxpbmUtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwIHtcclxuICAgICAgICAvLyBDaGVjayBjb2xvdXIgY29udHJhc3QuXHJcbiAgICAgICAgJGNvbG91cjogY29udHJhc3QtY2hlY2tlcigkaGVhZGVyLXRhZ2xpbmUtY29sb3VyLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogJGhlYWRpbmctdGFnbGluZS1wYWRkaW5nO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXRhZ2xpbmUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXRhZ2xpbmUtZm9udC1zaXplKTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGhlYWRlci10YWdsaW5lLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGVyLXRhZ2xpbmUtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1saW5lLWhlaWdodDtcclxuICAgICAgICAvLyBSZWFzb24gZm9yIHByZXZlbnQgd3JhcHBpbmcgaXMgYmVjYXVzZSBpdCB3aWxsIGNhdXNlIHRoZSBzZWFyY2ggKyBiYXNrZXQgc3VtbWFyeSB0byBiZSBvdXQgb2YgYWxpZ24uXHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAmOmlzKDplbXB0eSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogJGhlYWRlci10YWdsaW5lLWhlaWdodDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1ncm93OiBpZigkaGVhZGVyLXRhZ2xpbmUtaGVpZ2h0ID09IFwiYXV0b1wiLCAwLCAxKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRoZWFkZXItdGFnbGluZS1sb3dlci1zdXBwcmVzcykge1xyXG4gICAgICAgICYubG93ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmhlYWRlci10YWdsaW5lIHtcclxuICAgIC8vIENoZWNrIGNvbG91ciBjb250cmFzdC5cclxuICAgICRjb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGhlYWRlci10YWdsaW5lLWNvbG91ciwgJGhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogJGhlYWRpbmctdGFnbGluZS1wYWRkaW5nO1xyXG4gICAgY29sb3I6ICRjb2xvdXI7XHJcbiAgICBmb250LXdlaWdodDogJGhlYWRlci10YWdsaW5lLWZvbnQtd2VpZ2h0O1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXRhZ2xpbmUtZm9udC1zaXplKTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiAkaGVhZGVyLXRhZ2xpbmUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICBsZXR0ZXItc3BhY2luZzogJGhlYWRlci10YWdsaW5lLWxldHRlci1zcGFjaW5nO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItdGFnbGluZS1saW5lLWhlaWdodDtcclxuICAgIC8vIFJlYXNvbiBmb3IgcHJldmVudCB3cmFwcGluZyBpcyBiZWNhdXNlIGl0IHdpbGwgY2F1c2UgdGhlIHNlYXJjaCArIGJhc2tldCBzdW1tYXJ5IHRvIGJlIG91dCBvZiBhbGlnbi5cclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LWJhc2lzOiA1MHB4O1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBTZWFyY2ggLS0tLS1cclxuLmhlYWRlci1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRoZWFkZXItc2VhcmNoLXBhZGRpbmcpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAvLyBJRSBmYWxsYmFjay5cclxuICAgICAgICAtbXMtZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1zZWFyY2gtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAuaGVhZGVyLXByZWRpY3RpdmUtc2VhcmNoIHtcclxuICAgICAgICAgICAgICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRlci1wcmVkaWN0aXZlLXNlYXJjaCB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkaGVhZGVyLXNlYXJjaC1ib3gtc2hhZG93KSkge1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiBzbWFsbC12YWx1ZSgkaGVhZGVyLXNlYXJjaC1ib3gtc2hhZG93KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRoZWFkaW5nLXNlYXJjaC1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGhlYWRlci1zZWFyY2gtYm94LXNoYWRvdykpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IGxhcmdlLXZhbHVlKCRoZWFkZXItc2VhcmNoLWJveC1zaGFkb3cpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmaWVsZHNldCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTZWFyY2ggYmFja2dyb3VuZFxyXG4gICAgJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRzZWFyY2gtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRzZWFyY2gtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgLy8gU2VhcmNoIGJvcmRlclxyXG4gICAgJHNlYXJjaC1kZWZhdWx0LWJvcmRlci1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkc2VhcmNoLWhvdmVyLWJvcmRlci1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJHNlYXJjaC1hY3RpdmUtYm9yZGVyLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1ib3JkZXItY29sb3VyLCBcclxuICAgIGFjdGl2ZSk7XHJcbiAgICAvLyBTZWFyY2ggYnV0dG9uIGJhY2tncm91bmRcclxuICAgICRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRidXR0b24tYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgIC8vIFNlYXJjaCBidXR0b24gY29sb3VyXHJcbiAgICAkYnV0dG9uLWRlZmF1bHQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGJ1dHRvbi1ob3Zlci1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGJ1dHRvbi1hY3RpdmUtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICBpbnB1dFt0eXBlPXNlYXJjaF0ge1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlYWRlci1zZWFyY2gtaW5wdXQtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJHNlYXJjaC1kZWZhdWx0LWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRzZWFyY2gtaG92ZXItYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWhvdmVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1zdXBwcmVzcy1ob3Zlci1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHNlYXJjaC1ob3Zlci1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWhvdmVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24taG92ZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1zdXBwcmVzcy1ob3Zlci1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWhvdmVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgQGlmICgkc2VhcmNoLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkc2VhcmNoLWFjdGl2ZS1ib3JkZXItY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtYWN0aXZlLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlYWRlci1zZWFyY2gtaW5wdXQtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtc3VwcHJlc3MtaG92ZXItYm94LXNoYWRvdykge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzZWFyY2gtYWN0aXZlLWJvcmRlci1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRzZWFyY2gtYWN0aXZlLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24tYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWFjdGl2ZS1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24tYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICBAaWYgKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtYnV0dG9uLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVhZGVyLXNlYXJjaC1idXR0b24tYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1kZWZhdWx0LWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pY29uLXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRoZWFkZXItc2VhcmNoLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24taG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYnV0dG9uLWhvdmVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRidXR0b24tYWN0aXZlLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJ1dHRvbi1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGlucHV0W3R5cGU9c2VhcmNoXSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgLy8gSGF2aW5nIHRvIHNldCBvcmRlciBkdWUgdG8gc2l0ZSBzZWFyY2ggcmVzdWx0cyBpcyBwbGFjZWQgYmVmb3JlIHRoZSBpbnB1dCArIGJ1dHRvbiB3aGljaCBkb2Vzbid0IHdvcmsgaW4gbW9iaWxlIGFzIGl0IG5lZWRzIHRvIGFwcGVhciBhZnRlciB0aGVtLlxyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci1zZWFyY2gtaW5wdXQtZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1mb250LWZhbWlseSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItc2VhcmNoLWlucHV0LXBsYWNlaG9sZGVyLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtaW5wdXQtcGxhY2Vob2xkZXItbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkaGVhZGVyLXNlYXJjaC1pbnB1dC1wbGFjZWhvbGRlci1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgQGlmICgkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc2VhcmNoLWRlZmF1bHQtYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkaGVhZGVyLXNlYXJjaC1idXR0b24td2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgdG8gc3VwcG9ydCBzaXRlIHNlYXJjaCAzNjAgbWFya3VwIHRoYXQgaXMgdXNlZCBvbiBBeGlzIENvcnBvcmF0ZS5cclxuICAgICN1bmlib3gtc3VnZ2VzdC1ib3gge1xyXG4gICAgICAgIG1heC13aWR0aDogaW5pdGlhbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vIElGIHdlJ3JlIG92ZXJyaWRpbmcgdGhlIGhlYWRlcidzIHNlYXJjaCBidXR0b24gd2lkdGggdGhlbiB1c2UgdGhhdCBlbHNlIHVzZSB0aGUgc2l0ZSdzIGRlZmF1bHQgd2lkdGguXHJcbiAgICAgICAgJGJ1dHRvbi13aWR0aDogaWYoJGhlYWRlci1zZWFyY2gtYnV0dG9uLXdpZHRoLCRoZWFkZXItc2VhcmNoLWJ1dHRvbi13aWR0aCwkc2VhcmNoLWJ1dHRvbi13aWR0aCk7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGJ1dHRvbi13aWR0aH0pO1xyXG4gICAgICAgIC8vIFNldHRpbmcgb3JkZXIgc28gcmVzdWx0cyBhcHBlYXIgdW5kZXIgdGhlIHNlYXJjaCBpbiBtb2JpbGUuXHJcbiAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAvLyBGb3JjZSByZWxhdGl2ZSBwb3NpdGlvbmluZyBzbyB0aGUgcmVzdWx0IGFwcGVhciBpbiB0aGUgc2VhcmNoIHBvcHVwIC8gbWVudSBmb3IgbW9iaWxlIGRldmljZXMuXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCBzcGFjaW5nLXZhbHVlKCRmaWVsZHNldC1pbnB1dC1wYWRkaW5nLCA0KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC51bmlib3gtc2VsZWN0YWJsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIHNwYW4sIC51bmlib3gtaGlnaGxpZ2h0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuLCAudW5pYm94LWhpZ2hsaWdodCB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjLXJlc3VsdHMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRhYy1yZXN1bHRzLXdpZHRoO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJGFjLXJlc3VsdHMtb2Zmc2V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hdXRvY29tcGxldGUtcmVzdWx0cy1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICAkaW5wdXQtZGVmYXVsdC1ib3gtc2hhZG93OiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtaW5wdXQtYm94LXNoYWRvdywgZGVmYXVsdCk7XHJcbiAgICAgICAgJGlucHV0LWhvdmVyLWJveC1zaGFkb3c6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1pbnB1dC1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgQGlmICgkaW5wdXQtZGVmYXVsdC1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1kZWZhdWx0LWJveC1zaGFkb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGlucHV0LWhvdmVyLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkaW5wdXQtaG92ZXItYm94LXNoYWRvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZXN1bHRzLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBQcmVkaWN0aXZlIFNlYXJjaCAoIGZvciBoZWFkZXIgKSAtLS0gXHJcbi5oZWFkZXItcHJlZGljdGl2ZS1zZWFyY2h7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIG5vdCAoJGFjLXJlc3VsdC1waW4tdG8tdG9wKSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgLy8gICAgIHotaW5kZXg6IDEwMDAxO1xyXG4gICAgLy8gfVxyXG4gICAgLmFjLXJlc3VsdHMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gbGVmdDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIHRvcCkpIHtcclxuICAgICAgICAgICAgICAgIHRvcDogbWFwLWdldCgkaGVhZGVyLXNlYXJjaC1yZXN1bHRzLWRlc2t0b3AtcG9zaXRpb24sIHRvcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCByaWdodCkge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCByaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGhlYWRlci1zZWFyY2gtcmVzdWx0cy1kZXNrdG9wLXBvc2l0aW9uLCBsZWZ0KSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRoZWFkZXItc2VhcmNoLXJlc3VsdHMtZGVza3RvcC1wb3NpdGlvbiwgbGVmdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCk6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYS5hY19yZXN1bHRzX2VudHJ5IHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwZGUnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkyZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLm5vLXJlc3VsdHMge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oZWFkaW5nMiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmhlYWRpbmc0IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBwYWRkaW5nOiA2cHggMTVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICB9XHJcblxyXG4gICAgLmFjX3Jlc3VsdHNfZW50cnkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBjYWxsIHRvIGFjdGlvbiAtLS0tLSBcclxuLy8gVXNlZCBmb3IgbG9naW4gYnV0dG9uIG9yIGVucXVpcnkgYnV0dG9uLlxyXG4uaGVhZGVyLWNhbGwtdG8tYWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcbiAgICAubm90LWxvZ2dlZC1pbi1jb250YWluZXIge1xyXG4gICAgICAgIGhlaWdodDogJGhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXItaGVpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZGVza3RvcC1zdW1tYXJ5LXdpZHRoO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgLy8gS2VlcCBpbiBzeW5jIHdpdGggdGhlIGhlYWRlciBzZWFyY2ggaGVpZ2h0LlxyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgYmFza2V0IHN1bW1hcnkgLS0tLS1cclxuI2FjdGlvbi1iYXItY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogJGJhc2tldC1wcmV2aWV3LWhlaWdodDtcclxufVxyXG4uaGVhZGVyLWJhc2tldC1jb250YWluZXIge1xyXG4gICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAuc3VtbWFyeS1yZWNlbnRseS1hZGRlZCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRoZWFkZXItbW9iaWxlLW1lbnUtbWF4LWhlaWdodDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBNYWtlIHN1cmUgYmFja2dyb3VuZCBjb2xvdXIncyBjb250cmFzdCBhZ2FpbnN0IHRoZSB0ZXh0IGNvbG91cidzIGluIHRoZWlyIHZhcmlvdXMgc3RhdGVzICggZGVmYXVsdCwgaG92ZXIgJiBhY3RpdmUgKS5cclxuICAgIC8vIHdhcm5pbmcgY29udHJhc3QgY2hlY2tlci5cclxuICAgICR3YXJuaW5nLWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgaG92ZXIpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKSk7XHJcbiAgICAkd2FybmluZy1hY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBhY3RpdmUpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKSk7XHJcbiAgICAvLyBhbGVydCBjb250cmFzdCBjaGVja2VyLlxyXG4gICAgJGFsZXJ0LWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgaG92ZXIpLCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhbGVydCkpO1xyXG4gICAgJGFsZXJ0LWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGFjdGl2ZSksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KSk7XHJcblxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgd2FybmluZykpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgLmJhc2tldC1kZXRhaWxzLWluZm8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZy1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdhcm5pbmctaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdhcm5pbmctYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2FybmluZy1hY3RpdmUtY29sb3VyO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LW1vYmlsZS1zdW1tYXJ5IHtcclxuICAgICAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9iaWxlLXN1bW1hcnktbWVzc2FnZS1jb250YWluZXIsIC50ZXh0LW5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgYWxlcnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydC1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFsZXJ0LWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydC1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhbGVydC1hY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xyXG4gICAgICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1hbGVydCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXByZXZpZXctbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFJlY2VudGx5IGFkZGVkLlxyXG4gICAgLnN1bW1hcnktcmVjZW50bHktYWRkZWQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDBweDtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB6LWluZGV4OiA1MDAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3Rlcih0cnVlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDVweDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRiYXNrZXQtdXBkYXRlLWljb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAuYmFza2V0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC51cGRhdGUtbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGJhc2tldC11cGRhdGUtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnVwZGF0ZS1tZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRiYXNrZXQtdXBkYXRlLWljb24pIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgLnVwZGF0ZS1tZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNjBweCAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgW2RhdGEtYmFza2V0LXN1bW1hcnktbm90aWZpY2F0aW9uc10ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Upe1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0b29sdGlwLWNvbnRlbnQtcG9zaXRpb25pbmcoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBCYXNrZXQgc3VtbWFyeSB0aGF0IGdldHMgc2hvd24gcHJpbWFyaWx5IGZvciB0aGUgZGVza3RvcCAoIG5vIGRyb3AgZG93biBvciBwb3B1cCApXHJcbiAgICAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XHJcbiAgICAgICAgd2lkdGg6ICRkZXNrdG9wLXN1bW1hcnktd2lkdGg7XHJcbiAgICAgICAgaGVpZ2h0OiAkYmFza2V0LXByZXZpZXctaGVpZ2h0O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJGJhc2tldC1wcmV2aWV3LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRiYXNrZXQtcHJldmlldy1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1ib3JkZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXByZXZpZXctZm9udC1zaXplKTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWJveC1zaGFkb3csIGRlZmF1bHQpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWJveC1zaGFkb3csIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctYm9yZGVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWJvcmRlci1jb2xvdXIsIGhvdmVyKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gSWYgdGhlIHRoZXNlIGNvbG91cnMgbWF0Y2ggaXQgaXMgcG9pbnRsZXNzIGV4cGFuZGluZyB0aGUgYmFza2V0IGljb25zIGJhY2tncm91bmQgdG8gb3ZlcmxhcCB0aGUgcmVzdCBvZiB0aGUgc3VtbWFyeS5cclxuICAgICAgICAgICAgQGlmIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpID09IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1ib3gtc2hhZG93LCBob3Zlcikge1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAuYmFza2V0LWRldGFpbHMtaW5mbyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1mb250LXdlaWdodCwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1ib3JkZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1zdW1tYXJ5LWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICB3aWR0aDogJGJhc2tldC1wcmV2aW91cy1pY29uLXdpZHRoO1xyXG4gICAgICAgICAgICAvLyBJZiBib3JkZXIgdGhlbiByZWR1Y2UgaGVpZ2h0IHRvIGFsbG93IGZvciBib3JkZXIuXHJcbiAgICAgICAgICAgIEBpZiAkYmFza2V0LXByZXZpZXctYm9yZGVyIHtcclxuICAgICAgICAgICAgICAgIC8vIFRPRE86IFlvdSdyZSBhc3N1bWluZyB0aGUgYm9yZGVyIGlzIDFweCBzbyB0aGlzIG1pZ2h0IGNhdXNlIGlzc3VlcyBkb3duIHRoZSBsaW5lLi4uXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICgkYmFza2V0LXByZXZpZXctaWNvbi1oZWlnaHQgLSAyKTtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRiYXNrZXQtcHJldmlldy1pY29uLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGJhc2tldC1wcmV2aWV3LWljb24tanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogJGJhc2tldC1wcmV2aWV3LWljb24tYWxpZ24taXRlbXM7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tcGFkZGluZywgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGJhc2tldC1wcmV2aWV3LWljb24tZm9udC1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXdpZHRoIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXItZ3JhZGlhbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXItZ3JhZGlhbnQ7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBXZSdyZSBcIiBhc3N1bWluZyBcIiB0aGF0IGlmIHRoZSB2YWx1ZSBpcyAyNXB4IHRoZW4gd2Ugd2FudCB0aGUgaWNvbiB0byBiZSBvdXRsaW5lZCBieSBhIGNpcmNsZS5cclxuICAgICAgICAgICAgICAgIEBpZiAoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1cyA9PSAyNXB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1cztcclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGJhc2tldC1wcmV2aWV3LWljb24tYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygkYmFza2V0LXByZXZpZXctaWNvbi1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBTZXR0aW5nIGFsbCBqdXN0IGJlY2F1c2Ugb2YgYWxsIHRoZSBkaWZmZXJlbnQgY29uZmlndXJhdGlvbiBvcHRpb25zLlxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIGFwcGVhcnMgaW5zaWRlIG9mIHRoZSBiYXNrZXQgZGVza3RvcCBzdW1tYXJ5LlxyXG4gICAgLmJhc2tldC1kZXRhaWxzIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogJGJhc2tldC1zdW1tYXJ5LWRldGFpbHMtanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgIEBpZiAkYmFza2V0LXN1bW1hcnktZGV0YWlscy1tYXJnaW4ge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRiYXNrZXQtc3VtbWFyeS1kZXRhaWxzLW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRiYXNrZXQtcHJldmlldy1mb250LXN0eWxlIHtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJGJhc2tldC1wcmV2aWV3LWZvbnQtc3R5bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHotaW5kZXg6IDEwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE4NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMS41cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiA3MHB4O1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtZGV0YWlscy1pbmZvIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctc3VtbWFyeS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1mb250LXdlaWdodCwgZGVmYXVsdCk7XHJcbiAgICAgICAgJi5iYXNrZXQtZGV0YWlscy1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5iYXNrZXQtZGV0YWlscy1wcmljZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFN1bW1hcnkgdGhhdCBnZXRzIGRpc3BsYXllZCBmb3IgbW9iaWxlIGVzc2VudGlhbGx5IGFzIGEgcG9wdXAgbWVudS5cclxuICAgIC5iYXNrZXQtbW9iaWxlLXN1bW1hcnkge1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhc2tldC1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VtbWFyeS1vcmRlci10b3RhbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1bW1hcnktcXVhbnRpdHkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAyNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWN0aW9uLWJ1dHRvbiB7IFxyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAyKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnN1bW1hcnkge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC50ZXh0Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDg1JTtcclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICNiYXNrZXRRdWFudGl0eSwgI2Jhc2tldFByZXZpZXdQcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LXN1bW1hcnktY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LWZvbnQtd2VpZ2h0LCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcblxyXG4gICAgI2Jhc2tldFByZXZpZXdQcmljZSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4jYmFza2V0U3VtbWFyeUNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIHdpZHRoOiAzNzBweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgICAmLndhcm5pbmcge1xyXG4gICAgICAgIC5zdW1tYXJ5IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC13YXJuaW5nKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI2Jhc2tldFByZXZpZXcgLmJhc2tldFByZXZpZXdIZWFkaW5nIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUoXCJ0b3BcIiwgOCwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyksIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKSk7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNiYXNrZXRRdWFudGl0eSwgICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGVydCB7XHJcbiAgICAgICAgLnN1bW1hcnkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1hbGVydCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNiYXNrZXRQcmV2aWV3IC5iYXNrZXRQcmV2aWV3SGVhZGluZyB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWFsZXJ0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1vYmlsZS1zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyLCAudGV4dC1ub3RpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlKFwidG9wXCIsIDgsIG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KSwgbWFwLWdldCgkYmFza2V0LXByZXZpZXctYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KSk7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtcHJldmlldy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAjYmFza2V0UXVhbnRpdHksICNiYXNrZXRQcmV2aWV3UHJpY2Uge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYmFza2V0LXByZXZpZXctaWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tb2JpbGUtc3VtbWFyeS1tZXNzYWdlLWNvbnRhaW5lciwgLnRleHQtbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAyKTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM3MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcblxyXG4gICAgICAgICAgICAjYmFza2V0UHJldmlldyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NzBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMTBweCA2MHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgI2Jhc2tldFByZXZpZXcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDYwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHggMzBweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjcmVjZW50bHlBZGRlZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNjBweCAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi51cGRhdGUuYWN0aXZlIHtcclxuICAgICAgICAjYmFza2V0UHJldmlldyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjU1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IGJ1dHRvbiBzdHlsaW5nLlxyXG4gICAgICAgICAgICBhIHsgXHJcbiAgICBcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRoZWFkZXItc2VhcmNoLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idWJibGUtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1NXB4O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogKCRiYXNrZXQtcHJldmlldy1oZWlnaHQgKyA1MCk7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdW1tYXJ5LW1lc3NhZ2UtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgIC8vIHotaW5kZXg6IDUwMDtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNHB4IDIwcHg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplIC0gMSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG4vLyAtLS0tLSBIZWFkZXIgd2VsY29tZSB0ZXh0IC0tLS0tXHJcbi5oZWFkZXItd2VsY29tZS10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgb3JkZXI6IDI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxhcmdlLXZhbHVlKCRoZWFkZXItd2VsY29tZS10ZXh0LWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6ICRoZWFkZXItd2VsY29tZS10ZXh0LWFsaWduLWl0ZW1zO1xyXG4gICAgICAgIGZsZXgtYmFzaXM6ICRoZWFkZXItd2VsY29tZS10ZXh0LWhlaWdodDtcclxuICAgICAgICBAaWYgKCRoZWFkZXItd2VsY29tZS10ZXh0LW1hcmdpbikge1xyXG4gICAgICAgICAgICBtYXJnaW46ICRoZWFkZXItd2VsY29tZS10ZXh0LW1hcmdpbjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICBAaWYgKHh4bGFyZ2UtdmFsdWUoJGhlYWRlci13ZWxjb21lLXRleHQtanVzdGlmeS1jb250ZW50KSkge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHh4bGFyZ2UtdmFsdWUoJGhlYWRlci13ZWxjb21lLXRleHQtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGV4dC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiAkaGVhZGVyLXdlbGNvbWUtdGV4dC10ZXh0LWFsaWduO1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGhlYWRlci13ZWxjb21lLXRleHQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItd2VsY29tZS10ZXh0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiAkaGVhZGVyLXdlbGNvbWUtdGV4dC1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIoJGhlYWRlci13ZWxjb21lLXRleHQtY29sb3VyLCAkaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXdlbGNvbWUtdGV4dC1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItd2VsY29tZS10ZXh0LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJiArICNhY3Rpb24tYmFyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICB9XHJcbiAgICAmICsgLmhlYWRlci1jYWxsLXRvLWFjdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIEhlYWRlciBNZW51cyAtLS0tLVxyXG4uaGVhZGVyLW1lbnVzLW91dGVyLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHNtYWxsLXZhbHVlKCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBEZXNrdG9wIHNwZWNpZmljLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgICAgICAgLy8gRG9uJ3QgY2hhbmdlIHRoZSBwYWRkaW5nIGJvdHRvbSBhcyB0aGlzIHdpbGwgdGhyb3duIHRoZSBtZWdhIG1lbnUgb3V0IG9mIGFsaWdubW5ldCB3aXRoIHRoZSBib3R0b20gb2YgdGhlIG5hdiBiYXIuXHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBAaWYgJGhlYWRlci1tZWdhLW1lbnUtZ3JhZGlhbnQtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRoZWFkZXItbWVnYS1tZW51LWdyYWRpYW50LWJhY2tncm91bmQ7XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxhcmdlLXZhbHVlKCRtZW51cy1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkaGVhZGVyLW1lZ2EtbWVudS1ib3gtc2hhZG93IHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGhlYWRlci1tZWdhLW1lbnUtYm94LXNoYWRvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRtZWdhLW1lbnUtYm9yZGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkbWVnYS1tZW51LWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWVnYS1tZW51LWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRm9sbG93IG1lZ2EgbWVudSBzbWFsbCBzdHlsZXMuXHJcbiAgICAvLyBMZXZlbCAxXHJcbiAgICAuY29udGVudC1jb250YWluZXIgPiB1bCB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUpKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC13ZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIExldmVsIDJcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXNpemUpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTGV2ZWwgMyArIFxyXG4gICAgICAgICAgICAgICAgICAgIHVsID4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbkBtaXhpbiBtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcG9yYXRvcigpIHtcclxuICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICBoZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IGF1dG8gMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtY29sb3VyO1xyXG59XHJcblxyXG4uaGVhZGVyLW1lbnVzLWlubmVyLWNvbnRhaW5lciB7XHJcblxyXG4gICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIsIHNtYWxsKTtcclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1zbWFsbCksICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyBMZXZlbCAyIENvbG91cnNcclxuICAgICAvLyAtLS0gUGFyZW50IGNvbG91cnMgLS0tIFxyXG4gICAgICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXI6ICRjb2xvdXIxO1xyXG4gICAgIC8vIERlZmF1bHQuXHJcbiAgICAgJHBhcmVudC1jb2xvdXI6ICBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBkZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgLy8gSG92ZXIuXHJcbiAgICAgJHBhcmVudC1jb2xvdXItaG92ZXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LXBhcmVudC1jb2xvdXIsIGhvdmVyKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgLy8gQWN0aXZlLlxyXG4gICAgICRwYXJlbnQtY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWNvbG91ciwgYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLy8gTGV2ZWwgMyBDaGlsZHJlbiBDb2xvdXJzLlxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRjaGlsZC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuIFxyXG4gICAgJGNoaWxkLWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1ob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJGNoaWxkLWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG5cclxuXHJcbiAgICB3aWR0aDogc21hbGwtdmFsdWUoJGhlYWRlci1tZWdhLW1lbnUtd2lkdGgpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkaGVhZGVyLW1lZ2EtbWVudS13aWR0aCk7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgdWwuYWNjb3JkaW9uLW1lbnUge1xyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodCwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUsIHNtYWxsKSk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkaGVhZGVyLWxvd2VyLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTGV2ZWwgMiAoIFBhcmVudCApXHJcbiAgICAgICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1sZXZlbC0yLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gRHVlIHRvIHN1Ym1lbnUgcGFyZW50cyBoYXZlIGFuIGljb24gdG8gdGhlIGxlZnQgd2UgbmVlZCB0byBhZGQgc29tZSBtYXJnaW4gdG8gdGhlIG5vIHBhcmVudHMgb3RoZXJ3aXNlIHRoZSBncm91cCBkZXNjcmlwdGlvbnMgd2lsbCBub3QgbGluZSB1cC5cclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCguaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAje3NwYWNpbmctdmFsdWUoJGdsb2JhbC1tZW51LWl0ZW0tcGFkZGluZywgNCkgKyAyMH07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmLmlzLWFjdGl2ZS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEsICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVtb3ZlIHBhcmVudCBpbmRpY2F0b3IgdGhhdCBpcyBzaG93biBvbiBub3JtYWwgZHJvcGRvd25zLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGxldmVsIDNcclxuICAgICAgICAgICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLWZvbnQtd2VpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmhvdmVyOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSwgJjphY3RpdmU6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXItYWN0aXZlOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcblxyXG5cclxuICAgIH1cclxuICAgIHVsLm1lbnUubWVnYS1tZW51LCB1bC5tZW51LmRyb3Bkb3duIHtcclxuICAgICAgICAvLyBHcmFuZCBwYXJlbnQgZ3JvdXAgc2VwZXJhdG9ycy5cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGhlYWRlci1tZWdhLW1lbnUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vbWFyZ2luLXJpZ2h0OiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRoZWFkZXItbWVnYS1tZW51LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc3VwcHJlc3Mtb3V0ZXItcGFkZGluZykge1xyXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc3VwcHJlc3MtZmlyc3QtY2hpbGQtbWFyZ2luKSB7XHJcbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5ob21lLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRob21lLWJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAje2lmKCRtZWdhLW1lbnUtc3VwcHJlc3Mtb3V0ZXItc2VwZXJhdG9ycywgXCImOm5vdCg6Zmlyc3QtY2hpbGQpIFwiLCBcIlwiKX0gPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBvcmF0b3IoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9sZWZ0OiAtI3sobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWRpbWVudGlvbnMsIHdpZHRoKSAqIDEuNSl9O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogaWYoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycy1nYXAsLSRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwICwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgbm90ICRtZWdhLW1lbnUtc3VwcHJlc3Mtb3V0ZXItc2VwZXJhdG9ycyB7XHJcbiAgICAgICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2VwZXJhdG9ycyB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcG9yYXRvcigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vcmlnaHQ6IC0jeyhtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZGltZW50aW9ucywgd2lkdGgpICogMS41KX07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGlmKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNlcGVyYXRvcnMtZ2FwLC0kbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zZXBlcmF0b3JzLWdhcCwwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWxpbmUtaGVpZ2h0ICE9ICRkZWZhdWx0LWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEZvciBkcm9wZG93biBhbGlnbm1lbnQuXHJcbiAgICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gSGVhZGVyIG1lbnVzIGNvbnRhaW5lciAtLS0gXHJcbi5oZWFkZXItbWVudS1sZWZ0LWNvbnRhaW5lciB7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICBAaWYgJGhlYWRlci1sb3dlci1pdGVtLWdyb3cge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICYgKyAuaGVhZGVyLW1lbnUtcmlnaHQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbn1cclxuLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciwgLmhlYWRlci1tZW51LWxlZnQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFRvZ2dsZSBCYXIgLS0tIFxyXG4vLyBFc3NlbnRpYWxseSBhIGNvbGxlY3Rpb24gb2YgdG9nZ2xlIGJ1dHRvbnMgdGhhdCB0cmlnZ2VyIHZhcmlvdXMgZnVuY3Rpb25hbGl0eSBpLmUgc2VhcmNoIGJhciAmIGJhc2tldCBzdW1tYXJ5LlxyXG4uaGVhZGVyLXRvZ2dsZS1iYXItY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBnYXA6ICRoZWFkZXItdG9nZ2xlLWJhci1nYXA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgfVxyXG4gICAgJi50b2dnbGUtYmFyLWluYWN0aXZlLW1vYmlsZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gQ29udGFpbmVyIGZvciBib3RoIGJ1dHRvbiAmIGNvbnRlbnQgY29udGFpbmVycy5cclxuICAgIC5oZWFkZXItdG9nZ2xlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAmLmFsaWduLWl0ZW1zLXBhcmVudCB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVG9nZ2xlIGJ1dHRvbiBjb250YWluZXJzXHJcbiAgICAudG9nZ2xlLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIC50b2dnbGUtYnV0dG9uIHtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogJGhlYWRlci10b2dnbGVyLWJhci1idXR0b24tbWluLWhlaWdodDtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgQGlmICgkaGVhZGVyLXRvZ2dsZS1iYXItZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLXRvZ2dsZS1iYXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1saW5lLWhlaWdodCAhPSAkZGVmYXVsdC1saW5lLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgIFxyXG4gICAgICAgICYuc2VhcmNoIC50b2dnbGUtYnV0dG9uIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGVmYXVsdC1zaXRlLWljb25zLCBzZWFyY2gpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLXNlYXJjaC1pY29uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmFjY291bnQgLnRvZ2dsZS1idXR0b24ge1xyXG4gICAgICAgICAgICAvLyBHZXQgY3VzdG9tIGJ1dHRvbiBwYWRkaW5nLlxyXG4gICAgICAgICAgICAkYnV0dG9uLXBhZGRpbmc6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1wYWRkaW5nLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzdHlsZXMuXHJcbiAgICAgICAgICAgIEBpZiAoJGJ1dHRvbi1wYWRkaW5nIT0gJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1wYWRkaW5nICkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nOyAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aW9uLWJhciAudG9nZ2xlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1iYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhc2tldC1pdGVtLWNvdW50IHtcclxuICAgICAgICAgICAgICAgIC8vIENvbG91ciBwcm9jZXNzaW5nLlxyXG4gICAgICAgICAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWNvbG91ciksIGRlZmF1bHQtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAycHg7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAjeyRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tZm9udC1zaXplICsgNn07XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggNC41cHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoXCJzZWNvbmRhcnktZm9udFwiKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtaXRlbS1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICAgICAgICAgJGhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihob3Zlci1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtY29sb3VyKSwgZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWl0ZW0tY291bnQtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIC5iYXNrZXQtaXRlbS1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgICAgICAgICAgICAgJGFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoYWN0aXZlLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1jb2xvdXIpLCBhY3RpdmUtY29sb3VyKCRiYXNrZXQtc3VtbWFyeS1pdGVtLWNvdW50LWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogYWN0aXZlLWNvbG91cigkYmFza2V0LXN1bW1hcnktaXRlbS1jb3VudC1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENvbnRlbnQgY29udGFpbmVycy5cclxuICAgIC50b2dnbGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICYuc2VhcmNoIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogIG1hcC1nZXQoJGhlYWRlci10b2dnbGUtY29udGVudC13aWR0aHMsIHNlYXJjaCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWNjb3VudC1tZW51IHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDEwcHgpO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGFjY291bnQtbWVudS13aWR0aCwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRhY2NvdW50LW1lbnUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkYWNjb3VudC1tZW51LWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJGFjY291bnQtbWVudS1ib3gtc2hhZG93O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYWNjb3VudC1tZW51IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYWN0aW9uLWJhciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IC0xNnB4O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIC8vdHJhbnNpdGlvbjogd2lkdGggJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWNvbnRlbnQtd2lkdGhzLCBhY3Rpb24tYmFyKTtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgICAgICAgICAgICAgICAuYmFza2V0LWRlc2t0b3Atc3VtbWFyeSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhc2tldC1wcmV2aWV3LWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEFjY291bnQgTWVudSAtLS0tLVxyXG4vLyAtLS0gQnV0dG9uIC0tLVxyXG4uaGVhZGVyLWFjY291bnQtYnV0dG9uIHtcclxuXHJcbiAgICAkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcblxyXG4gICAgJGRlZmF1bHQtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgJGhvdmVyLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAkYWN0aXZlLWljb24tYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG5cclxuICAgICRkZWZhdWx0LWNvbG91cjogaWYoJGRlZmF1bHQtYmFja2dyb3VuZC1jb2xvdXIsIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCksICRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyKSwgbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgZGVmYXVsdCkpO1xyXG4gICAgJGhvdmVyLWNvbG91cjogaWYoJGhvdmVyLWJhY2tncm91bmQtY29sb3VyLCBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSwgJGhvdmVyLWJhY2tncm91bmQtY29sb3VyKSwgbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWNvbG91ciwgaG92ZXIpKTtcclxuICAgICRhY3RpdmUtY29sb3VyOiBpZigkYWN0aXZlLWJhY2tncm91bmQtY29sb3VyICxjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSksICRhY3RpdmUtYmFja2dyb3VuZC1jb2xvdXIpLCBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tY29sb3VyLCBhY3RpdmUpKTtcclxuXHJcbiAgICBtaW4taGVpZ2h0OiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLW1pbi1oZWlnaHQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgQGlmICgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWZsZXgtZGlyZWN0aW9uKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246ICRoZWFkZXItYWNjb3VudC1idXR0b24tZmxleC1kaXJlY3Rpb247XHJcbiAgICB9XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAwICRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1ndXR0ZXI7XHJcbiAgICAvLyBEZWZhdWx0IHBhZGRpbmcuXHJcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tcGFkZGluZywgZGVmYXVsdCk7XHJcbiAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgQGlmICgkZGVmYXVsdC1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkZWZhdWx0LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgfVxyXG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYubG9nZ2VkLWluIHtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRoZWFkZXItYWNjb3VudC1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICBAaWYgKCRob3Zlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci10b2dnbGUtYmFyLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgQGlmICgkaG92ZXItaWNvbi1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWljb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgQGlmICgkYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkaGVhZGVyLWFjY291bnQtYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXRvZ2dsZS1iYXItYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgQGlmICgkYWN0aXZlLWljb24tYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBhY2NvdW50KTtcclxuICAgICAgICBAaWYgKCRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1tYXJnaW4pIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkaGVhZGVyLWFjY291bnQtYnV0dG9uLWljb24tbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYWNjb3VudC1pY29uKTtcclxuICAgICAgICBmb250LXNpemU6ICRoZWFkZXItYWNjb3VudC1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdG9nZ2xlLWJhci1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBAaWYgKCRkZWZhdWx0LWljb24tYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGhlYWRlci1hY2NvdW50LWJ1dHRvbi1pY29uLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG59XHJcbi8vIC0tLSBNZW51IC0tLSBcclxuLmFjY291bnQtbWVudSB7XHJcbiAgICBhIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6ICRhY2NvdW50LW1lbnUtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFVTUCBCYXIgLS0tLS1cclxuLy8gVE9ETzogV2hlbiB0aGlzIG9mZmljYWxseSBiZWNvbWVzIGEgbW9kdWxlIHRoaXMgc2hvdWxkIGJlIG1vdmVkIG91dCBvZiB0aGUgaGVhZGVyLnNjc3MgaW50byBtb2R1bGVzLnNjc3NcclxuLnVzcC1iYXIsIC5oZWFkZXItdXNwLWJhciB7XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkdXNwLWJhci1wYWRkaW5nKTtcclxuICAgIEBpZiAkdXNwLWJhY2tncm91bmQtZnVsbC13aWR0aCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCR1c3AtYmFyLXBhZGRpbmcpO1xyXG4gICAgfVxyXG59XHJcbi51c3AtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy8gZGlzcGxheTogZmxleDtcclxuICAgIC8vIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdXNwLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC51c3AtYmFubmVyLCAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skaW1hZ2UtY29sbGVjdGlvbi1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgICR1c3AtZmxleC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIC8vIElmIHRleHQgYWxpZ24gbm90ID09IGNlbnRlciB0aGVuIGFkanVzdCBmbGV4Ym94IGFsaWdubWVudC5cclxuICAgICAgICBAaWYgKCR1c3AtYWxpZ25tZW50ID09IFwibGVmdFwiKSB7XHJcbiAgICAgICAgICAgICR1c3AtZmxleC1hbGlnbjogZmxleC1zdGFydDtcclxuICAgICAgICB9IEBlbHNlIGlmICgkdXNwLWFsaWdubWVudCA9PSBcInJpZ2h0XCIpIHtcclxuICAgICAgICAgICAgJHVzcC1mbGV4LWFsaWduOiBmbGV4LWVuZFxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEsIHB7IFxyXG4gICAgICAgICAgICAvL2JhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR1c3AtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSwgPiBwIHtcclxuICAgICAgICAgICAgQGlmICgkdXNwLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkdXNwLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHVzcC1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgICBcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJHVzcC1mbGV4LWFsaWduO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBAaWYgJHVzcC1vcmRlci1pbnZlcnQge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkdXNwLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICR1c3AtYWxpZ25tZW50O1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdXNwLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6ICR1c3AtZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdXNwLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdXNwLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xyXG4gICAgICAgICAgICBAaWYgKCR1c3AtaW1hZ2UtYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICR1c3AtaW1hZ2UtcGFkZGluZztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR1c3AtaW1hZ2UtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICR1c3Atb3JkZXItaW52ZXJ0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkdXNwLWltYWdlLWd1dHRlcjtcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICR1c3AtaW1hZ2UtZ3V0dGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIEBpZiAkdXNwLW9yZGVyLWludmVydCB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICR1c3AtZmxleC1hbGlnbjtcclxuICAgICAgICAgICAgcGFkZGluZzogJHVzcC1wYWRkaW5nO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5LCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdXNwLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICR1c3AtaG92ZXItb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJGhvdmVyLWNvbG91cjogbWFwLWdldCgkdXNwLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkaG92ZXItY29sb3VyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHVzcC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJGFjdGl2ZS1jb2xvdXI6IG1hcC1nZXQoJHVzcC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICRhY3RpdmUtY29sb3VyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzIHBhZGRpbmcgZHVlIHRvIGNvbnRlbnQgYmVpbmcgaW5zaWRlIG9mIGFuY2hvci5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHVzcC1hbmNob3ItaW5kaWNhdG9yIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYW5jaG9yLWluZGljYXRvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkdXNwLWFuY2hvci1pbmRpY2F0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICR1c3AtYW5jaG9yLWluZGljYXRvci1mb250LXNpemU7ICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkdXNwLWFuY2hvci1pbmRpY2F0b3ItY3VzdG9tLWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCR1c3AtZ3V0dGVyKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICZbYXJpYS1oaWRkZW49ZmFsc2VdIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICR1c3AtZ3V0dGVyOyBcclxuICAgICAgICAgICAgICAgICAgICAvLyBUbyBtYWtlIHN1cmUgY29udGVudCBpcyBmbHVzaCBhZ2FpbnN0IGNvbnRhaW5lci5cclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICR1c3Atc2VwZXJhdG9yIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4gICAgICAgICAgICAgICAgJlthcmlhLWhpZGRlbj1mYWxzZV0ge1xyXG4gICAgICAgICAgICAgICAgICAgJiArIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogbWFwLWdldCgkdXNwLXNlcGVyYXRvci1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJHVzcC1zZXBlcmF0b3ItZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCR1c3Atc2VwZXJhdG9yLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHVzcC1zZXBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuZmFzIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEJyZWFkY3J1bWJzIC0tLS0tXHJcbi8vIE1ha2Ugc3VyZSB0aGVyZSBpcyBhIGdhcCBiZXR3ZWVuIHRoZSBoZWFkZXIgd2hlbiB0aGVyZSBpcyBubyBicmVhZGNydW1iIG9yIHZhdCBzd2l0Y2hlciBvdGhlcndpc2UgcGFnZSBjb250ZW50IHdpbGwgcHVzaCB1cCBhZ2FpbnN0IHRoZSBoZWFkZXIsIHRyZWF0IHRoZSBob21lcGFnZSBhcyBhIHNwZWNpYWwgY2FzZSBhcyBpbiBzb21lIGRlc2lnbnMgd2UgYnV0dCB0aGUgbW9kdWxlcyByaWdodCB1cCBhZ2FpbnN0cyB0aGUgaGVhZGVyLlxyXG5ib2R5Om5vdCgjaG9tZSkgLmhlYWRlci1icmVhZGNydW1icy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAkYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLW1hcmdpbjtcclxuICAgICY6bm90KDpoYXMoLmJyZWFkY3J1bWJzKSkge1xyXG4gICAgICAgIHBhZGRpbmc6ICRoZWFkZXItbm8tYnJlYWRjcnVtYnMtdmF0LXN3aXRjaC1zaGltO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBUaGlzIG5lZWRzIHRvIGJlIGNvbmZpZ3VyZWQgb24gYSBzaXRlIGJhc2lzIGFzIGtpbmdzZmllbGQgaGFzIG5vIFVTUCdzICsgZGlzYWJsZWQgVkFUIHN3aXRjaCBhbmQgcmVxdWVzdGVkIHRoYXQgd2UgaGF2ZSBzb21lIHNwYWNlIGJldHdlZW4gdGhlIGhlYWRlciBhbmQgZmlyc3QgbW9kdWxlIDg0OTQxMi5cclxuYm9keSN7aWYoJGhlYWRlci1uby1icmVha2NydW1icy10b2dnbGUtc3dpdGNoLXNoaW0tb24taG9tZXBhZ2UsXCJcIixcIjpub3QoI2hvbWUpXCIpfSAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAmOm5vdCg6aGFzKC5icmVhZGNydW1icykpOm5vdCg6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpKTpub3QoOmhhcygudmF0LXN3aXRjaGVyLWNvbnRhaW5lcikpIHtcclxuICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLW5vLWJyZWFkY3J1bWJzLXZhdC1zd2l0Y2gtc2hpbTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5oZWFkZXItdXNwLWJhciArICNicmVhZGNydW1iLXZhdC1zd2l0Y2hlci1jb250YWluZXIsIC5oZWFkZXItdXNwLWJhciArIC5oZWFkZXItYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyIHtcclxuICAgICY6aGFzKC5icmVhZGNydW1icyksICY6aGFzKC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1jb250YWluZXIpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIH1cclxuICAgIHBhZGRpbmctdG9wOiAoc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDEpKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogKHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAxLCBsYXJnZSkpO1xyXG4gICAgfVxyXG59XHJcblxyXG4jYnJlYWRjcnVtYi12YXQtc3dpdGNoZXItY29udGFpbmVyLCAuaGVhZGVyLWJyZWFkY3J1bWItdmF0LXN3aXRjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAudmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmJyZWFkY3J1bWJzLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDEpO1xyXG4gICAgICAgIC8vcGFkZGluZy1ib3R0b206IHNtYWxsLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZyk7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGJyZWFkY3J1bWJzLXZhdC1zd2l0Y2hlci1wYWRkaW5nLCAzKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRicmVhZGNydW1icy12YXQtc3dpdGNoZXItcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkYnJlYWRjcnVtYnMtdmF0LXN3aXRjaGVyLXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnJlYWRjcnVtYnMge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgLy8gU2V0dGluZyBkaXNwbGF5IHN0eWxlIGZsZXggdG8gYXR0ZW1wdCB0byBjZW50ZXJpc2UgdGhlIHNlcGVyYXRvci9sZXZlbCBpY29ucy5cclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gU3dpdGNoZWQgZnJvbSBiYXNlbGluZSB0byBjZW50ZXIgZm9yIGtpbmdzd29vZCBwcm9qZWN0IDg0MjUzOSwgdGhpcyBtaWdodCBuZWVkIHRvIGJlIHJldmVydGVkLlxyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDIuNXB4IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZ3JpZC1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5icmVhZGNydW1icyB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJyZWFkY3J1bWJzLWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYnJlYWRjcnVtYnMtYW5jaG9yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRicmVhZGNydW1icy1hbmNob3ItY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRicmVhZGNydW1icy1hbmNob3ItZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGJyZWFkY3J1bWJzLWFjdGl2ZS1mb250LXdlaWdodDtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24uXHJcbiAgICAgICAgICAgIG1hcmdpbjogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1tYXJnaW4gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gQWRkaW5nIHBhZGRpbmctdG9wIGFzIHdlJ3JlIDFweCBvZmYgdmVydGljYWwgY2VudGVyLlxyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogKCRicmVhZGNydW1icy1zZXBlcmF0b3Itc2hpbSAvIDIpO1xyXG4gICAgICAgICAgICBAaWYgJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1saW5lLWhlaWdodCB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGJyZWFkY3J1bWJzLXNlcGVyYXRvci1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1zZXBlcmF0b3Itc2l6ZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6ICRicmVhZGNydW1icy1zZXBlcmF0b3Itc2hpbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRvZ2dsZS1zd2l0Y2gtbGFiZWwtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZhdC1zd2l0Y2hlci1mb250LXNpemUpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgIH1cclxufVxyXG5cclxuLy8tLS0gVkFUIFN3aXRjaGVyIC8gSGVhZGVyIHRvZ2dsZSBzd2l0Y2ggLS0tXHJcbi8vIFRoaXMgd2FzIHJlZmFjdG9yZWQgaW50byBcIiBoZWFkZXItdG9nZ2xlLXN3aXRjaCBcIiBmb3IgdGhlIGRvY3VtZW50YXRpb24gZGVzaWduIHRvIGFsbG93IGZvciBkaWZmZXJlbnQgY29sb3VyIGNvZGluZyB0byBiZSBkZWZpbmVkLlxyXG4udmF0LXN3aXRjaGVyLWNvbnRhaW5lciwgLmhlYWRlci10b2dnbGUtc3dpdGNoLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6ICR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWdhcDtcclxuICAgIEBpZiAoJHZhdC1zd2l0Y2hlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmF0LXN3aXRjaGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuXHJcbiAgICAvLyBTcGVjaWZpYyBzdHlsZXMuXHJcbiAgICAmLnZhdC1zd2l0Y2hlciB7XHJcbiAgICAgICAgJi5pbmNsdXNpdmUsICYub2ZmIHtcclxuICAgICAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUgIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItcGFkZGxlLWNvbG91ciwgaW5jbHVzaXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmV4Y2x1c2l2ZSwgJi5vbiB7XHJcbiAgICAgICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlICB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLXBhZGRsZS1jb2xvdXIsIGV4Y2x1c2l2ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5lZGl0LW1vZGUge1xyXG4gICAgICAgICYub2ZmIHtcclxuICAgICAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUgIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm9uIHtcclxuICAgICAgICAgICAgLnZhdC1zd2l0Y2hlci1wYWRkbGUsIC5oZWFkZXItdG9nZ2xlLXN3aXRjaC1wYWRkbGUgIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBcclxuICAgIC8vIENvbW1vbi5cclxuICAgICYuaW5jbHVzaXZlLCAmLm9mZiB7XHJcbiAgICAgICAgQGlmICR2YXQtaGlnaGxpZ2h0ZWQtYWN0aXZlLWxhYmVsIHtcclxuICAgICAgICAgICAgcDpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWZvbnQtd2VpZ2h0LCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgLSAyKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2l0Y2gtZXhjIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN3aXRjaCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1iYWNrZ3JvdW5kLWNvbG91ciwgaW5jbHVzaXZlKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItYm9yZGVyLWNvbG91ciwgaW5jbHVzaXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmV4Y2x1c2l2ZSwgJi5vbiB7XHJcbiAgICAgICAgLy8gU2hvdyBhY3RpdmUgZm9udC13ZWlnaHQgYW5kIGNvbG91ciBpZiBhY3RpdmUsIG5vdCB0byBiZSBjb25mdXNlZCB3aXRoIGNsaWNrIGFjdGl2ZSBzdGF0ZS5cclxuICAgICAgICBAaWYgJHZhdC1oaWdobGlnaHRlZC1hY3RpdmUtbGFiZWwge1xyXG4gICAgICAgICAgICBwOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWZvbnQtd2VpZ2h0LCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YXQtc3dpdGNoZXItcGFkZGxlLCAuaGVhZGVyLXRvZ2dsZS1zd2l0Y2gtcGFkZGxlICB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnMgKyA1KTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3dpdGNoLWluYyB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zd2l0Y2gge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCR2YXQtc3dpdGNoZXItYmFja2dyb3VuZC1jb2xvdXIsIGV4Y2x1c2l2ZSk7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWJvcmRlci1jb2xvdXIsIGV4Y2x1c2l2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN3aXRjaCB7XHJcbiAgICAgICAgd2lkdGg6ICR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWRpbWVudGlvbnM7XHJcbiAgICAgICAgaGVpZ2h0OiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAvIDIuMSk7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCR2YXQtc3dpdGNoZXItaW5kaWNhdG9yLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmF0LXN3aXRjaGVyLXBhZGRsZSwgLmhlYWRlci10b2dnbGUtc3dpdGNoLXBhZGRsZSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAvIDIuMyk7XHJcbiAgICAgICAgaGVpZ2h0OiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAvIDIuMyk7XHJcbiAgICAgICAgLy8gU3VwcHJlc2V0dGluZyBhcyB0aGlzIHdhcyBjYXVzaW5nIHZlcnRpY2FsIGFsaWdubWVudCBpc3N1ZXMgZm9yIG1hY09TIHVzZXJzLlxyXG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6ICgkdmF0LXN3aXRjaGVyLWluZGljYXRvci1kaW1lbnRpb25zIC8gNC4yKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAoJHZhdC1zd2l0Y2hlci1pbmRpY2F0b3ItZGltZW50aW9ucyAvIDQuMik7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkdmF0LXN3aXRjaGVyLWluZGljYXRvci1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN3aXRjaC1leGMsIC5zd2l0Y2gtaW5jIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoLWV4YyB7XHJcbiAgICAgICAgcmlnaHQ6IDdweDtcclxuICAgIH1cclxuICAgIC5zd2l0Y2gtaW5jIHtcclxuICAgICAgICBsZWZ0OiA1cHg7XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoLWlucHV0IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkdmF0LXN3aXRjaGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmF0LXN3aXRjaGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1mb250LXdlaWdodCwgZGVmYXVsdCk7XHJcbiAgICB9XHJcbiAgICBsYWJlbCB7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2YXQtc3dpdGNoZXItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHZhdC1zd2l0Y2hlci1mb250LXdlaWdodCwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gRm9vdGVyIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gRm9vdGVyIG1lbnUgKCBhbHNvIHJlZmVyIHRvIGF4aXMtbWVudXMuc2NzcyApXHJcbi0gUHJvbW90aW9uIGFyZWE6XHJcbiAgLSBTb2NpYWwgSWNvbnNcclxuICAtIE1haWxpbmcgTGlzdFxyXG4gIC0gQ21zIGVudHJpZXNcclxuLSBGb290ZXIgQmFubmVycyAoIFBheW1lbnQgbWV0aG9kIGxvZ29zIClcclxuLSBDb3B5cmlnaHRcclxuLSBHb29nbGUgVGFnIE1hbmFnZXIgZm9vdGVyIHdpZGdldCBhcmVhXHJcbi0gRm9vdGVyIE1vZHVsZXMgKCBhbHNvIHJlZmVyIHRvIG1vZHVsZXMuc2NzcyApXHJcbiovXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbmZvb3RlciB7XHJcbiAgICAvLyBGb290ZXIgY29sb3VycyBwcmUtcHJvY2Vzc2luZy5cclxuICAgICRiYWNrZ3JvdW5kLWNvbG91cjogJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAvLyBEZWZhdWx0XHJcbiAgICAkbWVudS1pY29uLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbWVudS1pY29uLWNvbG91ciwgZGVmYXVsdCksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3ZlclxyXG4gICAgJG1lbnUtaG92ZXItaWNvbi1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLW1lbnUtaWNvbi1jb2xvdXIsIGhvdmVyKSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZVxyXG4gICAgJG1lbnUtYWN0aXZlLWljb24tY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1tZW51LWljb24tY29sb3VyLCBhY3RpdmUpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIEBpZiBub3QgJGZvb3Rlci1iYWNrZ3JvdW5kIGFuZCBub3QgJGZvb3Rlci1iYWNrZ3JvdW5kLXRvcCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogKCRmb290ZXItbWFyZ2luLXRvcCAvIDIpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiBub3QgJGZvb3Rlci1iYWNrZ3JvdW5kIGFuZCBub3QgJGZvb3Rlci1iYWNrZ3JvdW5kLXRvcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb290ZXItbWFyZ2luLXRvcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgQGlmICgkZm9vdGVyLXNlcGVyYXRvcikge1xyXG4gICAgICAgICY6I3tpZigkZm9vdGVyLXNlcGVyYXRvci10b3AsIGJlZm9yZSwgYWZ0ZXIpfSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkZm9vdGVyLXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLXNlcGVyYXRvci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZm9vdGVyLXNlcGVyYXRvci1iYWNrZ3JvdW5kLWltYWdlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucm93LWJhY2tncm91bmQge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb290ZXItbWFyZ2luLXRvcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUT0RPOiBUaGUgc29jaWFsSWNvbnMgcHJvcGVydGllcyBjYW4gZ28gb25jZSB3ZSBnbyB3aXRoIHVzaW5nIGZvbnRhd2Vzb21lJ3MgZ2x5cGhzLCB5b3UgbWF5IG5lZWQgdG8gdW50YW5nbGUgc29tZSBvZiB0aGVzZSBvcHRpb25zIHRvIG1ha2Ugc3VyZSB0aGV5J3JlIGFsbCBiZWluZyBhcHBsaWVkIGluIHRoZSAuZm9vdGVyIGNsYXNzIGluIGF4aXMtc29jaWFsLW1lZGlhLWljb25zLnNjc3NcclxuICAgIC5zb2NpYWxJY29ucywgLnNvY2lhbC1pY29ucyB7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1hcmdpbik7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZyk7XHJcbiAgICAgICAgQGlmIG5vdCAoJHN1cHByZXNzLWZvb3Rlci1tZW51LWl0ZW0tc2VwZXJhdG9ycykge1xyXG4gICAgICAgICAgICBAaWYgbm90ICgkZm9vdGVyLXNvY2lhbC1zdXBwcmVzcy1jb250YWluZXItc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1tYXgtd2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6ICRmb290ZXItc29jaWFsLWljb25zLWFsaWduLWl0ZW1zO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWFyZ2luKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAmOm5vdCg6ZW1wdHkpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246ICRmb290ZXItc29jaWFsLWljb25zLWhlYWRlci1hbGlnbm1lbnQ7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItc29jaWFsLWljb25zLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgQGlmIG5vdCAoJGZvb3Rlci1zb2NpYWwtaWNvbnMtc3VwcHJlc3MtYmFja2dyb3VuZCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRmb290ZXItc29jaWFsLWljb25zLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJGZvb3Rlci1zb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGZvb3Rlci1zb2NpYWwtaWNvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlKSB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1qdXN0aWZ5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVXNlZCBmb3IgYW55IHRleHRkYiBlbnRyaWVzIGluIHRoZSBmb290ZXIuXHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46ICRmb290ZXItY21zLW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNtcy1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItY21zLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtY2hpbGQtaXRlbS1jb2xvdXIsIGRlZmF1bHQpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jbXMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY2hpbGQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLWxpc3QtY2hpbGQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLWNtcy1saW5lLWhlaWdodCB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jbXMtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiArIHAge1xyXG4gICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLW1hcmdpbiA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcclxuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogaWYoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlLCBjZW50ZXIsIGxlZnQpO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1jbXMtYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWFuY2hvci1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNtcy1hbmNob3ItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY21zLWFuY2hvci1jb2xvdXIsIGhvdmVyKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWNvbG91ciwgYWN0aXZlKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc2hvdy1jb250YWN0LWljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9vdGVyLWNtcy1hbmNob3ItaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjphY3RpdmU6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvb3Rlci1jbXMtYW5jaG9yLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpZiAoJHN1cHByZXNzLWZvb3Rlci1tZW51LWl0ZW0tc2VwZXJhdG9ycykge1xyXG4gICAgICAgIHVsLm1lbnUge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENvbnRyb2xzIGhvdyBmYXIgdGhlIGZvb3RlciBjb250ZW50IHNob3VsZCBzcGFuLlxyXG4uZm9vdGVyLWdyaWQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZykpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIEBpZiAobWVkaXVtLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJGZvb3Rlci1ncmlkLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRmb290ZXItZ3JpZC13aWR0aDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1jb250ZW50LWNlbnRlcmFsaXNlKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItZ3JpZC1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWdyaWQtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWJvdHRvbSBvciAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXRvcCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1tYXJnaW47XHJcbiAgICB9XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGVudC1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItY29udGVudC1qdXN0aWZ5LWNvbnRlbnQpKSB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KTtcclxuICAgIH1cclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZykpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgQGlmIChtZWRpdW0tdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCkpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBtZWRpdW0tdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtZmxleC1kaXJlY3Rpb24pO1xyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250ZW50LWp1c3RpZnktY29udGVudCkpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBAaWYgJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1ib3R0b20ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItc2VycGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItdG9wIHtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXdpZHRoO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItc2VycGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBCYW5uZXIgc2VyaWVzIGZvciB0aGluZ3MgbGlrZSBhY2NlcHRlZCBwYXltZW50IG1ldGhvZHMgb3IgaW1hZ2UocykgdGhhdCBzaXQgYWJvdXQgdGhlIGZvb3RlciBjb250ZW50LlxyXG4uZm9vdGVyLWJhbm5lci1zZXJpZXMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgICYuY29udGVudC1oZWFkZXIge1xyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cikge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLWNvbnRlbnQtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9vdGVyLWJhbm5lci1zZXJpZXMge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWNvbnRhaW5lci1jb250ZW50LWhlYWRlci1tYXJnaW4pO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1jb250YWluZXItY29udGVudC1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucGF5bWVudC1tZXRob2RzIHtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1jb250YWluZXItcGF5bWVudC1tZXRob2RzLW1hcmdpbik7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1ib3JkZXIpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtY29udGFpbmVyLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pO1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtcGFkZGluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKSkge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtcGF5bWVudC1tZXRob2RzLWJhbm5lcnMtZ2FwKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1wYXltZW50LW1ldGhvZHMtYmFubmVycy1nYXApKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAje3NwYWNpbmctdmFsdWUoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLXBheW1lbnQtbWV0aG9kcy1iYW5uZXJzLWdhcCksIDIpfSk7XHJcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBET05UIGRvIHRoaXMgaXRzIGtpbGxzIHRoZSBsYXlvdXQgaW4gbW9iaWxlIGZvciBzdGFuZGFyZCBmb290ZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gZmxleC1iYXNpczogY2FsYyg1MCUgLSAje3NtYWxsLXZhbHVlKHNwYWNpbmctdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWdhcCwgMikpfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1iYXNpczogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmICsgLmZvb3Rlci1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgLmZvb3Rlci1iYW5uZXItc2VyaWVzIHtcclxuICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skaW1hZ2UtY29sbGVjdGlvbi1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWp1c3RpZnktY29udGVudCkpIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtanVzdGlmeS1jb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtZ2FwKTtcclxuICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRmb290ZXItYmFubmVycy1tYXJnaW4pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmIGxhcmdlLXZhbHVlKCRmb290ZXItYmFubmVycy1qdXN0aWZ5LWNvbnRlbnQpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1iYW5uZXJzLWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtZ2FwKTtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWJhbm5lcnMtbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEZvb3RlciBjb3B5cmlnaHQuXHJcbi5jb3B5cmlnaHQtb3V0ZXItY29udGFpbmVyIHtcclxuXHJcbiAgICAvLyBDb250cmFjdCBjaGVja2VyLlxyXG4gICAgLy8gRGVjaWRlIHRoZSBiYWNrZ3JvdW5kIGNvbG91ciwgaWYgdGhlIGNvcHlyaWdodCBjb250YWluZXIgZG9lc24ndCBzcGVjaWZpY2FsbHkgc3BlY2lmeSBhIGJhY2tncm91bmQgY29sb3VyIHRoZW4gZGVmYXVsdCB0byB0aGUgZm9vdGVyIGJhY2tncm91bmQgY29sb3VyLlxyXG4gICAgJGJhY2tncm91bmQtY29sb3VyOiAkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItYmFja2dyb3VuZDtcclxuICAgIC8vIFRoZSBzZXBlcmF0b3JzIGJldHdlZW4gdGhlIHRleHQgY29sb3VyLlxyXG4gICAgJHNlcGVyYXRvci1jb2xvdXI6IFwiXCI7XHJcbiAgICBAaWYgKCRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvcikge1xyXG4gICAgICAgICRzZXBlcmF0b3ItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItc2VycGVyYXRvci1jb2xvdXIsICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICB9XHJcbiAgICAvLyBDb3B5cmlnaHQgcGFyYWdyYXBoIGNvbG91ci5cclxuICAgICRwYXJhZ3JhcGgtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItY29weXJpZ2h0LXBhcmFncmFwaC1jb2xvdXIsICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBDb3B5cmlnaHQgYW5jaG9yIGRlZmF1bHQgY29sb3VyLlxyXG4gICAgJGFuY2hvci1jb2xvdXItZGVmYXVsdDogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY29weXJpZ2h0LWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpLCAkYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQ29weXJpZ2h0IGFuY2hvciBob3ZlciBjb2xvdXIuXHJcbiAgICAkYW5jaG9yLWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY29weXJpZ2h0LWFuY2hvci1jb2xvdXIsIGhvdmVyKSwgJGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIENvcHlyaWdodCBhbmNob3IgYWN0aXZlIGNvbG91ci5cclxuICAgICRhbmNob3ItY29sb3VyLWFjdGl2ZTogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItY29weXJpZ2h0LWFuY2hvci1jb2xvdXIsIGFjdGl2ZSksICRiYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG5cclxuICAgIEBpZiAoJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLXBhZGRpbmcpIHtcclxuICAgICAgICBwYWRkaW5nOiAkZm9vdGVyLWNvcHlyaWdodC1jb250YWluZXItb3V0ZXItcGFkZGluZztcclxuICAgIH1cclxuICAgIEBpZiAoJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLWJhY2tncm91bmQgIT0gXCJ0cmFuc3BhcmVudFwiKSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW91dGVyLWJhY2tncm91bmQ7XHJcbiAgICB9XHJcbiAgICAuY29weXJpZ2h0LWlubmVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAvLyBBZGQgc21hbGwgc3BhY2UgYWJvdmUganVzdCBpbmNhc2UgcGF5bWVudCBtZXRob2QncyBpcyBzdXBwcmVzc2VkLlxyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb3B5cmlnaHQtY29udGFpbmVyLW1hcmdpbik7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC1hbGlnbik7XHJcbiAgICAgICAgQGlmICRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLW1hcmdpbjtcclxuICAgICAgICAgICAgcGFkZGluZzogJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29weXJpZ2h0LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1jb3B5cmlnaHQtc2VwZXJhdG9yLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNlcGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItY29weXJpZ2h0LWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvcHlyaWdodC10ZXh0LWFsaWduKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGZvb3Rlci1jb3B5cmlnaHQtcGFyYWdyYXBoLW1hcmdpbjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNvcHlyaWdodC1wYXJhZ3JhcGgtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHBhcmFncmFwaC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLWNvcHlyaWdodC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItY29weXJpZ2h0LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNvcHlyaWdodC1hbmNob3Itc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLWNvcHlyaWdodC1hbmNob3Itd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGFuY2hvci1jb2xvdXItZGVmYXVsdDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1jb3B5cmlnaHQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhbmNob3ItY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG91ci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBHZW5lcmFsIGZvb3RlciBtZW51IG5hdmlnaWF0aW9uLlxyXG4uZm9vdGVyLW5hdmlnYXRpb24ge1xyXG4gICAgLy8gQ29udHJhc3QgY2hlY2tlciBmb3IgcGFyZW50IGNvbG91cnMuXHJcbiAgICAvLyBEZWZhdWx0XHJcbiAgICAkcGFyZW50LWRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyXHJcbiAgICAkcGFyZW50LWhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGhvdmVyKSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlXHJcbiAgICAkcGFyZW50LWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBhY3RpdmUpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBMZXZlbCAxXHJcbiAgICA+IHVsLm1lbnUge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWdhcCkpIHtcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkZm9vdGVyLWNvbnRlbnQtY2VudGVyYWxpc2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgbWVudSBzdHlsZSB0byBmb3JjZSBwcm9tb3Rpb24gY29udGFpbmVyIHRvIGZpdCBvbiByb3cuXHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1nYXApKSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRmb290ZXItbGlzdC1nYXApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIC8vIElmIGEgY2hldnJvbiBpcyBwcmVzZW50IG1ha2Ugc3VyZSBpdCBoYXMgYW4gYXBwcm9wcmlhdGUgY29sb3VyIGFzc2lnbmVkLlxyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEJlY2F1c2UgeW91IHdhbnQgdG8gdGhlIGNvbnRlbnQgZmx1c2ggYWdhaW5zdCB0aGUgY29udGFpbmVyLlxyXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHAsICY6Zmlyc3QtY2hpbGQgYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCBwLCAmOmxhc3QtY2hpbGQgYSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1wYXJlbnQtc2VwZXJhdG9yKSB7XHJcbiAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhY2tncm91bmQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItcGFyZW50LXNlcGVyYXRvci1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItcGFyZW50LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgbWVudSBob3ZlciBzdGF0ZS5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LXBhcmVudC1pdGVtLWNvbG91ciwgZGVmYXVsdCksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAmOm5vdChbaHJlZl0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1saXN0LWl0ZW0td2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEsID4gcCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItcGFyZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1kZWZhdWx0LWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZvb3Rlci1wYXJlbnQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXBhcmVudC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9vdGVyLWxpc3QtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1wYXJlbnQtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmW2hyZWZdIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwYXJlbnQtaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gcCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgfSAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gTGV2ZWwgMlxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBkZWZhdWx0IGJhY2tncm91bmQtY29sb3JcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRmb290ZXItbGlzdC1tYXJnaW4tdG9wO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFB1c2ggZmlyc3QgaXRlbSBhd2F5IGZyb20gcGFyZW50IHVzaW5nIHRoZSBib3R0b20gdmFsdWUgc28gdGhlIHNwYWNpbmcgaXMgZXF1YWwgdG9wICYgYm90dG9tLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkZm9vdGVyLWxpc3QtaXRlbS1wYWRkaW5nLCAzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy9wYWRkaW5nLWJvdHRvbTogJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZy1ib3R0b207XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvbnRyYXN0IGNoZWNrZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIERlZmF1bHRcclxuICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG91ci1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3ZlclxyXG4gICAgICAgICAgICAgICAgICAgICAgICAkY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBob3ZlciksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWN0aXZlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1saXN0LWNoaWxkLWl0ZW0tY29sb3VyLCBhY3RpdmUpLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91ci1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItY2hpbGQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY2hpbGQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNoaWxkLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1saXN0LWNoaWxkLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIElNUE9SVEFOVDogU3VwcHJlc3NpbmcgdGhpcyBhcyBpdCBpcyBnZXR0aW5nIGluIHRoZSB3YXkgb2Ygc2hvd2luZyBjb250YWN0IGljb25zIGZvciBtYWlsdG86ICYgdGVsOi5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSB3ZSdyZSBub3cgdXNpbmcgYXhpcy1tZW51J3MgdHlwaWNhbGx5IGNoaWxkIGl0ZW1zIGhhdmUgYSBhcnJvdyBzaG93aW5nIG5leHQgdG8gdGhlbSB0aGlzIGlzIGJlaW5nIGZvcmNhYmx5IHN1cHByZXNzZWQgZm9yIGZvb3RlciBtZW51J3MsIG1ha2UgdGhpcyBjb25maWd1cmFibGUgaW4gdGhlIGZ1dHVyZSBpZiBuZWVkcyBiZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgY29udGVudDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jaGlsZC1ob3Zlci10ZXh0LWRlY29yYXRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jaGlsZC1ob3Zlci1vcGFjaXR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJGZvb3Rlci1jaGlsZC1ob3Zlci1vcGFjaXR5O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIG5vIG90aGVyIG9wYWNpdHkgZ2V0cyBhcHBsaWVkLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXItYWN0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGluay1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEN1cnJlbnRseSB3ZSdyZSBvbmx5IHNob3dpbmcgb25lIHR5cGUgb2YgbWVudSBpbiB0aGUgZm9vdGVyIGJ1dCBJIGFtIGxlYXZpbmcgdGhpcyBvcGVuIHNvIHdlIGNhbiBhZGQgZGlmZmVyZW50IHR5cGVzICggaS5lIGEgcHJpbWFyeSBhbmQgc2Vjb25kYXJ5IG1lbnUgKVxyXG4gICAgJi5tYWluLW1lbnUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1saXN0LWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xyXG4gICAgICAgICAgICAvLyBtYXgtd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgLy8gZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6ICRmb290ZXItbWFpbi1tZW51LWZsZXgtZ3JvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1saXN0LWNvbnRhaW5lci1tYXJnaW4pO1xyXG4gICAgICAgICAgICBvcmRlcjogJGZvb3Rlci1saXN0LW9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgbWVudSBhY2NvcmRpb24gc3R5bGVzIGluIG1vYmlsZS5cclxuICAgIC5tZW51IC5pcy1zdWJtZW51LWl0ZW0gYSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuXHJcbiAgICB1bCA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLWxpc3QtcGFyZW50LWl0ZW0tY29sb3VyLCBob3ZlciksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRmb290ZXItbGlzdC1wYXJlbnQtaXRlbS1jb2xvdXIsIGFjdGl2ZSksICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgZmxleDogMTtcclxuICAgIG9yZGVyOiAzO1xyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogc21hbGwtdmFsdWUoJGZvb3Rlci1jbXMtY29udGFpbmVyLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLWd1dHRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jbXMtY29udGFpbmVyLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNtcy1jb250YWluZXItY29sdW1uLWd1dHRlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItbWFyZ2luO1xyXG4gICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLWNtcy1jb250YWluZXItaDItY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvb3Rlci1jbXMtY29udGFpbmVyLWgyLWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItaDItbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItaDItbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY21zLWNvbnRhaW5lci1oMy1tYXJnaW47XHJcbiAgICAgICAgICAgIGNvbG9yOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItY21zLWNvbnRhaW5lci1oMy1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLWNtcy1jb250YWluZXItaDMtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY21zLWNvbnRhaW5lci1oMy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNtcy1jb250YWluZXItaDMtbGluZS1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWNtcy1jb250YWluZXItaDMtbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICBjb2xvcjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLWNtcy1jb250YWluZXItdGFibGUtY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLXRhYmxlLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1jbXMtY29udGFpbmVyLXRhYmxlLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBAaWYgKCRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtbWFyZ2luKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY21zLWNvbnRhaW5lci1wYXJhZ3JhcGgtbWFyZ2luO1xyXG4gICAgICAgICAgICAgICAgJiArIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1tYXJnaW4gPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLXBhcmFncmFwaC1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkZm9vdGVyLWNtcy1jb250YWluZXItcGFyYWdyYXBoLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiBkaXYge1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1jbXMtY29udGFpbmVyLWNvbHVtbi1tYXgtd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRmb290ZXItY21zLWNvbnRhaW5lci1jb2x1bW4tbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBOb3JtYWxseSBob2xkcyBtYWlsaW5nIGxpc3QsIHNvY2lhbCBpY29ucyAmIGNtcyBlbnRyeS5cclxuLmZvb3Rlci1wcm9tb3Rpb25zIHtcclxuICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLW1heC13aWR0aCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1hbGlnbi1pdGVtcykpIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWFsaWduLWl0ZW1zKTtcclxuICAgIH1cclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWdhcCkpIHtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1nYXApO1xyXG4gICAgfVxyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtbWFyZ2luKTtcclxuICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLXBhZGRpbmcpKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgb3JkZXI6ICRmb290ZXItcHJvbW90aW9uLWFyZWEtb3JkZXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtbWF4LXdpZHRoKTtcclxuICAgICAgICBAaWYgKCRmb290ZXItcHJvbW90aW9ucy13aWR0aCkge1xyXG4gICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1wcm9tb3Rpb25zLXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1hbGlnbi1pdGVtcykpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1hbGlnbi1pdGVtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLWdhcCkpIHtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9ucy1tYXJnaW4pOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbnMtcGFkZGluZykpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb25zLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEZvcmNlIGNvbnRlbnQgdG8gYmUgYWxpZ25lZCB0aGUgcmlnaHQsIG9ubHkgYWxsb3cgY2VudGVyaW5nIHdoZW4gbm8gcHJvbW90aW9ucy5cclxuICAgICYgKyAuZm9vdGVyLW5hdmlnYXRpb24ge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1uYXZpZ2lhdGlvbi1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgLm1lbnUge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItbmF2aWdpYXRpb24tanVzdGlmeS1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE9yZGVyIG1haWxpbmcgbGlzdC5cclxuICAgIC5tYWlsaW5nLWxpc3QtY29udGFpbmVyLCAuZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtY29udGFpbmVyIHtcclxuICAgICAgICBvcmRlcjogbWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIG1haWxpbmctbGlzdCk7XHJcbiAgICB9XHJcbiAgICAvLyBPcmRlciBhbnkgc29jaWFsIGljb25zIHdpdGhpbiB0aGUgcHJvbW90aW9uIGFyZWEuXHJcbiAgICAuc29jaWFsSWNvbnMsIC5zb2NpYWwtaWNvbnMge1xyXG4gICAgICAgIG9yZGVyOiBtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgc29jaWFsLWljb25zKTtcclxuICAgIH1cclxuICAgIC8vIE9yZGVyIHRleHRkYiBjb250ZW50IGluc2lkZSBvZiBwcm9tb3Rpb24gY29udGFpbmVyLlxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgdGV4dGRiKSkge1xyXG4gICAgICAgICAgICBvcmRlcjogbWFwLWdldCgkZm9vdGVyLXByb21vdGlvbnMtb3JkZXIsIHRleHRkYik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3JkZXIgZm9yIGZvb3RlciBsb2dvXHJcbiAgICAuZm9vdGVyLWxvZ28tY29udGFpbmVyIHtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBsb2dvLWNvbnRhaW5lcikpIHtcclxuICAgICAgICAgICAgb3JkZXI6IG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBsb2dvLWNvbnRhaW5lcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT3JkZXIgZm9yIGNvbnRhY3QgZGV0YWlscyAoIHRlbGVwaG9uZSAvIGVtYWlsIClcclxuICAgIC5mb290ZXItY29udGFjdC1kZXRhaWxzIHtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGZvb3Rlci1wcm9tb3Rpb25zLW9yZGVyLCBjb250YWN0LWRldGFpbHMpKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiBtYXAtZ2V0KCRmb290ZXItcHJvbW90aW9ucy1vcmRlciwgY29udGFjdC1kZXRhaWxzKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE5vcm1hbGx5IHVzZWQgaW4gdGhlIHByb21vdGlvbiBjb250YWluZXIgdG8gY2F0YWdvcmlzZSB0aGUgc29jaWFsIG1lZGlhIGljb25zLCBtYWlsaW5nIGxpc3QgJiBjbXMgZW50cnkuXHJcbi5mb290ZXItcHJvbW90aW9uLWhlYWRpbmcge1xyXG4gICAgLy8gQ29udHJhc3QgY2hlY2tlci5cclxuICAgIC8vIENNUyBoZWFkaW5nLlxyXG4gICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctY29sb3VyLCAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICBoMyB7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGZvb3Rlci1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItbG9nby1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItbG9nby13aWR0aCk7XHJcbiAgICBAaWYgKHNtYWxsLXZhbHVlKCRmb290ZXItbG9nby1oZWlnaHQpKSB7XHJcbiAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkZm9vdGVyLWxvZ28taGVpZ2h0KTtcclxuICAgIH1cclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1sb2dvLW1hcmdpbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiBtZWRpdW0tdmFsdWUoJGZvb3Rlci1sb2dvLXdpZHRoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItbG9nby13aWR0aCkpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRmb290ZXItbG9nby13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1sb2dvLWhlaWdodCkpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxvZ28taGVpZ2h0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWxvZ28tbWFyZ2luKTtcclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlci1jb250YWN0LWRldGFpbHMge1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZvb3Rlci1jb250YWN0LWRldGFpbHMtbWFyZ2luKTtcclxuICAgIH1cclxuICAgIC8vIExldmVyYWdpbmcgdGhlIHNhbWUgc3R5bGVzIGZvciBjb250YWN0IGVtYWlsICYgdGVsZXBob25lIGluIHRoZSBoZWFkZXIgKCBpLmUgdGhlIGljb25zICkuXHJcbiAgICB1bC5tZW51IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1mbGV4LWRpcmVjdGlvbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWZsZXgtZGlyZWN0aW9uKSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGxhcmdlLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWZsZXgtZGlyZWN0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLW1hcmdpbik7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pdGVtLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItY29udGFjdC1kZXRhaWxzLWljb24tY29udGFpbmVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLWNvbnRhaW5lci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLXNpemUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9vdGVyLWNvbnRhY3QtZGV0YWlscy1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZm9vdGVyLXJldmVhbC1idXR0b24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6ICRmb290ZXItcmV2ZWFsLWJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm9vdGVyLXJldmVhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXJldmVhbC1idXR0b24tZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXJldmVhbC1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm9vdGVyLXJldmVhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm9vdGVyLXJldmVhbC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1jb250YWluZXIge1xyXG4gICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtbWFyZ2luKSkge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtcmV2ZWFsLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1yZXZlYWwtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LXJldmVhbC1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAuZm9vdGVyLXJldmVhbC1idXR0b24ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubWFpbGluZy1saXN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1haWxpbmctbGlzdC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb290ZXItbWFpbGluZy1saXN0LWxpbmsge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRmb290ZXItbWFpbGluZy1saXN0LWxpbmstcGFkZGluZywgJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1iYWNrZ3JvdW5kLWNvbG91ciwgJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1jb2xvdXIsICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstYm9yZGVyLWNvbG91ciwgJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay1mb250LXNpemUsICRmb290ZXItbWFpbGluZy1saXN0LWxpbmstZm9udC13ZWlnaHQsICh3aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay13aWR0aCksIG1vYmlsZS13aWR0aDogc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbGluay13aWR0aCkpLCAwLCBmbGV4LCAkZm9vdGVyLW1haWxpbmctbGlzdC1pY29uLWNvbmZpZyk7XHJcbn1cclxuXHJcbi5tYWlsaW5nLWxpc3QtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LW1hcmdpbik7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29udHJhc3QgY2hlY2tlci5cclxuICAgICAvLyBUZXh0ZGIgaGVhZGluZy5cclxuICAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIFRleHRkYiBtdWx0aS1saW5lIGNvbG91ci5cclxuICAgICR0ZXh0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkZm9vdGVyLW1haWxpbmctbGlzdC10ZXh0LWNvbG91ciwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1wcm9tb3Rpb24taGVhZGluZy1tYXJnaW4pO1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItcHJvbW90aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXByb21vdGlvbi1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGV4dGRiIGVudHJ5LlxyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6ICR0ZXh0LWNvbG91cjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGZvb3Rlci1saXN0LWl0ZW0tcGFkZGluZywgMyk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9vdGVyLW1haWxpbmctbGlzdC10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmb290ZXItY2hpbGQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRmb290ZXItbWFpbGluZy1saXN0LWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkZm9vdGVyLWxpc3QtY2hpbGQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBBdHRlbXB0aW5nIHRvIGtlZXAgc3BhY2luZyBjb25zaXN0ZW50IHdpdGggZm9vdGVyIG1lbnUuXHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRmb290ZXItbGlzdC1pdGVtLXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBNYWlsaW5nIGxpc3QgaW5wdXQuXHJcbiAgICBzcGFuLm1haWwtaW5wdXQge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIH1cclxuICAgIC8vIE1haWxpbmcgbGlzdCBmb3JtLlxyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1tYXgtd2lkdGgpKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLW1heC13aWR0aCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1wYWRkaW5nIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWxldHRlci1zcGFjaW5nIHtcclxuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtdGV4dC10cmFuc2Zvcm0ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXJ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWNvbG91ci1pbmNsdWRlLWJ1dHRvbikge1xyXG4gICAgICAgICAgICAgICAgICAgICYgKyBidXR0b246YmVmb3JlLCAmICsgYnV0dG9uOmVtcHR5OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtZm9udC13ZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJvcmRlciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgICYgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IHRoaXMgd2lsbCBuZWVkIGV4dGVuZGluZyBpZiB3ZSB3YW50IHRvIGZ1bmRpbWVudGFsbHkgY2hhbmdlIHRoZSBib3JkZXIgYXJvdW5kIHRoZSBmaWVsZC5cclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAkZm9vdGVyLW1haWxpbmctbGlzdC1maWVsZC1iYWNrZ3JvdW5kLWNvbG91ci1pbmNsdWRlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgJiArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItbWFpbGluZy1saXN0LWZpZWxkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1tYWlsaW5nLWxpc3QtZmllbGQtbWF4LXdpZHRoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGZpZWxkc2V0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5mb290ZXItYmFja2dyb3VuZCB7XHJcbiAgICBAaWYgKCRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3IpIHtcclxuICAgICAgICBib3JkZXItdG9wOiAkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemUgc29saWQgJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRmb290ZXItYmFja2dyb3VuZCkge1xyXG4gICAgICAgIEBpZiAoJGZvb3Rlci1iYWNrZ3JvdW5kLXRvcCkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIHNtYWxsKSArICgkZm9vdGVyLW1hcmdpbi10b3AgLyAyKSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IChtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIGxhcmdlKSArICRmb290ZXItbWFyZ2luLXRvcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogLSN7aWYoJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplLCAobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBzbWFsbCkgKyAkZm9vdGVyLWJhY2tncm91bmQtc2VwZXJhdG9yLXNpemUpLCBtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIHNtYWxsKSl9O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLXVybCwgc21hbGwpKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRmb290ZXItYmFja2dyb3VuZC1oZWlnaHQsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IC0je2lmKCRmb290ZXItYmFja2dyb3VuZC1zZXBlcmF0b3Itc2l6ZSwgKG1hcC1nZXQoJGZvb3Rlci1iYWNrZ3JvdW5kLWhlaWdodCwgbGFyZ2UpICsgJGZvb3Rlci1iYWNrZ3JvdW5kLXNlcGVyYXRvci1zaXplKSwgbWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtaGVpZ2h0LCBsYXJnZSkpfTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkZm9vdGVyLWJhY2tncm91bmQtdXJsLCBsYXJnZSkpXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgLy8gVE9ETzogVEJDLlxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZvb3Rlck91dGVyQ29udGFpbmVyLCAuZm9vdGVyLWJhY2tncm91bmQge1xyXG4gICAgQGlmIG5vdCAoJGZvb3Rlci1iYWNrZ3JvdW5kIGFuZCAkZm9vdGVyLWJhY2tncm91bmQtdG9wKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogJGZvb3Rlci1iYWNrZ3JvdW5kLW1hcmdpbi10b3A7XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXBhZGRpbmcpO1xyXG4gICAgQGlmICRmb290ZXItZ3JhZGlhbnQge1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICRmb290ZXItZ3JhZGlhbnQ7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLW91dGVyLWNvbnRhaW5lci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRmb290ZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICAjZm9vdGVyLWlubmVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGlmICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItYm90dG9tIG9yICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItdG9wIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW46ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLWlubmVyLWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogI3tpZigkZm9vdGVyLWxpc3QtcmV2ZXJzZS1vcmRlciwgXCJyb3ctcmV2ZXJzZVwiLCBcInJvd1wiKX07XHJcbiAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGZvb3Rlci1pbm5lci1jb250YWluZXItcGFkZGluZykpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItaW5uZXItY29udGFpbmVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLWJvdHRvbSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3Itd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRmb290ZXItY29udGVudC1zZXBlcmF0b3ItaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLXNlcnBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAkZm9vdGVyLWNvbnRlbnQtc2VwZXJhdG9yLXRvcCB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJGZvb3Rlci1jb250ZW50LXNlcGVyYXRvci1oZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItc2VycGVyYXRvci1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBBSkFYIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gQUpBWCBTcGlubmVyXHJcbi0gQ2FsbGJhY2sgY29udGFpbmVyc1xyXG4tIFVwZGF0ZSBDb250ZW50IC0gQmFzaWNhbGx5IGEgY29udGFpbmVyIGluc2lkZSBvZiB0aGUgYWpheCByZXNwb25zZSB0aGF0IGFsbG93cyB5b3UgdG8gdXBkYXRlIGNvbnRlbnQgb3V0c2lkZSBvZiB0aGUgY2FsbGJhY2sgY29udGFpbmVyLlxyXG4qL1xyXG5cclxuXHJcbi8vLS0tLS0gQUpBWCBibG9jayAtLS0tLVxyXG4uY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBBZGQgZmxleC1ncm93IGZvciBhamF4J2QgaW4gZm9ybSBpbiBhIG1vZGFsLlxyXG4gICAgZmxleC1ncm93OiAxO1xyXG4gICAgLy8gSU1QT1JUQU5UOiBEb250IGFkZCB6LWluZGV4IHByb3BlcnR5IGFzIHRoaXMgY2xhc3MgZ2V0cyB1c2VkIGFsbCBvdmVyIHRoZSBzaG9wIGFuZCB3aWxsIGNhdXNlIG92ZXJsYXBwaW5nIGlzc3VlcyB3aXRoIG90aGVyIGNvbnRlbnQgKCBpLmUgcHJvZHVjdCBsaXN0cyBxdWFudGl0eSBkcm9wIGRvd25zICkuXHJcbiAgICAvLyBBZGRpbmcgei1pbmRleCBhamF4IG1vZGFscyB0byBtYWtlIHN1cmUgdGhleSBvdmVybGFwIGFsbCBwYWdlIGNvbnRlbnQuXHJcbiAgICAvLyB6LWluZGV4OiAxOTk5O1xyXG4gICAgJjpoYXMoLkFKQVhCbG9jaykge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6ICRjb250ZW50LWluaXRpYWxpc2luZy1zcGlubmVyLXNpemU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYWxsYmFja0xpc3RDb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcbi8vLS0tIFNwaW5uZXIgLS0tXHJcblxyXG4uQUpBWEJsb2NrLCAuaW5pdGlhbGlzaW5nLWNvbnRlbnQtYmxvY2tlci1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdWktYmxvY2stYmFja2dyb3VuZDtcclxuICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgIHotaW5kZXg6IDEwMDAwO1xyXG4gICAgLnNwaW5uZXIge1xyXG4gICAgICAgIHdpZHRoOiAkY29udGVudC1pbml0aWFsaXNpbmctc3Bpbm5lci1zaXplO1xyXG4gICAgICAgIGhlaWdodDogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItc2l6ZTtcclxuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLy8gdG9wOiAwO1xyXG4gICAgICAgIC8vIGJvdHRvbTogMDtcclxuICAgICAgICAvLyByaWdodDogMDtcclxuICAgICAgICAvLyBsZWZ0OiAwO1xyXG4gICAgICAgIC8vIG1hcmdpbjogYXV0bztcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNvbnRlbnQtbG9hZGluZy1zcGlubmVyKCRhamF4LXNwaW5uZXItY29sb3VyKTtcclxuICAgICAgICAmICsgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLSBVcGRhdGUgY29udGVudCAtLS0tLSBcclxuW2RhdGEtdXBkYXRlLWNvbnRlbnRdLCBbZGF0YS1hamF4LXVwZGF0ZS1icmVhZGNydW1ic10ge1xyXG4gICAgLy8gVGhpcyBzaG91bGQgYWx3YXlzIGJlIHNldCB0byBkaXNwbGF5IG5vbmUgdG8gcHJldmVudCB0aGUgbmV3IGNvbnRlbnQgZmxhc2hpbmcgaW5mcm9udCB0aGUgb2YgdGhlIHVzZXIgYmVmb3JlIGl0IGlzIG1vdmVkIGludG8gcGxhY2UuXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59IiwiLypcclxuLS0tLS0gRmlsdGVycyAtLS0tLS0gXHJcbi0gVGhlc2UgYSB0eXBpY2FsbHkgb24gbGlzdCBwYWdlcyBmb3IgcHJvZHVjdHMuXHJcbi0gQXR0cmlidXRlIGZpbHRlcnMgdGhhdCBhbHNvIGluY2x1ZGUgY29sb3VyIGZpbHRlcnMgYW5kIHByaWNlIHNsaWRlci5cclxuLSBZb3Ugd2lsbCBhbHNvIGZpbmQgdGhlIG1vYmlsZSBzdHlsZXMgaGVyZSBmb3IgZmlsdGVycy5cclxuKi9cclxuXHJcblxyXG4vLyBUT0RPOiBUaGlzIG5lZWRzIHRvIGJlIHJlZmFjdG9yZWQgaW50byB0aGUgdmFyaWFibGVzLnNjc3MuXHJcbiRmaWx0ZXJEZXNrdG9wV2lkdGg6IDE4NXB4O1xyXG4kYXR0cmlidXRlQXBwbGllZExpbmtXZWlnaHQ6IDQwMDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nUGFkZGluZzogMTBweCAwO1xyXG4kYXR0cmlidXRlQXBwbGllZEhlYWRpbmdDb2xvdXI6ICRjb2xvdXI0O1xyXG4kYXR0cmlidXRlQXBwbGllZEhlYWRpbmdCYWNrZ3JvdW5kOiAkY29sb3VyMDtcclxuJGF0dHJpYnV0ZUFwcGxpZWRIZWFkaW5nV2VpZ2h0OiA2MDA7XHJcbiRhdHRyaWJ1dGVBcHBsaWVkQW5jaG9yQ29sb3VyOiAkY29sb3VyMjtcclxuJGF0dHJpYnV0ZUFwcGxpZWRBbmNob3JDb2xvdXJIb3ZlcjogJGNvbG91cjQ7XHJcbiRvcHRpb25IZWFkaW5nQ29sb3VyOiAkY29sb3VyNDtcclxuLy8gJGF0dHJpYnV0ZUNvbG91clByZXZpZXdQb3NpdGlvblRvcDogMDtcclxuLy8gJGF0dHJpYnV0ZUNvbG91clByZXZpZXdQb3NpdGlvblJpZ2h0OiAxMHB4O1xyXG4kYXR0cmlidXRlQ29sb3VyUHJldmlld0JvcmRlclJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcbiRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3RGltZW50aW9uczogMTBweDtcclxuJGF0dHJpYnV0ZUZpbHRlcldpZHRoOiA4MHB4O1xyXG4kYXR0cmlidXRlT3B0aW9uUGFkZGluZzogMTBweCAwO1xyXG5cclxuXHJcbiNtb2JpbGVUb2dnbGVDb250YWluZXIge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdC8vIG1hcmdpbjogMCAwIDE1cHg7XHJcblx0dWwge1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0fVxyXG59ICBcclxuXHJcbi8vIElNUE9SVEFOVDogVGhpcyB3YXMgYnVpbGQgc3BlY2lmaWNhbGx5IGluIHRoZSBjb250ZXh0IG9mIHByb2R1Y3QtbGlzdCdzIHdoaWNoIG9ubHkgZ290IHNob3duIGluIG1vYmlsZSBhbmQgd2FzIGxhdGVyIFwiYWRhcHRlZFwiIHRvIGZpdCBpbnRvIHRoZSBkZXNrdG9wIHZpZXcgaW4gdGhlIHNvcnRpbmcgb3B0aW9ucyBiYXIuXHJcbiNmaWx0ZXJzLXRvZ2dsZSwgLmZpbHRlci10b2dnbGUge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRwYWRkaW5nOiAyMHB4IDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWJhY2tncm91bmQtY29sb3VyLCB1bi1zdHVjayk7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdGNvbG9yOiBtYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtY29sb3VyLCB1bi1zdHVjayk7XHJcblx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtZm9udC13ZWlnaHQ7XHJcblx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWZvbnQtc2l6ZSk7XHJcblx0Zm9udC1mYW1pbHk6IGdldC10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5KCk7XHJcblx0QGlmICgkZmlsdGVycy10b2dnbGUtbGV0dGVyLXNwYWNpbmcpIHtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAkZmlsdGVycy10b2dnbGUtbGV0dGVyLXNwYWNpbmc7XHJcblx0fVxyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcblx0fVxyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHR3aWR0aDogZml0LWNvbnRlbnQ7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuXHRcdGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRjb2xvdXI2O1xyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHRcdFx0dHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyNDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdCY6bm90KC5pcy1zdHVjaykge1xyXG5cdFx0Ly8gT3ZlcnJpZGUgdGhlIHN0aWNreSBwb3NpdGlvbmluZyB3aGVuIG5vdCBzdHVjayAjODExMTM3LlxyXG5cdFx0dG9wOiBhdXRvICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdCYuaXMtc3R1Y2sge1xyXG5cdFx0Ly8gT3ZlcnJpZGUgdGhlIHN0aWNreSBwb3NpdGlvbmluZyB3aGVuIG5vdCBzdHVjayAjODExMTM3LlxyXG5cdFx0bWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cGFkZGluZzogMTBweCAwO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWJhY2tncm91bmQtY29sb3VyLCBzdHVjayk7XHJcblx0XHRjb2xvcjogbWFwLWdldCgkZmlsdGVycy1tb2JpbGUtdG9nZ2xlLWNvbG91ciwgc3R1Y2spO1xyXG5cdFx0Ym94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcblx0XHR0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDRzO1xyXG5cdFx0ei1pbmRleDogMTAwMDtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29sb3I6IG1hcC1nZXQoJGZpbHRlcnMtbW9iaWxlLXRvZ2dsZS1jb2xvdXIsIHN0dWNrKTtcclxuXHRcdH1cclxuXHR9XHJcblx0JjpiZWZvcmUge1xyXG5cdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZmlsdGVyKTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1maWx0ZXItaWNvbik7XHJcblx0XHRmb250LXNpemU6IDE2cHg7XHJcblx0XHRjb2xvcjptYXAtZ2V0KCRmaWx0ZXJzLW1vYmlsZS10b2dnbGUtY29sb3VyLCB1bi1zdHVjayk7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTVweDsgLy8gZGVzY3JlYXNpbmcgc2l6ZSBhcyB0aGlzIHdhcyBrbm9ja2luZyBvdGhlciBzb3J0aW5nIG9wdGlvbidzIHRleHQgb3V0IG9mIGFsaWdubWVudC5cclxuXHRcdH1cclxuXHR9XHJcblx0Jjpob3ZlciB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxuXHQuYWN0aXZlLWZpbHRlci1jb3VudCB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDNweDtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0JGFjdGl2ZS1maWx0ZXItY291bnQtYnViYmxlLXNpemU6IDE1cHg7XHJcblx0XHRcdHdpZHRoOiAkYWN0aXZlLWZpbHRlci1jb3VudC1idWJibGUtc2l6ZTtcclxuXHRcdFx0aGVpZ2h0OiAkYWN0aXZlLWZpbHRlci1jb3VudC1idWJibGUtc2l6ZTtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDEycHg7XHJcblx0XHRcdGxlZnQ6IDEycHg7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuXHRcdFx0Y29sb3I6ICRjb2xvdXIxO1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDkpO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogKCRhY3RpdmUtZmlsdGVyLWNvdW50LWJ1YmJsZS1zaXplIC0gLjgpOyAvLyBTdWJ0cmFjayB0aGUgYm9yZGVyLlxyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG5cdFx0XHRib3JkZXI6IC44cHggc29saWQgJGNvbG91cjE7XHJcblx0XHR9XHJcblx0XHRcclxuXHR9XHJcbn1cclxuXHJcbi5maWx0ZXJzLWhlYWRlciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRmaWx0ZXJzLWhlYWRpbmctbW9iaWxlLWJhY2tncm91bmQtY29sb3I7XHJcblx0QGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG5cdH1cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuXHR9XHJcblx0LmNsb3NlLWJ1dHRvbiB7XHJcblx0XHRAaW5jbHVkZSBjbG9zZUJ1dHRvbigkaWNvbi1zaXplLCByZ2JhKCRjb2xvdXI0LCAwLjgpKTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGJvdHRvbTogMDtcclxuXHR9XHJcbn1cclxuLmZpbHRlcnMtZm9vdGVyIHtcclxuXHQvLyBPbmx5IHNob3cgZm9yIG1vYmlsZSBkdWUgdG8gcG9wdXAuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblx0LmJ1dHRvbi1jb250YWluZXIge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0XHRidXR0b24ge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdFx0XHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiNmaWx0ZXJCYWNrVG9MaXN0IHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0LmNsb3NlLWJ1dHRvbiB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogYXV0bztcclxuXHRcdHJpZ2h0OiBhdXRvO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXI0LCAwLjQpO1xyXG5cdFx0Y29sb3I6ICRjb2xvdXIyO1xyXG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7IFxyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcblx0fVxyXG59XHJcbi5hdHRyaWJ1dGVMaXN0Lm1lbnUge1xyXG4gICAgLy9JZiB0aGUgb3ZlcmZsb3cgc2Nyb2xsIGZ1bmN0aW9uIGhhcyBiZWVuIGFjdGl2ZSBhbmQgdGhlIHBhcmVudCBsaSBpcyBub3QgYWN0aXZlIGZvcmNlIHRoZSBhdHRyaWJ1dGUgdG8gY2xvc2UuXHJcbiAgICA+IHVsID4gbGk6bm90KC5hY3RpdmUpIHtcclxuICAgICAgICAuYXR0cmlidXRlc0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICB9XHJcblx0fVxyXG5cdD4gbGkge1xyXG5cdFx0bWFyZ2luOiAkZmlsdGVycy1vcHRpb24tbW9iaWxlLW1hcmdpbjtcclxuXHRcdHBhZGRpbmc6IDAgMCAxNXB4OyBcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZmlsdGVycy1hdHRyaWJ1dGUtc2VwZXJhdG9yLWNvbG91cjtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0bWFyZ2luOiAwIDAgJGZpbHRlcnMtb3B0aW9uLWRlc2t0b3AtbWFyZ2luO1xyXG5cdFx0fVxyXG5cdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAxNXB4O1xyXG5cdFx0fVxyXG5cdFx0bGkge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuICAgIHVsIHtcclxuXHRcdC8vIHBhZGRpbmc6IDE1cHggMDtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0XHRsaSB7IFxyXG5cdFx0XHRwYWRkaW5nOiA1cHggMDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsdGVycy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgICAgICBsaS5hY3RpdmUge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyMjtcclxuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuXHRcdFx0fVxyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgLy8gbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgLy8gbWluLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlck5hbWUsIC5maWx0ZXJJdGVtQ291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH0gICBcclxuICAgICAgICAgICAgICAgICAgICAuY29sb3VyUHJldmlldyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogKCRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3RGltZW50aW9ucyAqIDEuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogKCRhdHRyaWJ1dGVDb2xvdXJQcmV2aWV3RGltZW50aW9ucyAqIDEuMik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHRcdH1cclxuXHRcdGxhYmVsIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcblx0XHRcdGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmlsdGVycy1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdGNvbG9yOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0XHRjb2xvcjogYWN0aXZlLWNvbG91cigkZmlsdGVycy1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC5maWx0ZXJOYW1lIHtcclxuXHRcdFx0b3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcclxuXHRcdH1cclxuXHRcdC5jb2xvdXItcHJldmlldy1jb250YWluZXIge1xyXG5cdFx0XHRmbGV4LWdyb3c6IDE7XHJcblx0XHRcdG9yZGVyOiAzO1xyXG5cdFx0fVxyXG5cdFx0LmNvbG91clByZXZpZXcge1xyXG5cdFx0XHR3aWR0aDogJGZpbHRlcnMtY29sb3VyLXByZXZpZXctd2lkdGg7XHJcblx0XHRcdGhlaWdodDogJGZpbHRlcnMtY29sb3VyLXByZXZpZXctaGVpZ2h0O1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwIDEwcHggMCBhdXRvO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAkZmlsdGVycy1jb2xvdXItcHJldmlldy1ib3JkZXItcmFkaXVzO1xyXG5cdFx0XHRib3JkZXI6ICRmaWx0ZXJzLWNvbG91ci1wcmV2aWV3LWJvcmRlcjtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdFx0LmZpbHRlckl0ZW1Db3VudCB7XHJcblx0XHRcdC8vIG1heC13aWR0aDogMjVweDtcclxuXHRcdFx0Ly8gd2lkdGg6IDEwMCU7XHJcblx0XHRcdG9yZGVyOiAyO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAwIDVweDtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcblx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0fVxyXG5cdFx0LmNvbnRyb2wgLmNoZWNrYm94IHtcclxuXHRcdFx0Ly8gQWRkIG1hcmdpbiByaWdodCB0byBsaW5lIHVwIHdpdGggbWVudSBjaGV2cm9ucy5cclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdFx0b3JkZXI6IDQ7XHJcblx0XHRcdHNwYW4ge1xyXG5cdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG4gICAgfVxyXG5cdC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQuaXMtc3VibWVudS1pdGVtIHtcclxuXHRcdCZbYXJpYS1leHBhbmRlZD10cnVlXSB7XHJcblx0XHRcdD4gYSB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xyXG5cdFx0Ly8gaGVpZ2h0OiAxMDAlO1xyXG5cdFx0Ly8gdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHQmW2FyaWEtaGlkZGVuPXRydWVdIHtcclxuXHRcdFx0aGVpZ2h0OiAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdH1cclxuXHRcdCYuc2Nyb2xsZXIge1xyXG5cdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdFx0XHRwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG5cdFx0XHQvLyB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHRcdHVsIHtcclxuXHRcdFx0XHQvL0lmIHRoZSBzY3JvbGwgY2xhc3MgaXMgYXBwbGllZCB0aGVuIGZvcmNlIHRoZSBzdWIgbWVudSB0byBkaXNwbGF5LlxyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHQub3B0aW9uSGVhZGluZyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRwYWRkaW5nOiAkZmlsdGVycy1vcHRpb24tcGFkZGluZztcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDEwcHg7XHJcblx0XHRjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctY29sb3VyKTtcclxuXHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtb3B0aW9uLWhlYWRpbmctZm9udC1zaXplKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy1vcHRpb24taGVhZGluZy1mb250LXdlaWdodDtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogaG92ZXItY29sb3VyKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91cik7XHJcblx0XHR9XHJcblx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdGNvbG9yOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLW9wdGlvbi1oZWFkaW5nLWNvbG91cik7XHJcblx0XHR9XHJcblx0XHRzcGFuIHtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQuc3VibWVudSB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHQuc2hvd01vcmVBdHRyaWJ1dGVzLCAuc2hvd0xlc3NBdHRyaWJ1dGVzIHtcclxuXHRcdCYgPiBhIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0Z2FwOiAwIDEwcHg7XHJcblx0XHRcdGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy10b2dnbGUtYXR0cmlidXRlcy1mb250LXdlaWdodDtcclxuXHRcdFx0Zm9udC1zdHlsZTogJGZpbHRlcnMtdG9nZ2xlLWF0dHJpYnV0ZXMtZm9udC1zdHlsZTtcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0Y29sb3I6IGhvdmVyLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRcdH1cclxuXHRcdFx0JjphY3RpdmUge1xyXG5cdFx0XHRcdGNvbG9yOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4uc2hvd01vcmVBdHRyaWJ1dGVzLmFjdGl2ZSB7XHJcblx0YSB7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLXJldmVhbC1hdHRyaWJ1dGVzLWZvbnQtc2l6ZSk7XHJcblx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiAkZmlsdGVycy1yZXZlYWwtYXR0cmlidXRlcy1ob3Zlci1jb2xvdXI7XHJcblx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbi5hY2NvcmRpb24tbWVudSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgLnNob3dMZXNzQXR0cmlidXRlcyBhIHtcclxuXHRwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4uc2hvd0xlc3NBdHRyaWJ1dGVzIHtcclxuXHRhIHtcclxuXHRcdGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWNvbG91cik7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcblx0XHRcdGNvbG9yOiBkZWZhdWx0LWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWljb24tY29sb3VyKTtcclxuXHRcdFx0Zm9udC1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0fVxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiBob3Zlci1jb2xvdXIoJGZpbHRlcnMtdG9nZ2xlLW1vcmUtYXR0cmlidXRlcy1jb2xvdXIpO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29sb3I6IGhvdmVyLWNvbG91cigkZmlsdGVycy10b2dnbGUtbW9yZS1hdHRyaWJ1dGVzLWljb24tY29sb3VyKTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdGNvbG9yOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtY29sb3VyKTtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbG9yOiBhY3RpdmUtY29sb3VyKCRmaWx0ZXJzLXRvZ2dsZS1tb3JlLWF0dHJpYnV0ZXMtaWNvbi1jb2xvdXIpO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0XHJcbn1cclxuXHRcclxuI2ZpbHRlcnMtY29udGFpbmVyIHtcclxuXHQvLyBoZWlnaHQ6IDEwMCU7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbiNhdHRyaWJ1dGUtZmlsdGVycy1mb3JtIHtcclxuXHR3aWR0aDogMDtcclxuXHRoZWlnaHQ6IDA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsdGVycy1tb2JpbGUtYmFja2dyb3VuZC1jb2xvdXI7XHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuXHRcdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cdH1cclxuXHQmLmFjdGl2ZSB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdFx0b3ZlcmZsb3cteTogc2Nyb2xsO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmLmFjdGl2ZS11cGRhdGluZyB7XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0I2ZpbHRlcnMtY29udGFpbmVyIHtcclxuXHRcdFx0XHRvcGFjaXR5OiAwLjM7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Ji5hY3RpdmUsICYuYWN0aXZlLXVwZGF0aW5nIHtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG5cdFx0XHR3aWR0aDogMTAwdnc7XHJcblx0XHRcdG1pbi1oZWlnaHQ6IDEwMCU7XHJcblx0XHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0XHRcclxuXHRcdFx0ei1pbmRleDogMTAwMDA7XHJcblx0XHRcdC5hdHRyaWJ1dGUtbGlzdC1jb250YWluZXIge1xyXG5cdFx0XHRcdGhlaWdodDogMTAwdmg7XHJcblx0XHRcdFx0b3ZlcmZsb3c6IHNjcm9sbDtcclxuXHRcdFx0fVxyXG5cdFx0fVx0XHJcblx0fVxyXG5cdGgyIHtcclxuXHRcdC8vbWFyZ2luOiA1cHggMCAzMHB4O1xyXG5cdFx0cGFkZGluZzogMTBweCA1cHg7XHJcblx0XHRjb2xvcjogJGZpbHRlcnMtaGVhZGluZy1jb2xvdXI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLWhlYWRpbmctZm9udC1zaXplKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiAkZmlsdGVycy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRwYWRkaW5nOiAwIDAgNXB4O1xyXG5cdFx0XHRib3JkZXItY29sb3I6ICRmaWx0ZXJzLWF0dHJpYnV0ZS1zZXBlcmF0b3ItY29sb3VyO1xyXG5cdFx0fVxyXG5cdH1cclxuXHR1bCBsaXtcclxuXHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0Ly8gT3ZlcnJpZGluZyBkZWZhdWx0IHN0eWxpbmcgZm9yIG1lbnVzLlxyXG5cdFx0JjphY3RpdmUsICY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdH1cclxuXHRcdCY6YWN0aXZlIGEge1xyXG5cdFx0XHRjb2xvcjogJGNvbG91cjMtNjtcclxuXHRcdH1cclxuXHR9XHJcblx0LnNob3dNb3JlQXR0cmlidXRlc0NvbnRhaW5lciB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRsaSB7XHJcblx0XHRcdC8vIE92ZXJyaWRlIGRlZmF1bHQgcmVzcG9uc2l2ZSBtZW51IHN0eWxpbmcuXHJcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuLy8gQXBwbGllZCBmaWx0ZXJzXHJcbiNhcHBsaWVkRmlsdGVycyB7XHJcblx0Ly8gbWFyZ2luOiAkZmlsdGVycy1vcHRpb24tbW9iaWxlLW1hcmdpbjtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHQvLyBtYXJnaW46ICRmaWx0ZXJzLW9wdGlvbi1kZXNrdG9wLW1hcmdpbjtcclxuXHRcdG1hcmdpbi1ib3R0b206IDM1cHg7XHJcblx0fVxyXG5cdGgzIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdHBhZGRpbmc6ICRhdHRyaWJ1dGVBcHBsaWVkSGVhZGluZ1BhZGRpbmc7XHJcblx0XHRjb2xvcjogJGZpbHRlcnMtaGVhZGluZy1jb2xvdXI7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYXR0cmlidXRlQXBwbGllZEhlYWRpbmdCYWNrZ3JvdW5kO1xyXG5cdFx0Zm9udC13ZWlnaHQ6ICRmaWx0ZXJzLWFwcGxpZWQtaGVhZGluZy1mb250LXdlaWdodDtcclxuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtYXBwbGllZC1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcblx0XHRmb250LXN0eWxlOiAkZmlsdGVycy1hcHBsaWVkLWhlYWRpbmctZm9udC1zdHlsZTtcclxuXHR9XHJcblx0dWwge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGZpbHRlcnMtYXR0cmlidXRlLXNlcGVyYXRvci1jb2xvdXI7XHJcblx0fVxyXG5cdGxpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbjogNXB4IDAgMDtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRhIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmlsdGVycy1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRjb2xvcjogJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1ob3Zlci1jb2xvdXI7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRhIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0cGFkZGluZzogNXB4IDAgNXB4IDA7XHJcblx0XHRjb2xvcjogJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1jb2xvdXI7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiAoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS13ZWlnaHQgLSAyMDApO1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICd4JztcclxuXHRcdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRcdGhlaWdodDogMTBweDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdHJpZ2h0OiA1cHg7XHJcblx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogYXV0bztcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDAuNjtcclxuXHRcdFx0Y29sb3I6ICRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtaWNvbi1jb2xvdXI7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiAoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS13ZWlnaHQgKyAxMDApO1xyXG5cdFx0XHRmb250LXN0eWxlOiBub3JtYWw7XHJcblx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS1mb250LXNpemUgKyAyKTtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcblx0XHR9XHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygkZmlsdGVycy1yZW1vdmUtYXR0cmlidXRlLWZvbnQtc2l6ZSArIDQpO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyNjtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCYuY2xlYXItYWxsLWF0dHJpYnV0ZXMge1xyXG5cdFx0XHRtYXJnaW46IDMwcHggMCAyMHB4O1xyXG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKCRmaWx0ZXJzLXJlbW92ZS1hdHRyaWJ1dGUtZm9udC1zaXplKTtcclxuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRmb250LXdlaWdodDogJGZpbHRlcnMtcmVtb3ZlLWF0dHJpYnV0ZS13ZWlnaHQ7XHJcblx0XHRcdGNvbG9yOiAkZmlsdGVycy1yZW1vdmUtYWxsLWNvbG91cjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIEdvdCB0byBjb25zdHJ1Y3QgdGhlIHNlbGVjdG9yIGluIHRoaXMgbWFub3IgZHVlIHRvIGZvdW5kYXRpb24ncyBzdHlsZXMuXHJcbmlucHV0LnByaWNlLXNsaWRlci1pbnB1dCB7XHJcblx0QGlmIHNtb290aC1lZGdlcygpIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcmljZS1zbGlkZXItaW5wdXQge1xyXG5cdG1heC13aWR0aDogJGZpbHRlcnMtcHMtaW5wdXQtd2lkdGg7XHJcblx0bWF4LWhlaWdodDogJGZpbHRlcnMtcHMtaW5wdXQtaGVpZ2h0O1xyXG5cdC8vIE92ZXJyaWRlIGRlZmF1bHQgcGFkZGluZy5cclxuXHRwYWRkaW5nOiAwIWltcG9ydGFudDtcclxuXHQvLyBPdmVycmlkaW5nIGRlZmF1bHQgbWFyZ2luIGZvciBjdXJyZW5jeSBvdXRwdXQuXHJcblx0Ym9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAwIWltcG9ydGFudDtcclxuXHQvLyBESVNBQkxJTkcgRlJFRSBURVhUIElOUFVUIFdJTEwgSU1QTEVNRU5UIElOIFBIQVNFIDIuXHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0Ji51aS1zdGF0ZS1hY3RpdmUge1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAkZmlsdGVycy1wcy1hY3RpdmUtY29sb3VyO1xyXG5cdFx0dHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcblx0fVxyXG5cdCYudWktc3RhdGUtYWN0aXZlICsgLmN1cnJlbmN5IHtcclxuXHRcdGJvcmRlci1jb2xvcjogJGZpbHRlcnMtcHMtYWN0aXZlLWNvbG91cjtcclxuXHRcdHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG5cdH1cclxuXHQvLyBTdHlsZSB0aGUgY3VycmVuY3kgc3ltYm9sLlxyXG5cdCYgKyAuY3VycmVuY3kge1xyXG5cdFx0aGVpZ2h0OiAkZmlsdGVycy1wcy1pbnB1dC1oZWlnaHQ7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDAgMCAwIDEwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuXHRcdGJvcmRlci1jb2xvcjogbWFwLWdldCgkaW5wdXQtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xyXG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHggMCAxcHggMXB4O1xyXG5cdFx0QGlmIHNtb290aC1lZGdlcygpIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgMCAwIHNtb290aC1lZGdlcygpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQmOmZvY3VzICsgLmN1cnJlbmN5IHtcclxuXHRcdGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcblx0XHRib3gtc2hhZG93OiAtMTVweCAtM3B4IDIwcHggNHB4IHJnYmEoMTIsIDEyLCAxMywgMC4xKTtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG5cdH1cclxuXHQmOnJlYWQtb25seSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcmljZS1pbnB1dC1jb250YWluZXIge1xyXG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdCY6bnRoLW9mLXR5cGUoMikge1xyXG5cdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdH1cclxufVxyXG5cclxuI3ByaWNlLXNsaWRlciB7XHJcblx0bWF4LXdpZHRoOiA5NiU7XHJcblx0bWFyZ2luLXRvcDogMjVweDtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRtYXgtd2lkdGg6IDkzJTtcclxuXHR9XHJcbn1cclxuI3ByaWNlQXR0SGlnaCB7XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG59IiwiLypcclxuLS0tLS0gTW9kYWxzIC0tLS0tLSBcclxuLSBUaGlzIGlzIHRoZSBtZWNoYW5pc20gdGhhdCBnZXRzIHVzZWQgZm9yIHBvcHVwIGNvbnRlbnQgaW4gZXhwcmVzcy5cclxuLSBDYW4gYmUgdXNlZCB0byBwb3AgZm9ybSwgY21zIGNvbnRlbnQsIG5vdGlmaWNhdGlvbiAmIHBheW1lbnQgZnJhbWVzLlxyXG4qL1xyXG5cclxuXHJcbkBtaXhpbiBwYXltZW50LWZyYW1lLWNvbnRlbnQtY29udGFpbmVyKCkge1xyXG4gICAgbWF4LXdpZHRoOiAkcGF5bWVudC1mcmFtZS1wb3B1cC1tYXgtd2lkdGg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLm1vZGFsLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5wb3B1cC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGhlIGFjdHVhbCBjb250ZW50LlxyXG4gICAgLmNvbnRlbnQge1xyXG4gICAgICAgIC8vIEZvcmNlIGNvbnRlbnQgdG8gdGFrZSB1cCBhdmFsaWJsZSBzcGFjZSBvdGhlcndpc2UgY29udGVudCBjb250YWluZXIgY2hhbmdlcyBzaXplIHdoZW4gZm9ybSB2YWxpZGF0aW9uIGlzIHRyaWdnZXJzLlxyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vZmxleC1zaHJpbms6IDE7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByb21wdC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWdlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDE1cHggYXV0byAzMHB4O1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgLy8gQWRkIGEgYml0IG9mIGJyZWF0aGluZyByb29tIGluIG1vYmlsZS5cclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgLy8gTWFrZSBzdXJlIG1vZGFsIGlzIGFib3ZlIGFsbCBjb250ZW50LlxyXG4gICAgICAgIHotaW5kZXg6ICRtb2RhbC1jb250ZW50LXotaW5kZXg7XHJcbiAgICAgICAgLnBvcHVwLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFqYXgge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gd2lkdGg6IGF1dG87IFxyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmRyb3BwZWQtc2Vzc2lvbiB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aCkgKyAxMDBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5jbXMtZW50cnktdmlld2VyIHtcclxuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2l0ZS1saXN0IHtcclxuICAgICAgICAmLnB1Ymxpc2gtaGlzdG9yeSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zaXRlLWluZm9ybWF0aW9uIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5kb2N1bWVudGF0aW9uIHtcclxuICAgICAgICAtLWNrLWNvbG9yLWJhc2UtYm9yZGVyOiAkY29sb3VyMztcclxuICAgICAgICAmLmVudHJ5LWVkaXRvciB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDk4JTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5tb2RhbC1oZWFkZXI6aGFzKC5jbXMtY29udGVudC1jb250YWluZXIpIH4gLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgLy8gS2VlcCBjb250ZW50IGlubGluZSBjbXMgY29udGVudC5cclxuICAgICAgICAgICAgICAgIEBpZiAoc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDIpID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAje3NwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAyKSAqIDJ9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3tzcGFjaW5nLXZhbHVlKCRtb2RhbC1oZWFkZXItY21zLW1hcmdpbiwgMiwgbGFyZ2UpICogMn0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5jay1lZGl0b3JfX21haW4gPiBkaXYge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB2YXIoLS1lZGl0b3ItaGVpZ2h0KVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5zZXJ0LWFydGljbGUsICYuaW5zZXJ0LCAmLnByb3BlcnR5LWVkaXRvciB7XHJcbiAgICAgICAgICAgIC5jay1lZGl0b3Ige1xyXG4gICAgICAgICAgICAgICAgLmNrLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMzB2aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAucmljaC10ZXh0LWVkaXRvci1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMzBweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5tZWRpYS1icm93c2VyIHtcclxuICAgICAgICAubWVkaWEtYnJvd3Nlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNvZnR3YXJlLWRvd25sb2FkIHtcclxuICAgICAgICAuc29mdHdhcmUtaW5zdHJ1Y3Rpb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICAgICAgICAgIC5yZXZpc2lvbi10ZXh0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDAgYXV0bztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDB2aDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgICAgICAgICAgIHAsIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBPdmVycmlkaW5nIGlubGluZSBzdHlsaW5nIHRvIHByZXZlbnQgaG9yaXpvbnRhbCBzY3JvbGwgYmFyIGFzIHRoaXMgc3BhY2luZyBpcyBoYW5kbGUgYnkgcGFkZGluZyBpbiBleHByZXNzLlxyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zb2Z0d2FyZS11cGRhdGUtYXZhaWxhYmxlLWRvd25sb2FkcyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5zb2Z0d2FyZS1kb3dubG9hZC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA2MHB4IDFmciAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyLCAuYnV0dG9uLWxhYmVsLCAuYnV0dG9uLWNvbnRlbnQtY29udGFpbmVyLCAuZGF0YS10aW1lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc29mdHdhcmUtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYnV0dG9uLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5idXR0b24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuZGF0YS10aW1lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzb2Z0d2FyZS1yZWxlYXNlLWRhdGUtdGltZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wYXltZW50LCAmLmFkZC1uZXctY2FyZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIgeyBcclxuICAgICAgICAgICAgQGluY2x1ZGUgcGF5bWVudC1mcmFtZS1jb250ZW50LWNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZGFsLWhlYWRlci1jbXMtbWFyZ2luLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmcmFtZSB7IFxyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkcGF5bWVudC1mcmFtZS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjIwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5lbnF1aXJ5LWZvcm0ge1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJG1vZGFsLWZvcm0tY29udGVudC1jb250YWluZXItbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbW9kYWwtZm9ybS1mb3JtLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJyYW5jaC1zd2l0Y2hlciwgJi5hY2NvdW50LXN3aXRjaGVyICB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4IDVweCAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggNTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBBbiBhdHRlbXB0IHRvIG1ha2UgdGhpcyBzbGlnaHRseSBtb3JlIHJlcHNvbnNpdmUuXHJcbiAgICAgICAgW2luamVjdC1jb250YWluZXJdIHtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgLy8gQWRkaW5nIGJvcmRlciB0byBvdXRsaW5lIHRoZSBzY3JvbGxhYmxlIGFyZWEuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIEFkZGluZyBmYWludCBpbnNldCBib3gtc2hhZG93IHRvIGF0dGVtcHQgdG8gc2hvdyBlZGl0YWJsZSBhcmVhIGR1ZSB0byBhY2Nlc3NpYmxpdHkgY29uY2VybnMuXHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwcHggMHB4IDE5cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC0tY29tbW9uLWJ1dHRvbi1zbWFsbC1tYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIC0tY29tbW9uLWJ1dHRvbi1tZWRpdW0tbWFyZ2luOiB2YXIoLS1jb21tb24tYnV0dG9uLXNtYWxsLW1hcmdpbik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI2JyYW5jaC1zd2l0Y2hlci1jb250YWluZXIsICNhY2NvdW50LXN3aXRjaGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgODBweCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jdXJyZW50LWJyYW5jaC1kZXRhaWxzLCAuYnJhbmNoLXN3aXRjaGVyLCAuY3VycmVudC1hY2NvdW50LWRldGFpbHMsIC5hY2NvdW50LXN3aXRjaGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkaGVhZGluZy0zLW1hcmdpbiwgMywgXCJwcmVzZXQtMlwiKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY3VycmVudC1icmFuY2gtZGV0YWlscywgLmN1cnJlbnQtYWNjb3VudC1kZXRhaWxzIHtcclxuICAgICAgICAgICAgLmFkZHJlc3MtbGluZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHggMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGJyYW5jaC1zZWxlY3Rvci1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdlaWdodDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICRicmFuY2gtc2VsZWN0b3ItbGFiZWwtd2lkdGg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skYnJhbmNoLXNlbGVjdG9yLWxhYmVsLXdpZHRofSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgJi5mb3JtIHtcclxuICAgICAgICAvLyBHZW5lcmFsaXNpbmcgdGhlc2Ugc3R5bGVzIHRvIGJlIHVzZWQgZm9yIGFsbCBmb3JtIG1vZGFscyBmb3IgY29uc2lzdGVuY3kuXHJcbiAgICAgICAgLy8gJi5zb2gtbm90aWZpY2F0aW9uIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogJG1vZGFsLWZvcm0tY29udGVudC1jb250YWluZXItbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogOTB2aDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtb2RhbC1mb3JtLWZvcm0tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkbW9kYWwtZm9ybS1mb3JtLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbW9kYWwtZm9ybS1mb3JtLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgICYudGFibGUge1xyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgd2lkdGg6Zml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5icmFuY2gtc3dpdGNoZXIsICYuYWNjb3VudC1zd2l0Y2hlciB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLm1hbmFnZS11c2VyLWJyYW5jaC1zZWxlY3RlciB7XHJcbiAgICAgICAgLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR1c2Vycy1wb3B1cC1oZWFkZXItdGV4dC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR1c2Vycy1wb3B1cC1oZWFkZXItdGV4dC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbWFwLWdldCgkdXNlcnMtcG9wdXAtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICR1c2Vycy1wb3B1cC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdXNlcnMtcG9wdXAtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxNTA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IG1hcC1nZXQoJHVzZXJzLXBvcHVwLWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI3VzZXJzLWJyYW5jaC1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkdXNlcnMtc2VhcmNoLW1heC13aWR0aDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDE1cHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNlbGVjdC1icmFuY2hlcy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICR1c2Vycy1wb3B1cC10YWJsZS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYmxlLWZvb3Rlci1zcGFjZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICR1c2Vycy1wb3B1cC10YWJsZS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmJyYW5jaC1zZWFyY2gge1xyXG4gICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICR1c2Vycy1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sLmNoZWNrYm94IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBGb3JjZSBjZW50ZXIgYWxpZ25tZW50IGR1ZSB0byBtaXhlZCBjb250ZW50IHNvIGJhc2VsaW5lIGlzIG5vdCBhbiBvcHRpb24gaGVyZS5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmLnF1aWNrLW9yZGVyLXNlYXJjaC1yZXN1bHRzIHtcclxuICAgICAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAgICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRib2R5LWNvcHktbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHggYXV0bztcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBbaW5qZWN0LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkYm9keS1jb3B5LW1heC13aWR0aDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ2NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuXHJcbiAgICAmLnNjYW5uZXIge1xyXG4gICAgICAgIC5tb2RhbC1oZWFkZXIge1xyXG4gICAgICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjQwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjkwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvL21heC1oZWlnaHQ6IDQ2NXB4O1xyXG4gICAgICAgIH0gIFxyXG4gICAgfVxyXG5cclxuICAgICYuY2FsbC1mb3JtIHtcclxuICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDExNTBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDk1JTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGJvZHktY29weS1tYXgtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnZpZGVvLXBsYXllciB7XHJcbiAgICAgICAgLm1vZGFsLWhlYWRlciAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICBAaWYgKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQgPT0gY2VudGVyKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQgPT0gY2VudGVyKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogOTV2dztcclxuICAgICAgICAgICAgW2luamVjdC1jb250YWluZXJdIHtcclxuICAgICAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5O1xyXG4gICAgICAgICAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAkbW9kYWwtY2xvc2UtYnV0dG9uLXBvc2l0aW9uLXJpZ2h0OiAyMHB4O1xyXG4gICAgLm1vZGFsLWhlYWRlciB7XHJcbiAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgJGhlYWRpbmctY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXIxLCAkbW9kYWwtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAubW9kYWwtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIC8vIFdvcmsgb3V0IHNwYWNlIHJlcXVpcmVkIGZvciBjbG9zZS1idXR0b24gdG8gbWFrZSBzdXJlIHRleHQgZG9lc24ndCBnbyB1bmRlci5cclxuICAgICAgICAgICAgJGNsb3NlLWJ1dHRvbi1zaXplOiAoJG1vZGFsLWNsb3NlLWJ1dHRvbi1wb3NpdGlvbi1yaWdodCArICRpY29uLXNpemUpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAjeyRjbG9zZS1idXR0b24tc2l6ZX07XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC1oZWFkZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNnB4ICN7JGNsb3NlLWJ1dHRvbi1zaXplfTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtb2RhbC1oZWFkZXItaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG1vZGFsLWhlYWRlci1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBAaWYgKCRtb2RhbC1oZWFkZXItaGVhZGluZy1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRtb2RhbC1oZWFkZXItaGVhZGluZy1sZXR0ZXItc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbW9kYWwtaGVhZGVyLWNtcy1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4sIDMsIHNtYWxsKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbW9kYWwtaGVhZGVyLWNtcy1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZGlzYWJsZWQtbm8tY29udGVudCwgJjplbXB0eSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXIxLCAkbW9kYWwtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFjdC1jaGVja2VyKCRjb2xvdXI2LCAkbW9kYWwtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigkaWNvbi1zaXplLCAkZGVmYXVsdC1jb2xvdXIsICRob3Zlci1jb2xvdXIpO1xyXG4gICAgICAgIHRvcDogI3soJG1vZGFsLWhlYWRlci1oZWFkaW5nLWZvbnQtc2l6ZSAvIDIpfXB4OyAvLyBUcnlpbmcgdG8gYmUgY2xldmVyIHRoZSBmb250LXNpemUgY2hhbmdlcyBmcm9tIHNpdGUgdG8gc2l0ZS5cclxuICAgICAgICByaWdodDogJG1vZGFsLWNsb3NlLWJ1dHRvbi1wb3NpdGlvbi1yaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRvcDogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ29uZmlybWF0aW9uIG1vZGFscyAoIFN1Y2Nlc3MsIFdhcm5pbmcgJiBBbGVydCApXHJcbiAgICAmLmNvbmZpcm1hdGlvbiB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTUwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICgkbm90aWZpY2F0aW9uLXByb21wdC1wYWRkaW5nIC8gMyk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRub3RpZmljYXRpb24tcHJvbXB0LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQmVjYXVzZSB3ZSdyZSBvbmx5IHNob3dpbmcgYSBtZXNzYWdlIGFuZCB0aGF0cyB0aGUgZW50aXJlIHB1cnBvc2Ugb2YgdGhpc2UgbW9kYWwgdGVsbCBpdCB0byB0YWtlIHVwIHRoZSBlbnRpcmUgd2lkdGguXHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUT0RPOiBUZW1wIGZpeCB1bnRpbCBkeW5hbWljIHJlcGxhY2VzIHRoZSBjbGFzcyAuY29udGVudCAgd2l0aCAubWVzc2FnZS5cclxuICAgICAgICAmOm5vdCguYWpheCkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzVweCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRvbi1wYWdlLW5vdGlmaWNhdGlvbi10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBwIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLm1lc3NhZ2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDMwcHggYXV0byA1MHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG9uLXBhZ2Utbm90aWZpY2F0aW9uLXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBwIHsgXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG8gMTBweCBhdXRvIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRjYW5jZWwtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1jb2xvdXIsICRjYW5jZWwtYnV0dG9uLWJvcmRlci1jb2xvdXIsIFwiXCIsIDcwMCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIC8vIFRPRE86IFRlbXAgZml4IHVudGlsIGR5bmFtaWMgcmVwbGFjZXMgdGhlIGNsYXNzIC5jb250ZW50ICB3aXRoIC5tZXNzYWdlLlxyXG4gICAgICAgICY6bm90KC5hamF4KSB7XHJcbiAgICAgICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGFsZXJ0LWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGFsZXJ0LWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnByb21wdC1wcm9jZWVkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRhbGVydC1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRhbGVydC1idXR0b24tY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCkpLFwiXCIsNzAwLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgfSAgIFxyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICAvLyBUT0RPOiBUZW1wIGZpeCB1bnRpbCBkeW5hbWljIHJlcGxhY2VzIHRoZSBjbGFzcyAuY29udGVudCAgd2l0aCAubWVzc2FnZS5cclxuICAgICAgICAmOm5vdCguYWpheCkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB3YXJuaW5nLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHdhcm5pbmctY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJGFsZXJ0LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGFsZXJ0LWJ1dHRvbi1jb2xvdXIsIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKSksXCJcIiw3MDAsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiAyMzBweCksIChzbWFsbDogMTBweCAwLCBsYXJnZTogIDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgIC8vIFRoaXMgaXMgbGlrZSBhIGhhbGYgd2F5IGJldHdlZW4gc3VjY2VzcyBhbmQgd2FybmluZy5cclxuICAgICYuYWN0aW9uLXJlcXVpcmVkIHtcclxuICAgICAgICAvLyBUT0RPOiBUZW1wIGZpeCB1bnRpbCBkeW5hbWljIHJlcGxhY2VzIHRoZSBjbGFzcyAuY29udGVudCAgd2l0aCAubWVzc2FnZS5cclxuICAgICAgICAmOm5vdCguYWpheCkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB3YXJuaW5nLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHdhcm5pbmctY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjQsIGhvdmVyOiAkY29sb3VyMSksIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICAmOm5vdCguYWpheCkge1xyXG4gICAgICAgICAgICAuY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzdWNjZXNzLWNtcy1jb250YWluZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubWVzc2FnZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHN1Y2Nlc3MtY21zLWNvbnRhaW5lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvbXB0LXByb2NlZWQtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDIwcHggMTBweCwgJHN1Y2Nlc3MtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAoZGVmYXVsdDogJGNvbG91cjQsIGhvdmVyOiAkY29sb3VyMSksIChkZWZhdWx0OiAkY29sb3VyMy0xLCBob3ZlcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApKSxcIlwiLDcwMCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IDIzMHB4KSwgKHNtYWxsOiAxMHB4IDAsIGxhcmdlOiAwIDQ1cHggMjBweCkpXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBEZW1vIHBvcHVwLlxyXG4gICAgJi5kZW1vIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDExNXB4IDEzNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0OyAvLyBDaGFuZ2luZyB0byBwcmltYXJ5IGJhc2UgYXMgYmFyZWx5IGFueSBlbGVtZW50cyB3YXMgdXNpbmcgNC03LCB0cnlpbmcgdG8gc2ltcGxpZnkgdGhlIHVzZSBvZiBleHByZXNzJ3MgY29sb3VyIHBhbGxldGUuXHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdHJvbmcge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg4NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2RhbC1sb2dvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEzNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEzNXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuaW1hZ2Utc2xvdC0xIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtaWNvbik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA3MHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZS1zbG90LTIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhbik7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzNXB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtY2FuY2VsLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgyMHB4IDEwcHgsICRzdWNjZXNzLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgKGRlZmF1bHQ6ICRjb2xvdXI0LCBob3ZlcjogJGNvbG91cjEpLCAoZGVmYXVsdDogJGNvbG91cjMtMSwgaG92ZXI6IG1hcC1nZXQoJHN1Y2Nlc3MtY29sb3VyLCAwKSksXCJcIiw3MDAsICh3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcm9tcHQtcHJvY2VlZC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMjBweCAxMHB4LCAkY2FuY2VsLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGNhbmNlbC1idXR0b24tY29sb3VyLCAkY2FuY2VsLWJ1dHRvbi1ib3JkZXItY29sb3VyLCBcIlwiLCA3MDAsICh3aWR0aDogMjMwcHgpLCAoc21hbGw6IDEwcHggMCwgbGFyZ2U6IDAgNDVweCAyMHB4KSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBNb2RhbCBJbmZvcm1haXRvbiAtLS0tLSBcclxuLm1vZGFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vIEtlZXAgY29uc2lzdGVudCB3aXRoIGZvcm1zLlxyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbW9kYWwtZm9ybS1mb3JtLW1hcmdpbik7XHJcbiAgICBib3JkZXI6ICRmb3Jtcy1zaW5nbGUtY29sdW1uLWJvcmRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtb2RhbC1mb3JtLWZvcm0tbWFyZ2luKTtcclxuICAgIH1cclxuICAgIC8vIFRyeSBhbmQga2VlcCBjb25zaXN0ZW50IHdpdGggZmllbGRzZXRzLlxyXG4gICAgLmluZm9ybWF0aW9uLXNlY3Rpb24ge1xyXG4gICAgICAgIC8vIER1ZSB0byB0aGVzZSBjb250YWluZXJzIGhhdmUgc3RyaW5ncyB0aGF0IGFyZSBub3QgbG9uZyBmb3JjaW5nIHdpZHRoIHRvIGJlIDgwdncuXHJcbiAgICAgICAgbWluLXdpZHRoOiA4MHZ3O1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRmaWVsZC13aWR0aCwgbW9iaWxlKTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZmllbGQtc2V0LXBhZGRpbmcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBkZXNrdG9wKTtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGZpZWxkLXNldC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRoZWFkaW5nLTItcGFkZGluZywgcHJlc2V0LTQpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGZpZWxkc2V0LWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZmllbGRzZXQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRmaWVsZHNldC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmaWVsZHNldC1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRmaWVsZHNldC1oZWFkaW5nLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KTtcclxuICAgICAgICAgICAgQGlmICgkZmllbGRzZXQtaGVhZGluZy1ib3JkZXItYm90dG9tKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBSZS1hZGp1c3RpbmcgdGhlIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgYSBydWxlLlxyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRmaWVsZHNldC1oZWFkaW5nLWJvcmRlci1ib3R0b207XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRoZWFkaW5nLTItdGV4dC10cmFuc2Zvcm0sIHByZXNldC00KSA9PSBcInVwcGVyY2FzZVwiKSB7XHJcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogbWFwLWdldCgkaGVhZGluZy0yLWxldHRlci1zcGFjaW5nLCBwcmVzZXQtNCk7XHJcbiAgICAgICAgICAgICAgICB3b3JkLXNwYWNpbmc6IDJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEtlZXAgY29uc2lzdGVudCB3aXRoIGZvcm0gZmllbGRzLlxyXG4gICAgLmluZm9ybWF0aW9uLW9wdGlvbiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZpZWxkLWxhYmVsLW1hcmdpbik7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGZvcm1zLXNpbmdsZS1jb2x1bW4tZmllbGQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJGZpZWxkLWxhYmVsLW1hcmdpbik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb3Jtcy1zaW5nbGUtY29sdW1uLWZpZWxkLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRmaWVsZHNldC1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGZpZWxkLWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkZmllbGRzZXQtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBJbmplY3RlZCBjb250ZW50IC0tLS0tXHJcbi8vLyBUaGUgY29udGFpbmVyIG9mIHRoZSBjb250ZW50LiBcclxuLmluamVjdC1jb250ZW50IHtcclxuICAgIC8vIFRoaXMgaXMgZm9yIGNvbnRlbnQgdGhhdCBpcyBpbiBhIGZvcm0gdGhhdCBnZXRzIGluamVjdGVkIGludG8gYSBtb2RhbCB0aGVuIGJhY2sgaW50byB0aGUgZm9ybSBmb3Igc2VyaWFsaXNhdGlvbi5cclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLy8gVGhlIGNvbnRhaW5lciBpbiB0aGUgbW9kYWwuXHJcbltpbmplY3QtY29udGFpbmVyXSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAvLyBNaW4gaGVpZ2h0IHRvIHNob3cgYWpheCBzcGlubmVyIGlmIHRoZXJlIGlzIG5vIGNvbnRlbnQuXHJcbiAgICBtaW4taGVpZ2h0OiAyMDBweDtcclxuICAgIC8vIEFkZCBmbGV4Ym94IGxheW91dCBmb3IgZm9ybXMuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICY6aGFzKGRpdi5BSkFYQmxvY2spIHtcclxuICAgICAgICBtaW4td2lkdGg6IDMyMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiA2NDBweFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIHRvIHRoZSByaWdodCB0byBhY2NvdW50IGZvciBhIHNjcm9sbCBiYXIuXHJcbiAgICAubW9kYWwtaGVhZGVyIHtcclxuICAgICAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIEluamVjdCBtb2RhbCBidXR0b24uXHJcbi5pbmplY3QtYnV0dG9uIHtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbiwgZGVmYXVsdCk7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC8vIERvbid0IGFwcGx5IHVuZGVybGluZSBhcyB0aGlzIGRvZXNuJ3Qgd29yayB3ZWxsIHdpdGggaWNvbnMuXHJcbiAgICAgICAgLy90ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b24sIGhvdmVyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJjphY3RpdmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR1c2Vycy1icmFuY2gtc2VsZWN0aW9uLWJ1dHRvbiwgYWN0aXZlKTtcclxuICAgIH1cclxuICAgICYuZm9ybSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyA1MHB4IG1hcmdpbi1yaWdodCB0byBhbGxvdyBmb3IgcmVhZC1vbmx5IGljb24uXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCA1MHB4IDAgYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByb2NlZWQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpOztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkdXNlcnMtYnJhbmNoLXNlbGVjdGlvbi1idXR0b24taWNvbi1zaXplO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBNb2R1bGVzIC0tLS0tXHJcblRoZXNlIGNhbiBiZSB1c2VkIGFueXdoZXJlIG9uIHRoZSBzaXRlIGhlYWRlciwgbWFpbiBjb250ZW50ICYgZm9vdGVyLCB0aGVzZSBoYXZlIGEgaGFyZCBkZXBlbmRhbmN5IG9uIGZvdW5kYXRpb24gWFkgZ3JpZCBzeXN0ZW0gZm9yIHRoZWlyIHBvc2l0aW9uaW5nLlxyXG5IYW5kbGVzIHRoZSBmb2xsb3dpbmc6IFxyXG4tIFByb2R1Y3QgLyBJbWFnZSBjb2xsZWN0aW9uc1xyXG4gIC0gR3JpZCB2aWV3XHJcbiAgLSBTbGlkZXNob3cgdmlld1xyXG4tIFZhcm91cyBDTVMgdHlwZXM6XHJcbiAgLSBCbG9nXHJcbiAgLSBOZXdzXHJcbiAgLSBFdmVudHNcclxuICAtIEdlbmVyaWMgQ01TIGVudHJpZXMgXHJcbi0gRUJHIEluZm9ybWF0aW9uXHJcbi0gQmFja2dyb3VuZHMgKCBDdXJyZW50bHkgb25seSBzdXBwb3J0IGp1c3QgY29sb3VycyBub3QgaW1hZ2VzICk6IFxyXG4gIC0gUm93IEJhY2tncm91bmRzIFxyXG4gIC0gTW9kdWxlIEJhY2tncm91bmRzXHJcbiovXHJcblxyXG4vLyBTdHlsaW5nIGZvciB0ZW1wbGF0ZSBtb2R1bGVzICggQ2Fyb3VzZWxzICYgY21zIHRleHQgKSArIHJvdyBiYWNrZ3JvdW5kcy5cclxuXHJcbi8vIC5yb3ctYmFja2dyb3VuZCB7XHJcbi8vICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbi8vICAgICAmLnJvdy1wYWRkaW5nIHtcclxuLy8gICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtb2R1bGVzLXJvdy1wYWRkaW5nLCBzbWFsbCkgMDsgXHJcbi8vICAgICAgICAgLy8gbWFyZ2luOiBtYXAtZ2V0KCRtb2R1bGVzLXJvdy1tYXJnaW4sIHNtYWxsKTtcclxuLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1vZHVsZXMtcm93LXBhZGRpbmcsIGxhcmdlKTtcclxuLy8gICAgICAgICAgICAgLy8gbWFyZ2luOiBtYXAtZ2V0KCRtb2R1bGVzLXJvdy1tYXJnaW4sIGxhcmdlKTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbi8vIEFzIHRoYXQgaXMgbW9yZSB0aGFuIGxpa2VseSBtYXJnaW4gb24gdGhlIGFib3ZlIGVsZW1lbnQgd2UgZG9uJ3QgbmVlZCB0byBhZGQgYSBtYXJnaW4gdG9wIHRvIHRoZSBmaXJzdCBtb2R1bGUuXHJcbkBpZiAoJG1vZHVsZXMtZmlyc3Qtcm93LW1vZHVsZS1tYXJnaW4tdG9wKSB7XHJcbiAgICAucm93LWJhY2tncm91bmQge1xyXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkbW9kdWxlcy1maXJzdC1yb3ctbW9kdWxlLW1hcmdpbi10b3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4ucm93LWJhY2tncm91bmQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250YWluZXItcGFkZGluZywgMSwgc21hbGwpO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAzLCBzbWFsbClcclxuICAgIH1cclxuICAgICYuY29udGFpbmVyLXBhZGRpbmcge1xyXG4gICAgICAgIHBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDEsIHNtYWxsKSAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtY29udGFpbmVyLXBhZGRpbmcsIDMsIGxhcmdlKVxyXG4gICAgICAgIH1cclxuICAgICAgICAubW9kdWxlLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtI3tzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRhaW5lci1wYWRkaW5nLCAxLCBsYXJnZSl9OyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAubW9kdWxlLWhlYWRpbmcge1xyXG4gICAgICAgIGJvcmRlcjogJG1vZHVsZS1oZWFkaW5nLWJvcmRlcjtcclxuICAgICAgICAvLyBTdXBwcmVzcyBjbXMgY29udGVudCBwYWRkaW5nLXRvcCBkdWUgdG8gaGVhZGluZ3Mgbm9ybWFsbHkgaGF2aW5nIHRoZSBtYXJnaW4gYm90dG9tIGFscmVhZHkgYXBwbGllZC5cclxuICAgICAgICAmICsgLmNtcy1tb2R1bGUge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gSWYgbW9kdWxlIGhlYWRpbmcgZXhpc3RzIHRoZW4gcmVtb3ZlIHBhZGRpbmcuXHJcbi5tb2R1bGUtaGVhZGluZyB7XHJcbiAgICArIC5jbXMtbW9kdWxlLm5ld3MtbW9kdWxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLy8gU2VsZWN0aW5nIGluc2lkZSBvZiB0aGUgZ3JpZC1jb250YWluZXIgYXMgeW91IHdpbGwgbW9zdCBsaWtlbHkgbm90IHdhbnQgdGhlIHJhZGl1cyBpZiB5b3UncmUgZnVsbCB3aWR0aC5cclxuQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgIC5ncmlkLWNvbnRhaW5lciAubW9kdWxlLWJhY2tncm91bmQge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRtb2R1bGVzLW1vZHVsZS1ib3JkZXItcmFkaXVzO1xyXG4gICAgfVxyXG4gICAgLnJvdy1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAkbW9kdWxlcy1yb3ctYm9yZGVyLXJhZGl1cztcclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgLy8gRmFsbGJhY2sgaWYgbm8gbW9kdWxlIHBhZGRpbmcgaXMgcHJvdmlkZWQuXHJcbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAvLyAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbW9kdWxlLXBhZGRpbmcsIDEsIHNtYWxsKTtcclxuICAgIC8vICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtcGFkZGluZywgMywgc21hbGwpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5tb2R1bGUtcGFkZGluZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubW9kdWxlLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLSN7c3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtcGFkZGluZywgMSwgbGFyZ2UpfTsgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNi41JTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBObyB0b3AgZ3V0dGVyLlxyXG4gICAgJi5yZW1vdmUtbWFyZ2luLXRvcCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgIH1cclxuICAgIC8vIE5vIGJvdHRvbSBndXR0ZXIuXHJcbiAgICAmLnJlbW92ZS1tYXJnaW4tYm90dG9tIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gTm8gdG9wICsgYm90dG9tIGd1dHRlci5cclxuICAgICYucmVtb3ZlLW1hcmdpbi1ib3RoIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENvbGxlY3Rpb25zIC0tLS0tIFxyXG4uY29sbGVjdGlvbiB7XHJcbiAgICAvLyBEZWZhdWx0IHRvIHByb2R1Y3QgYXNwZWN0IHJhdGlvLCBvdmVycmlkZSBpZiBuZWVkZWQuXHJcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgLy8gTWFrZSBzdXJlIHRoZSBjb2xsZWN0aW9uIGdvZXMgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIGNvbnRhaW5lciAoIHByb2R1Y3QgbGlzdCApXHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgICYuc2hvdy1jb2xvdXJzIHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICg1cHggLSAoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItd2lkdGggKiAyKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJGdyaWQtZ3V0dGVyLXJlc3BvbnNpdmUtbWFuaXB1bGF0b3I6IDEuMyAhZGVmYXVsdDtcclxuXHJcbiAgICAvLyBHdXR0ZXIgY29uZmlndXJhdGlvbi5cclxuICAgICYuY29sbGVjdGlvbi1yZW1vdmUtZ3V0dGVyIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgJi5jb2xsZWN0aW9uLXNtYWxsLWd1dHRlciB7XHJcbiAgICAgICAgLS1tb2R1bGUtZ3V0dGVyOiAje3NtYWxsLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyKX07XHJcbiAgICB9XHJcblxyXG4gICAgJi5jb2xsZWN0aW9uLW1lZGl1bS1ndXR0ZXIge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3sobWVkaXVtLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyKSAvICRncmlkLWd1dHRlci1yZXNwb25zaXZlLW1hbmlwdWxhdG9yKX07XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7bWVkaXVtLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyKX07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuY29sbGVjdGlvbi1sYXJnZS1ndXR0ZXIge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3sobGFyZ2UtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIpIC8gJGdyaWQtZ3V0dGVyLXJlc3BvbnNpdmUtbWFuaXB1bGF0b3IpfTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3tsYXJnZS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlcil9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmltYWdlLWdyaWQtbW9kdWxlLCAmLmltYWdlLXNsaWRlc2hvdy1tb2R1bGUge1xyXG4gICAgICAgIC8vIExvb2sgZm9yIGlubGluZSBzdHlsZSdzIGZpcnN0IGFzIGJhbm5lciBjYW4gYmUgdXBsb2FkZWQgaW4gYWxsIGRpZmZlcmVudCBzaXplcywgdGhlbiBkZWZhdWx0IGJhY2sgdG8gYXV0byBpZiBub3RoaW5nIGlzIHByb3ZpZGVkLlxyXG4gICAgICAgIC0tbWVkaWEtYXNwZWN0LXJhdGlvOiAjeyRpbWFnZS1jb2xsZWN0aW9uLWFzcGVjdC1yYXRpb307IFxyXG4gICAgfVxyXG5cclxuICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICYuZWJnIHtcclxuICAgICAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JGViZy1tZWRpYS1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBPdmVycmlkZSBmb3VuZGF0aW9uJ3MgY2VsbCBjYWxjdWxhdGlvbiBpbiBmYXZvdXIgb2Ygb3V0IG93bi5cclxuICAgIC5ncmlkLW1hcmdpbi14ID4gLmNvbGxlY3Rpb24taXRlbS5jZWxsIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAvLyBPdmVycmlkZSB0byB1c2UgdGhlIGdyaWQgbGF5b3V0IG1vZHVsZS5cclxuICAgIC5ncmlkLXgge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gRm9ybXVsYSB1c2VkIGZvciBjYWxjdWxhdGluZyBjb2x1bW4gd2lkdGhzIGNvbGxlY3Rpb25zLlxyXG4gICAgQG1peGluIGNvbGxlY3Rpb24tZ3JpZC1jZWxsLWNhbGN1bGF0b3IoJGNvdW50KSB7XHJcbiAgICAgICAgLy8gVGhpcyBmb3JtdWxhIGlzIGJhc2VkIG9uIHRoaXMgc3RhY2sgcG9zdCBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy83MjExNjE3MC9hY2NvdW50LWZvci1nYXAtd2hlbi1jYWxjdWxhdGluZy1mbGV4LWJhc2lzLlxyXG4gICAgICAgIC8vd2lkdGg6IGNhbGMoI3t4eS1jZWxsLXNpemUoMSBvZiAjeyRjb3VudH0pfSAtIHZhcigtLW1vZHVsZS1ndXR0ZXIsIDBweCkgLyAkY291bnQgKiAoJGNvdW50IC0gMSkpO1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKCN7eHktY2VsbC1zaXplKDEgb2YgJGNvdW50KX0gLSB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAwcHgpIC8gI3skY291bnR9ICogKCN7JGNvdW50fSAtIDEpKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBIb3cgbWFueSBjb2x1bW5zIGRvIHdlIHN1cHBvcnQgZm9yIGNvbGxlY3Rpb25zP1xyXG4gICAgJGNvbGxlY3Rpb24tbWF4LWNvbHVtbi1jb3VudDogODtcclxuXHJcbiAgICBAbWl4aW4gZ3JpZC1jb2x1bW4tY2xhc3NlcygkYnJlYWtwb2ludCkge1xyXG4gICAgICAgIEBmb3IgJGNvbHVtbi1jb3VudCBmcm9tIDEgdGhyb3VnaCAkY29sbGVjdGlvbi1tYXgtY29sdW1uLWNvdW50IHtcclxuICAgICAgICAgICAgLiN7JGJyZWFrcG9pbnR9LXVwLSN7JGNvbHVtbi1jb3VudH0ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCN7JGNvbHVtbi1jb3VudH0sIG1pbm1heCgwLCAxZnIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBTbWFsbCBEZXZpY2VzICggUGhvbmVzIClcclxuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNsYXNzZXMoJ3NtYWxsJyk7XHJcbiAgICAvLyBNZWRpdW0gRGV2aWNlcyAoIFRhYmxldHMgKVxyXG4gICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY2xhc3NlcygnbWVkaXVtJyk7XHJcbiAgICAvLyBMYXJnZSBEZXZpY2UgKCBEZXNrdG9wcyAmIEFib3ZlIClcclxuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNsYXNzZXMoJ2xhcmdlJyk7XHJcblxyXG4gICAgLy8gU3BlY2lmaWNhbGx5IHRhcmdldHRpbmcgY29sbGVjdGlvbiBpbWFnZXMgKCB0aGlzIGluY2x1ZGVzIGdyaWQncyBhbmQgY2Fyb3VzZWxzICkgdG8gbGltaXQgdGhlIHNpemUgb2YgdGhlIGltYWdlcyBhcyB3ZSBjYW5ub3QgZ3VhcmFudGVlIHRoZSBzaXplIG9mIGV4dGVybmFsIGRhdGEncyBpbWFnZXMuXHJcbiAgICBAZm9yICRjb2x1bW4tY291bnQgZnJvbSAxIHRocm91Z2ggJGNvbGxlY3Rpb24tbWF4LWNvbHVtbi1jb3VudCB7XHJcbiAgICAgICAgLnNtYWxsLXVwLSN7JGNvbHVtbi1jb3VudH0sIFtieC1jb2x1bW4tY291bnQ9XCIjeyRjb2x1bW4tY291bnR9XCJdIHtcclxuICAgICAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgICAgICAucHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNvbGxlY3Rpb24taW1hZ2Utc2l6ZXMsICdzbWFsbCcsICRjb2x1bW4tY291bnQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgbm90ICgkY29sbGVjdGlvbi1pbWFnZS1zaXplLXJlc3RyaWN0ZWQtYnktd2lkdGgtb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbWFwLWRlZXAtZ2V0KCRjb2xsZWN0aW9uLWltYWdlLXNpemVzLCAnc21hbGwnLCAkY29sdW1uLWNvdW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBzZXQgZml0LWNvbnRlbnQgYXMgdGhpcyBjYXVzZXMgc2NhbGxpbmcgaXNzdWVzIGZvciBhcHBsZSBkZXZpY2VzLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEN1cnJlbnRseSBkb24ndCBkbyBhbnl0aGluZyBkaWZmZXJlbnQgZm9yIG1lZGl1bSBkZXZpY2VzICggdGFibGV0cyApIHRvIHNtYWxsIGRldmljZSBidXQgdGhpcyBtYXkgbmVlZCB0byBiZSBjaGFuZ2VkIGluIHRoZSBmdXR1cmUuXHJcblxyXG4gICAgICAgIC5sYXJnZS11cC0jeyRjb2x1bW4tY291bnR9LCBbYngtY29sdW1uLWNvdW50PVwiI3skY29sdW1uLWNvdW50fVwiXSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgIC5wcm9kdWN0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbWFwLWRlZXAtZ2V0KCRjb2xsZWN0aW9uLWltYWdlLXNpemVzLCAnbGFyZ2UnLCAkY29sdW1uLWNvdW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiBub3QgKCRjb2xsZWN0aW9uLWltYWdlLXNpemUtcmVzdHJpY3RlZC1ieS13aWR0aC1vbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbWFwLWRlZXAtZ2V0KCRjb2xsZWN0aW9uLWltYWdlLXNpemVzLCAnbGFyZ2UnLCAkY29sdW1uLWNvdW50KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9IFxyXG5cclxuICAgICYuc2hvdy1jb2xvdXJzIHtcclxuICAgICAgICAvLyBBcyB0aGlzIGNhbiBvbmx5IGJlIEVCRyBvbmx5IHNlbGVjdCBlYmcgY29sbGVjdGlvbiBpdGVtcy5cclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtLmViZyB7XHJcbiAgICAgICAgICAgIC8vIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAvLyAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAvLyAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgJGRlZmF1bHQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKCRjb2xvdXIxLCBtYXAtZ2V0KCRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKTtcclxuICAgICAgICAgICAgJGhvdmVyLWNvbG91cjogY29udHJhc3QtY2hlY2tlcigkY29sb3VyNCwgbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJhY2tncm91bmQtY29sb3VyLCBob3ZlcikpO1xyXG5cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6ICRjb2xsZWN0aW9uLWViZy1zaG93LWNvbG91cnMtYm9yZGVyLXdpZHRoIHNvbGlkIG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0IHN0eWxlcyBmb3IgYm90aCBjb21wYWN0IGFuZCBub24tY29tcGFjdCBtb2Rlcy5cclxuICAgICAgICAgICAgICAgICYuY29tcGFjdCwgJjpub3QoLmNvbXBhY3QpIHtcclxuICAgICAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tZWJnLXNob3ctY29sb3Vycy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkY29sbGVjdGlvbi1lYmctc2hvdy1jb2xvdXJzLWJvcmRlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICYuY29tcGFjdCwgJjpub3QoLmNvbXBhY3QpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gSW1hZ2Ugc3BlY2lmaWMgc3R5bGVzLlxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBEbyB3ZSByb3VuZCBpbWFnZSBjb250YWluZXIgZWRnZXM/XHJcbiAgICAgICAgJHJvdW5kLWltYWdlLWVkZ2VzOiBzbW9vdGgtZWRnZXMoJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAmLmltYWdlIHtcclxuICAgICAgICAgICAgLy8gSWYgdGhlIGNvbnRhaW5lciBoYXMgdGhlIGltYWdlIGNsYXNzIHRoZW4gcHV0IGEgYm9yZGVyIGFsbCB0aGUgd2F5IGFyb3VuZCB0aGUgY2VsbC5cclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGNvbGxlY3Rpb24taW1hZ2UtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY2l0b24taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSGFuZGxlcyBpZiB0aGUgY3VycmVudCBjb250YWluZXIgaXMganVzdCBmb3IgYW4gaW1hZ2Ugb3Igd2hldGhlciB0aGUgaW1hZ2UgaXMgbmVzdGVkLlxyXG4gICAgICAgIC5pbWFnZSwgJi5pbWFnZSB7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkcm91bmQtaW1hZ2UtZWRnZXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLyogU2V0dGluZyB0aGlzIGdlbmVyaWNhbGx5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbnM6XHJcbiAgICAgICAgICAgIDEuIElmIGNvbGxlY3Rpb24tY2VsbC1ib3JkZXItcmFkaXVzIGlzIGVuYWJsZWRcclxuICAgICAgICAgICAgMi4gSWYgaW1hZ2Ugc2NhbGUgaXMgZW5hYmxlZC5cclxuICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1vcGFjaXR5KSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDAge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIC5pbWFnZSwgJi5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLW9wYWNpdHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1vcGFjaXR5O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDApIHtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuXHJcblxyXG4gICAgLy8gVHJpYWxpbmcgdGhpcyBmaXggdG8gYmUgYSBiaXQgbW9yZSByZS1hY3RpdmUgdG8gY29sdW1uIGNvdW50cyBpbiBtb2JpbGUgZGV2aWNlIHdoZW4gc2hvd2luZyAyIGNvbHVtbnMgb2YgaW5mb3JtYXRpb24sIHdlIGRvbid0IGRlZmluZSB0aGUgbW9iaWxlIGNvdW50IHNvIHRoZXJlIGlzIG5vdGhpbmcgdG8gbGF0Y2ggb250byBpbiB0aGUgRE9NIHdoaWNoIHdvdWxkIHN1Z2dlc3QgMiBjb2x1bW5zIGFzIHRoZSB3aWR0aCBhcmUgcHJvZ3JhbWF0aWNhbGx5IHdvcmtlZCBvdXQgaW4gdGhlIEpTIGJ5IGRpdmlkaW5nIHRoZSBkZXNrdG9wIGNvdW50LlxyXG4gICAgW2J4LWNvbHVtbi1jb3VudD1cIjRcIl0ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIgLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucXVhbnRpdHktZnJlZS10ZXh0LWNvbnRhaW5lciAge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEltYWdlICYgUHJvZHVjdCBncmlkIGNvbGxlY3Rpb25zLCB0aGlzIGdldHMgdXNlZCBmb3IgbW9kdWxlcyBhbmQgcHJvZHVjdCBsaXN0aW5nIHBhZ2VzLlxyXG4uaW1hZ2UtZ3JpZC1tb2R1bGUsIC5wcm9kdWN0LWdyaWQtbW9kdWxlLCAuY29sbGVjdGlvbiB7XHJcbiAgICAuZ3JpZC1jb2xsZWN0aW9uLXgge1xyXG4gICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3tzbWFsbC12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICBcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7bWVkaXVtLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogdmFyKC0tbW9kdWxlLWd1dHRlciwgI3tsYXJnZS12YWx1ZSgkbW9kdWxlcy1ncmlkLWd1dHRlci1mYWxsYmFjayl9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbS5jZWxsIHtcclxuICAgICAgICAgICAgLy8gVW5zZXQgRm91bmRhdGlvbidzIFhZIEdyaWQgd2lkdGggaW4gZmF2b3VyIG9mIG91ciBvd24gbW9kdWxlJ3MgZ3JpZCBzeXN0ZW0gdGhhdCBpcyBub3QgYmFzZWQgb24gZmxleGJveC5cclxuICAgICAgICAgICAgd2lkdGg6IHVuc2V0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLSBQcm9kdWN0IEdyaWQgQ29sbGVjdGlvbiAtLS1cclxuLnByb2R1Y3QtZ3JpZC1tb2R1bGUge1xyXG4gICAgLmNlbGwge1xyXG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtZ3V0dGVycygkbW9kdWxlcy1ncmlkLWd1dHRlciwgJ3BhZGRpbmcnKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLy8gVE9ETzogdjIgY2FuIGdvIGFmdGVyIG1vZHVsZXMgcmVmYWN0b3IgY29tcGxldGUuLi4uXHJcbiAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY2VsbChpZigkY29sbGVjdGlvbi1lYmctZ3JpZC1zdXBwcmVzcy1iYWNrZ3JvdW5kLCB0cnVlLCBmYWxzZSksIHRydWUpO1xyXG4gICAgLy8gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC8vICAgICAvLyBGb3IgYm94IHNoYWRvdy5cclxuICAgIC8vICAgICBAaW5jbHVkZSBjYXJvdXNlbC1jb2xsZWN0aW9uLXNoYWRvdygpO1xyXG4gICAgLy8gfVxyXG59XHJcbi5wcm9kdWN0LWdyaWQtbW9kdWxlLCAucHJvZHVjdC1jYXJvdXNlbC1tb2R1bGUge1xyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBNYWtpbmcgYW4gYXNzdW1wdGlvbiB0aGF0IHRoZSBmaXJzdCBhbmNob3IgaXMgYW4gaW1hZ2UuXHJcbiAgICAgICAgPiBhOmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAvLyBDZW50ZXIgaW1hZ2UgaW5zaWRlIG9mIGFuY2hvciBqdXN0IGluIGNhc2UgdGhlIGltYWdlIGlzIG5vdCB0aGUgY29ycmVjdCBzaXplIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhcnJhbmdlZCBsZWZ0LlxyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1jZWxsLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1tYXJnaW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjb2xsZWN0aW9uLWltYWdlLWNlbGwtcGFkZGluZztcclxuICAgICAgICAgICAgJjpub3QoOmhhcyhpbWcpKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24taW1hZ2UtY2VsbC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1pbWFnZS1jZWxsLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBpZiAoJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItd2lkdGgpIHtcclxuICAgIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSwgLnByb2R1Y3QtZ3JpZC1tb2R1bGUge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW06bm90KC5lYmcpIC5jb250ZW50LWNvbnRhaW5lci5wcm9kdWN0IHtcclxuICAgICAgICAgICAgQGlmIChzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLXdpZHRoLCAyKSA9PSAwIGFuZCBzcGFjaW5nLXZhbHVlKCRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLXdpZHRoLCAzKSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gYm9yZGVyIG9uIHRoZSBzaXplIGJ1dCBhdCB0aGUgYm90dG9tIHRoZW4geW91IG1vc3QgbGlrZWx5IG5lZWQgYWRkdGlvbmFsIHBhZGRpbmcgdG8gcHVzaCB0aGUgcnVsZSBhd2F5IGZyb20gdGhlIGNvbnRlbnQuXHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNvbGxlY3Rpb24tcHJvZHVjdC1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXByb2R1Y3QtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0gSW1hZ2UgR3JpZCBDb2xsZWN0aW9uIC0tLSBcclxuLmltYWdlLWdyaWQtbW9kdWxlIHtcclxuICAgIC5jZWxsIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoMjBweCwgJ3BhZGRpbmcnKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIgIHtcclxuICAgICAgICAvLyBBZGRpbmcgd2lkdGggZml0LWNvbnRlbnQgaWYgYm9yZGVyIGlzIGFwcGxpZWQgb3RoZXJ3aXNlIGEgZ2FwIFIgKyBMIGlzIGNyZWF0ZWQgaW4gbW9iaWxlIGR1ZSB0byBvbmx5IHN1cGx5aW5nIG9uZSBpbWFnZSBzaXplIGZvciBtb2JpbGUgJiBkZXNrdG9wLlxyXG4gICAgICAgIC8vIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgLy8gQGlmICgkY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGgpIHtcclxuICAgICAgICAvLyAgICAgYm9yZGVyLXdpZHRoOiAkY29sbGVjdGlvbi1pbWFnZS1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgLy8gICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgLy8gICAgIGJvcmRlci1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNvbGxlY2l0b24taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWltYWdlLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBob3Zlci1jb2xvdXIoJGNvbGxlY2l0b24taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAuY29udGVudC1jb250YWluZXIgIHtcclxuICAgIC8vICAgICBAaWYgJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCB7XHJcbiAgICAvLyAgICAgICAgIGltZyB7XHJcbiAgICAvLyAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25PdXRybztcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICAmOmhvdmVyIHtcclxuICAgIC8vICAgICAgICAgQGlmICRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDAge1xyXG4gICAgLy8gICAgICAgICAgICAgaW1nIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlKTtcclxuICAgIC8vICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgIC8vICAgICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAmOm5vdChbc3R5bGUqPVwiYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XCJdKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtY29udGVudC1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBDb250ZW50IE1hbmFnbWVlbnQgTW9kdWxlICggQ01TICkgLS0tLS1cclxuLmNtcy1tb2R1bGUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvLyBUYWtlIHVwIGFsbCBhdmFpbGFibGUgc3BhY2UuXHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAvLyBAaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtaGVhZGluZ3MoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgoKTtcclxuICAgIEBpbmNsdWRlIGNtcy1saXN0cygpO1xyXG4gICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtYmxvY2txdW90ZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWltYWdlLWdhbGxhcnkoKTtcclxuICAgIEBpbmNsdWRlIGNtcy15b3V0dWJlLXZpZGVvKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtY29kZSgpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAobWFwLWdldCgkY21zLWhlYWRpbmctdW5kZXJsaW5lLCBoMikgPT0gdHJ1ZSxub25lLHVuZGVybGluZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogKG1hcC1nZXQoJGNtcy1oZWFkaW5nLXVuZGVybGluZSwgaDMpID09IHRydWUsbm9uZSx1bmRlcmxpbmUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgQGlmICRjbXMtbW9kdWxlLWhlYWRpbmctY29sb3VyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjbXMtbW9kdWxlLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBtYXJnaW46IGF1dG8gMDtcclxuICAgICAgICAvLyBUYWtlIHVwIGFsbCBhdmFpbGFibGUgc3BhY2UuXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBAaWYgKCRjbXMtbW9kdWxlLWNvbnRlbnQtanVzdGlmeS1jb250ZW50KSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGNtcy1tb2R1bGUtY29udGVudC1qdXN0aWZ5LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWhlYWRpbmcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ldmVudHMtbW9kdWxlIHtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1nYXApO1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1wYWRkaW5nKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGV2ZW50cykpIHtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBldmVudHMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgIC8qKiBXb3JrIG91dCB0aGUgY29sdW1uIHdpZHRoLCB0aGlzIHdhcyBvcmlnaW5hbGx5IGRlc2lnbmVkIGZvciBhIDIgY29sdW1uIGxheW91dCB3aGljaCBnb2VzIGRvd24gdG8gYSBzaW5nbGUgY29sdW1uIGluIHRoZSBmb2xsb3dpbmcgc2l0dWF0aW9uc1xyXG4gICAgICAgICAgICAtIEluIG1vYmlsZVxyXG4gICAgICAgICAgICAtIFdoZW4gdGhlIG1vZHVsZSBjb250YWluZXIgaXMgbm8gbG9uZ2VyIHdpZGUgZW5vdWdoIHRvIHNob3cgdG8gY29sdW1ucyB3aXRoIGEgd2lkdGggb2YgdGhlIGNhbGN1bGF0ZWQgY29sdW1uIHdpZHRoIGJlbGxvdy5cclxuICAgICAgICAgICAgKiovXHJcbiAgICAgICAgICAgICRjb2x1bW4td2lkdGg6ICgkZ2xvYmFsLXdpZHRoIC8gMikgLSAobGFyZ2UtdmFsdWUoJG1vZHVsZXMtZXZlbnRzLXBhZGRpbmcpKSAtIGxhcmdlLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1nYXApO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KG1pbi1jb250ZW50LCAkY29sdW1uLXdpZHRoKSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLWV2ZW50cy1wYWRkaW5nKTtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1ldmVudHMtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIG9yZGVyOiAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItaGVpZ2h0LCBldmVudHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImV2ZW50c1wiLCBcInNtYWxsXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwiZXZlbnRzXCIsIFwic21hbGxcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJldmVudHNcIiwgXCJsYXJnZVwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImV2ZW50c1wiLCBcImxhcmdlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQsIGV2ZW50cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtbW9kdWxlLXBhcmFncmFwaC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYmxvZy1tb2R1bGUge1xyXG4gICAgICAgIC8vIFRvIGZvcmNlIHRoZSBhZGRpdGlvbmFsIHNwYWNlIHRoYXQgbm9ybWFsbHkgb25seSBnZXRzIGFwcGxpZWQgaWYgbW9kdWxlcyBoYXMgYSBiYWNrZ3JvdW5kLlxyXG4gICAgICAgIEBpZiAkbW9kdWxlcy1ibG9nLXktZ3V0dGVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMSwgc21hbGwpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgc21hbGwpKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgc21hbGwpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgc21hbGwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGJsb2cpKSB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgYmxvZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgbGFyZ2UpKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAkbW9kdWxlcy1ibG9nLXktZ3V0dGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJsb2ctbWFyZ2luLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1ibG9nLW1hcmdpbiwgMiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICY6aGFzKC5jb250ZW50LWJhbm5lcikge1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXg6ICRjbXMtbW9kdWxlLWNvbnRlbnQtY29udGFpbmVyLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gVW5zZXQgdGhlIG1heC1oZWlnaHQgaWYgdGhlcmUgaXMgYSBiYW5uZXIsIHRvIHRoZW4gbWF0Y2ggdGhlIGJhbm5lcidzIGhlaWdodC5cclxuICAgICAgICAgICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJG1vZHVsZXMtYmxvZy1jb250ZW50LXJlYWQtbW9yZS1tYXgtaGVpZ2h0LXdpdGgtYmFubmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogJG1vZHVsZXMtYmxvZy1jb250ZW50LXJlYWQtbW9yZS1tYXgtaGVpZ2h0LXdpdGgtYmFubmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLWJsb2ctY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtYmxvZy1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1vZHVsZXMtYmxvZy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtb2R1bGVzLWJsb2ctaGVhZGluZy1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbW9kdWxlcy1ibG9nLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGhlaWdodC5cclxuICAgICAgICAgICAgICAgICRyZWFkLW1vcmUtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRyZWFkLW1vcmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgLy8gQWRkIG1heCBoZWlnaHQgdG8gY29udGVudCBvdGhlcndpc2UgZmFkZSBlZmZlY3Qgd2lsbCBiZSBpbiB0aGUgb3ZlcmZsb3cuXHJcbiAgICAgICAgICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICRyZWFkLW1vcmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItaGVpZ2h0LCBibG9nKTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImJsb2dcIiwgXCJzbWFsbFwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImJsb2dcIiwgXCJzbWFsbFwiKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImJsb2dcIiwgXCJsYXJnZVwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IG1hcC1kZWVwLWdldCgkY21zLW1vZHVsZXMtYXNzb2NpYXRlZC1iYW5uZXItYm9yZGVyLXdpZHRoLCBcImJsb2dcIiwgXCJsYXJnZVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdCwgYmxvZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLW1vZHVsZS1wYXJhZ3JhcGgtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm5ld3MtbW9kdWxlIHtcclxuICAgICAgICBAaWYgJG1vZHVsZXMtbmV3cy15LWd1dHRlciB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMywgc21hbGwpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAzLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBuZXdzKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIG5ld3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhhcyguY29udGVudC1iYW5uZXIpIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRtb2R1bGVzLWNtcy1hc3NvY2lhdGVkLWJhbm5lci1oZWlnaHQsIG5ld3MpO1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1maXQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLW9iamVjdC1maXQsIG5ld3MpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xyXG4gICAgICAgICAgICAgICAgQGlmIChtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJuZXdzXCIsIFwic21hbGxcIikpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiBtYXAtZGVlcC1nZXQoJGNtcy1tb2R1bGVzLWFzc29jaWF0ZWQtYmFubmVyLWJvcmRlci13aWR0aCwgXCJuZXdzXCIsIFwic21hbGxcIik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgIEBpZiAobWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwibmV3c1wiLCBcImxhcmdlXCIpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogbWFwLWRlZXAtZ2V0KCRjbXMtbW9kdWxlcy1hc3NvY2lhdGVkLWJhbm5lci1ib3JkZXItd2lkdGgsIFwibmV3c1wiLCBcImxhcmdlXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGNtcy1tb2R1bGUtcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkbW9kdWxlcy1uZXctaGVhZGluZy1tYXJnaW47XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIEBpZiAoJG1vZHVsZXMtbmV3cy1oZWFkaW5nLWZvbnQtZmFtaWx5KSB7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJG1vZHVsZXMtbmV3cy1oZWFkaW5nLWZvbnQtZmFtaWx5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5lbnRyeS1tb2R1bGUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMiwgc21hbGwpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAyLCBzbWFsbCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiBtYXAtZ2V0KCRjbXMtbW9kdWxlLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFzIGEgcnVsZSBvZiB0aHVtYiBpZiB3ZSBhbGlnbiB0ZXh0IGNlbnRlciB3ZSBzaG91bGQganVzdGlmeSB0aGUgZW50aXJlIGNvbnRlbnQgYXMgd2VsbC5cclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gLS0tIFRleHQgYWxpZ25tZW50IC0tLVxyXG4gICAgICAgICYudGV4dC1hbGlnbi1sZWZ0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnRleHQtYWxpZ24tcmlnaHQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi50ZXh0LWFsaWduLWNlbnRlciB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIC0tLSBMYXlvdXQgU3R5bGVzIC0tLSBcclxuICAgICAgICAvLyBDb250ZW50IGJvdHRvbSwgaW1hZ2UgdG9wLlxyXG4gICAgICAgICYubXVsdGltZWRpYS10b3Age1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciwgJi5oYXMtaW1hZ2UgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBzbWFsbC12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1yZWFkLW1vcmUtbWF4LWhlaWdodCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbnRlbnQgTGVmdCwgaW1hZ2UgcmlnaHQuXHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLXJpZ2h0IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgJjpoYXMoLmNvbnRlbnQtYmFubmVyKSB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBAaWYgKCRjbXMtbW9kdWxlLWNvbnRlbnQtYmFubmVyLW1pbi1oZWlnaHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgbWluLWhlaWdodDogJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWluLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBzbWFsbC12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1yZWFkLW1vcmUtbWF4LWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ29udGVudCBUb3AsIGltYWdlIGJvdHRvbS5cclxuICAgICAgICAmLm11bHRpbWVkaWEtYm90dG9tIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENvbnRlbnQgUmlnaHQsIGltYWdlIGxlZnQuXHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLWxlZnQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpoYXMoLmNvbnRlbnQtYmFubmVyKSB7XHJcbiAgICAgICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEBpZiAoJGNtcy1tb2R1bGUtY29udGVudC1iYW5uZXItbWluLWhlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vICAgICBtaW4taGVpZ2h0OiAkY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1taW4taGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBzbWFsbC12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1yZWFkLW1vcmUtbWF4LWhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5sYXlvdXQtc3R5bGUge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIG9sZCBzdHlsZXMuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDUwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgICAgIC8vIFRPRE86IHRoaXMgbmVlZHMgdG8gYmUgcmVmYWN0b3JlZC5cclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgZmxleDogJGNtcy1tb2R1bGUtY29udGVudC1jb250YWluZXItZmxleDtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgdGhpcyBhcyB1c2VyJ3Mgd291bGQgdXBsb2FkIGltYWdlcyB0aGF0IGFyZSB0b28gYmlnIGZvciB0aGUgY29udGVudCBhcmVhIHdoaWNoIHRoZW4gY2F1c2VzIHRoZSBpbWFnZSB0byBvdmVyZmxvdyB0aGUgY29udGFpbmVyJ3MgYm91bmRhcmllcy4gODY1MDQyXHJcbiAgICAgICAgLy8gLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAvLyAgICAgLmltYWdlIHtcclxuICAgICAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIC8vICAgICAgICAgfVxyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAmLmNvbXBhY3Qge1xyXG4gICAgICAgICAgICAvLyBEZWZhdWx0IGd1dHRlci5cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgbGlzdCBwYWRkaW5nIHJ1bGVzIGR1ZSB0byBjYXVzaW5nIGxheW91dCBub3QgdG8gYWJpZGUgYnkgdGhlIGZsZXgtYmFzaXMgcnVsZXMgaW5wbGFjZSwgYmFzaWNhbGx5IG5lc3RlZCB1bCdzIHdpbGwgY2F1c2UgdGhlIGNvbnRlbnQgdG8gdGFrZSB1cCB0b28gbXVjaCBzcGFjZS5cclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM3NXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmlnaHQtYWxpZ25lZCwgJi5sZWZ0LWFsaWduZWQsICYuY29tcGFjdCB7XHJcbiAgICAgICAgICAgICY6aGFzKC5jb250ZW50LWJhbm5lcikge1xyXG4gICAgICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJG1vZHVsZXMtY21zLWFzc29jaWF0ZWQtYmFubmVyLWhlaWdodCwgZW50cnkpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkY21zLW1vZHVsZS1jb250ZW50LWJhbm5lci1tYXJnaW47XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogbWFwLWdldCgkbW9kdWxlcy1jbXMtYXNzb2NpYXRlZC1iYW5uZXItb2JqZWN0LWZpdCwgZW50cnkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBIYXMgYXNzb2NpYXRlZCBiYW5uZXIuXHJcbiAgICAgICAgLy8gJi5oYXMtaW1hZ2Uge1xyXG4gICAgICAgIC8vICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC5yZWFkLW1vcmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgLy8gQnkgZGVmYXVsdC5cclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmlnaHQtYWxpZ25lZCwgJi5sZWZ0LWFsaWduZWQge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgLmNvbnRlbnQtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleDogYXV0bztcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY21zLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZmxleDogMCAwIDYwJTtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucmlnaHQtYWxpZ25lZCB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubGVmdC1hbGlnbmVkIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmICsgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICY6bm90KC5oYXMtaW1hZ2UpIHtcclxuICAgIC8vICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNvbHVtbiB7XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwODBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCBhdXRvIDYwcHg7XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0NzBweDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICYucm93LWludmVydCB7XHJcbiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIC8vIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgICAgICAgLy8gLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgLy8gICAgIG1heC13aWR0aDogNTQwcHg7XHJcbiAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gICAgIGhlaWdodDogMjkwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiA2LjUlO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5jb2x1bW4taW52ZXJ0IHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NDBweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM5MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGhpcyBuZWVkcyB0byBnbyBhZnRlciA4MTcxMzggaXMgbGl2ZS5cclxuICAgICY6bm90KC5jb2x1bW4pOm5vdCguY29sdW1uLWludmVydCk6bm90KC5yb3ctaW52ZXJ0KTpub3QoLmxheW91dC1zdHlsZSkuaGFzLWltYWdlIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBPdGhlcndpc2UgaW4gSUUgdGhlIGNvbnRlbnQgZ29lcyBvdXQgb2YgdGhlIG1vZHVsZSB3aWR0aC5cclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgLy8gQ2Fubm90IHN1cHByZXNzIHRoaXMgd2l0aG91dCB1c2luZyB0aGUgbmV3IGxheW91dC1zdHlsZSBvcHRpb25zLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAkY21zLW1vZHVsZS1jb250ZW50LWNvbnRhaW5lci1mbGV4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFxyXG4gICAgJjpub3QoLmxlZnQtYWxpZ25lZCkge1xyXG4gICAgICAgICYuaGFzLWltYWdlIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb2x1bW4taW52ZXJ0IHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC8vIHBhZGRpbmc6IDIwcHggMCAwO1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC8vIEltYWdlIG1hbmFnZW1lbnQuY2Fyb3VzZWwtbW9kdWxlXHJcbiAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAgICAgICBcclxuICAgICAgICAgICAgcGxhY2UtY29udGVudDogbm9ybWFsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAvLyBEb250IHNldCBoZWlnaHQgMTAwJSBhcyBpdCB3aWxsIGNhdXNlIGxhcmdlIHNwYWNlcyBiZWxsb3cgLyBhYm92ZSBmb3IgQXBwbGUgZGV2aWNlcyBpbiBtb2JpbGUgdGhpcyBpcyBhbXBsaWZpZWQgZGVwZW5kaW5nIG9uIGhvdyBvdmVyc2l6ZWQgdGhlIHRoZSBpbWFnZSBpcy5cclxuICAgICAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgICAgICBvYmplY3QtcG9zaXRpb246IHRvcCBsZWZ0OyAvLyBUaGlzIG5lZWRzIHRvIGJlIHNldCBmb3IgaWYgdGhlIGNvbmZpZ3VyYXRpb24gaW4gZGVza3RvcCBkZWNpZGVzIHRvIHVzZSBjb250YWluIGluc3RlYWQgb2YgY292ZXIuXHJcbiAgICAgICAgICAgIC8vIEJlY2F1c2UgSUUgZG9lc24ndCBoYXZlIHN1cHBvcnQgZm9yIG9iamVjdC1maXQuXHJcbiAgICAgICAgICAgIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJRTEwK1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgIC8vIG1heC1oZWlnaHQ6IDc1JTtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIC8vbWFyZ2luOiAwIDAgMTVweDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgfVxyXG4gICAgLm1vZHVsZS1uYXZpZ2F0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICB9XHJcbiAgICAucmVhZC1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgLy8gZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICB9XHJcbiAgICAuYmxvZy1idXR0b24sIC5uZXdzLWJ1dHRvbiwgLmV2ZW50cy1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBkb2Vzbid0IHdvcmsgZm9yIDEyIGNvbHVtbiBtb2R1bGVzLCB0aGVyZSBpcyBKUyBpbiBwbGFjZSB0byBkZXRlY3Qgd2hldGhlciBhIG1vZHVsZSBoYXMgYmVlbiBlcXVhbGlzZWQuXHJcbi8vIFRoaXMgaXMgdG8gcHJldmVudCBsb25nIGNtcyBlbnRyaWVzIGZyb20gZGljdGF0aW5nIHRoZSBoZWlnaHQgb2YgdHdvIGNlbGxzIGkuZSB3aGVuIHlvdSBoYXZlIGEgY29sbGVjdGlvbiB0byB0aGUgcmlnaHQgYW5kIGNtcyB0byB0aGUgbGVmdCwgb25jZSBlcXVhbGlzYXRpb24gaGFzIGZpbmlzaGVkIHRoZSBjb250ZW50IGlzIHJlLWVuYWJsZWQgYW5kIHRoZSByZWFkIG1vcmUgZmFkZSBpcyB0aGVuIGFwcGxpZWQsIHRoZSBvdGhlcndheSBhcm91bmQgdGhpcyB3b3VsZCBiZSBub3QgdG8gcHJvdmlkZSBhcyBtdWNoIG1hcmt1cCBmcm9tIGEgY21zIGVudHJ5IGJ1dCB0aGF0IGdldHMgY29tcGxleCBpbiB0ZXJtcyBvZiBnZW5lcmF0aW5nIGludmFsaWQgSFRNTC5cclxuLy8gLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuLy8gICAgICZbZGF0YS1lcXVhbGl6ZXItd2F0Y2hdOm5vdChbc3R5bGUqPVwiaGVpZ2h0XCJdKSB7XHJcbi8vICAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuLy8gICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuLy8gICAgICAgICB9XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbi5yb3ctYmFja2dyb3VuZC5jb250YWluZXItcGFkZGluZyB7XHJcbiAgICAuY21zLW1vZHVsZS5oYXMtaW1hZ2U6bm90KC5jb2x1bW4pOm5vdCgucm93LWludmVydCkge1xyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1OTBweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbi1yaWdodDogNi41JTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzcwcHg7XHJcbiAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzNzVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIC0tLS0tIE1vZHVsZSBCYWNrZ3JvdW5kcyAtLS0tLSBcclxuLnJvdy1iYWNrZ3JvdW5kIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vICY6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAvLyAgICAgJjpub3QoW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSkge1xyXG4gICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgICY6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pIHtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tb2R1bGUtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIC5jbXMtc3Vic2lkaWFyeS1tb2R1bGUge1xyXG4gICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgIC8vICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7IFxyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyAtLS0gUGFkZGluZyBjb25maWd1cmF0aW9uIC0tLSBcclxuICAgICYucmVtb3ZlLXBhZGRpbmctdG9wIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLnJlbW92ZS1wYWRkaW5nLWJvdHRvbSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5yZW1vdmUtcGFkZGluZy1ib3RoIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC5yb3ctYmFja2dyb3VuZC1pbWFnZSB7XHJcbiAgICAgICAgJltzdHlsZSo9XCJiYWNrZ3JvdW5kLWltYWdlXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZS1iYWNrZ3JvdW5kIHtcclxuICAgIC8vIE1ha2Ugc3VyZSB0byBzcGFuIHRoZSBlbnRpcmUgd2lkdGggb2YgdGhlIGNvbnRhaW5lciBhcyB0aGlzIGNhbiBjYXVzZVxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tdG9wOiBzbWFsbC12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luKTtcclxuICAgIG1hcmdpbi1ib3R0b206IHNtYWxsLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1tYXJnaW4pO1xyXG4gICAgLy8gUmVtb3ZpbmcgYXMgaXQgd2FzIGdldHRpbmcgaW4gdGhlIHdheSBvZiBtb2R1bGUgY29uZmlndXJhdGlvbi5cclxuICAgIC8vIHotaW5kZXg6IDE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luLCAzLCBsYXJnZSk7XHJcbiAgICB9XHJcbiAgICAvLyBZb3UgZG9udCBuZWVkIGFzIG11Y2ggYWRkaXRpb25hbCBwYWRkaW5nIGlmIG5vIGNvbG91ciBpcyBzZXQuXHJcbiAgICAmW3N0eWxlKj1cImJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1wiXSB7XHJcbiAgICAgICAgLmNtcy1tb2R1bGUge1xyXG4gICAgICAgICAgICAmLmVudHJ5LW1vZHVsZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAxLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAzLCBzbWFsbCk7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDMsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmV3cy1tb2R1bGUge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDIsIHNtYWxsKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDQsIHNtYWxsKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLW5ld3MtbWFyZ2luLCAyLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgNCwgc21hbGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG5cclxuICAgICY6bm90KFtzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcIl0pLCAmLmhhcy1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgICAgICAvLyBBZGQgYSBzbWFsbCBndXR0ZXIgdG8gdGhlIHJpZ2h0ICsgbGVmdCB0byBhbGxvdyBmb3IgdGhlIGJhY2tncm91bmQgdG8gYmxlZWQgYXJvdW5kIGl0LlxyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJG1vZHVsZXMtbW9kdWxlLWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLW1vZHVsZS1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY21zLW1vZHVsZSB7XHJcbiAgICAgICAgICAgICYuZW50cnktbW9kdWxlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDEsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRjbXMtbW9kdWxlLWVudHJ5LXBhZGRpbmcsIDMsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogc3BhY2luZy12YWx1ZSgkY21zLW1vZHVsZS1lbnRyeS1wYWRkaW5nLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHNwYWNpbmctdmFsdWUoJGNtcy1tb2R1bGUtZW50cnktcGFkZGluZywgMywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uZXdzLW1vZHVsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1uZXdzLW1hcmdpbiwgMCwgc21hbGwpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IHNwYWNpbmctdmFsdWUoJG1vZHVsZXMtbmV3cy1tYXJnaW4sIDAsIGxhcmdlKTsgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFN1cHByZXNzIHNoYWRvdyBhcyB0aGlzIGRvZXNuJ3QgbG9vayB2ZXJ5IGdvb2Qgb24gYW55dGhpbmcgb3RoZXIgdGhhbiBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuXHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyOmhvdmVyIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJvdy1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgICAgICAmW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1vZHVsZS1iYWNrZ3JvdW5kLWltYWdlIHtcclxuICAgICAgICAmW3N0eWxlKj1cImJhY2tncm91bmQtaW1hZ2VcIl0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gQ2Fyb3VzZWwgTW9kdWxlIC0tLS0tXHJcbi5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSB7XHJcbiAgICAvLyBtYXJnaW46IGF1dG8gMCAwO1xyXG4gICAgJi5jYXJvdXNlbC1wYWRkaW5nIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQ01TIFN1YnNpZGlhcnkgTW9kdWxlIC0tLS0tIFxyXG4uY21zLXN1YnNpZGlhcnktbW9kdWxlIHtcclxuICAgIC5zZXJpZXMtY2FyZCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIERvbnQgZG8gdGhpcyB1c2UgZ3JpZC1tYXJnaW4teSBpbnN0ZWFkLlxyXG4gICAgICAgIC8vIG1hcmdpbjogMCAwIDI1cHg7XHJcbiAgICAgICAgcGFkZGluZzogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtcGFkZGluZztcclxuICAgICAgICBib3JkZXI6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWJvcmRlcjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctc2l6ZTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTEtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0xLWhlYWRpbmctaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1ob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjbXMtc3Vic2lkaWFyeS1sZXZlbC0yLWFuY2hvci1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNtcy1zdWJzaWRpYXJ5LWxldmVsLTItYW5jaG9yLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAgICAgXHJcbiAgICBcclxufVxyXG5cclxuLy8gLS0tLS0gRUJHIEluZm9yYW1hdGlvbiAtLS0tLVxyXG4uZWJnLWluZm9ybWF0aW9uLW1vZHVsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgfVxyXG4gICAgLmdyb3VwLWZ1bGwtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmdyb3VwLW5vdGVzIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogaW5oZXJpdDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZ3JvdXAtaW1hZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgXHJcbn1cclxuXHJcbi8vIC0tLS0tIEhlYWRpbmcgTW9kdWxlIC0tLS0tIFxyXG4ucGFnZS1oZWFkaW5nLW1vZHVsZSB7XHJcbiAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtb2R1bGVzLXBhZ2UtaGVhZGluZy1tYXJnaW4pO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1vZHVsZXMtcGFnZS1oZWFkaW5nLW1hcmdpbik7XHJcbiAgICB9XHJcbiAgICBoMSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5jbXMtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBTdXBwcmVzc2luZyBtYXJnaW4tYm90dG9tIHRvIGFsbG93IGZvciByb3cgKyBtb2R1bGUgc3BhY2luZyB0byBjb250cm9sIHRoZSBnYXAuXHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRGVidWcgZGlzcGxheXMgLS0tLS0gXHJcbi8vIC0tLSBNb2R1bGUgY29uZmlnIC0tLSBcclxuLm1vZHVsZS1jb25maWcge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgbGksIHN0cm9uZywgaDMge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgbGksIHN0cm9uZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnOic7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gQXBwbHkgbW9kdWxlIGVmZmVjdCBzdHlsZXMsIHRoZXNlIHNob3VsZCBiZSBvcHRpb25hbCBhbmQgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgc3R5bGVzICggYWJvdmUgKS5cclxuLy8gQ29tbW9uIGVmZmVjdCB2YXJpYWJsZXMgc2hhcmVkIGFjcm9zcyBhbGwgbW9kdWxlcy5cclxuLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAvLyBDb21tb24gc3R5bGVzIHRoYXQgYXJlIHVzZWQgYWNyb3NzIGFsbCBlZmZlY3Quc1xyXG4gICAgJi5lZmZlY3Qtc3R5bGUge1xyXG4gICAgICAgIC8vIC0tLS0tIFN0eWxlIG92ZXJyaWRlcyAtLS0tLVxyXG4gICAgICAgIC8vIEZvciBjb2xvdXIgb3B0aW9ucyBwbGVhc2UgcmVmZXIgdG8gZ2xvYmFsIENTUyB2YXJpYWJsZXMsIHRoZXNlIGFyZSBkZWZpbmVkIGluIHRoZSBnbG9iYWwgYXBwLnNjc3MuXHJcblxyXG4gICAgICAgIC8vIC0tLSBCb3JkZXIgT3B0aW9ucyAtLS1cclxuICAgICAgICAvLyBSYWRpdXMuXHJcbiAgICAgICAgLS1ib3JkZXItcmFkaXVzLXNtYWxsOiAxcHg7XHJcbiAgICAgICAgLS1ib3JkZXItcmFkaXVzLW1lZGl1bTogNXB4O1xyXG4gICAgICAgIC0tYm9yZGVyLXJhZGl1cy1sYXJnZTogMjUlO1xyXG4gICAgICAgIC0tYm9yZGVyLXJhZGl1cy14bGFyZ2U6IDUwJTtcclxuXHJcbiAgICAgICAgLy8gV2lkdGggaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9jc3NyZWYvcHJfYm9yZGVyLXdpZHRoLnBocC5cclxuICAgICAgICAtLWJvcmRlci13aWR0aC10aGluOiAxcHg7XHJcbiAgICAgICAgLS1ib3JkZXItd2lkdGgtbGlnaHQ6IDJweDtcclxuICAgICAgICAtLWJvcmRlci13aWR0aC1tZWRpdW06IDVweDtcclxuICAgICAgICAtLWJvcmRlci13aWR0aC1ib2xkOiAxMHB4O1xyXG5cclxuICAgICAgICAvLyAtLS0gSW1hZ2UgU2NhbGluZyAtLS1cclxuICAgICAgICAvLyBSZWR1Y2VcclxuICAgICAgICAtLWltYWdlLXJlZHVjZS1zbWFsbDogLjk1O1xyXG4gICAgICAgIC0taW1hZ2UtcmVkdWNlLW1lZGl1bTogLjgwO1xyXG4gICAgICAgIC0taW1hZ2UtcmVkdWNlLWxhcmdlOiAuNjA7XHJcblxyXG5cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAvLyBUaGlzIG1heSBuZWVkIHJlZmluaW5nIGxhdGVyIG9uIHRvIHNwZWNpZmljIHByb3BlcnRpZXMuXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDb2xsZWN0aW9uICggR3JpZCAmIENhcm91c2VscyApIHNwZWNpZmljIGVmZmVjdHMuXHJcbi5jb2xsZWN0aW9uLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAvLyBFZmZlY3QgU3R5bGVzICggc3BlY2lhbCBlZmZlY3RzIG9uIHRoaW5ncyBsaWtlIGltYWdlcyBib3JkZXIsIGJveC1zaGFkb3dzIClcclxuICAgICYuaW1hZ2UtYm9yZGVyIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCwgMTBweCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaW1hZ2UtcmFkaXVzLWFuaW1hdGlvbiB7XHJcbiAgICAgICAgLy8gRmFsbGJhY2sgcmFkaXVzLlxyXG4gICAgICAgICRyYWRpdXMtZmFsbGJhY2s6IDUwJTtcclxuICAgICAgICBcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIuaW1hZ2UsIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2Uge1xyXG4gICAgICAgICAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aCwgMTBweCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91ciwgJGNvbG91cjEpO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgLy8gQWRkIGluc2V0IHNoYWRvdy5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSk7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAkYm94U2hhZG93MjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1yYWRpdXMgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pIC8gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLCAjeyRyYWRpdXMtZmFsbGJhY2t9KSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFsdGVyYW50aXZlIG1hcmt1cCAoIGFzIGltYWdlIG1vZHVsZXMgbWFya3VwIGlzIGRpZmZlcmVudCB0byBwcm9kdWN0IClcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIuaW1hZ2Uge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMsICN7JHJhZGl1cy1mYWxsYmFja30pIC8gMik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItcmFkaXVzICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogY2FsYygodmFyKC0tYm9yZGVyLXJhZGl1cywgI3skcmFkaXVzLWZhbGxiYWNrfSkpIC8gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXJhZGl1cyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEludmVydCBjZWxsIHNoYWRvdyBzaG93cyB0aGUgYm94LXNoYWRvdyBhcyBkZWZhdWx0IGluc3RlYWQgb2Ygb24gaG92ZXIsIHRoaXMgZXNzZW50aWFsbHkgZG9lcyAkY29sbGVjdGlvbi1jZWxsLWJveC1zaGFkb3ctaW52ZXJ0IG9uIGEgbW9kdWxlIGxldmVsIGluc3RlYWQgb2YgYSBnbG9iYWwgbGV2ZWwuXHJcbiAgICAmLmludmVydC1jZWxsLXNoYWRvdyB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBGb3JjZSBvcGFjaXR5LlxyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgLy8gUmVkdWNlcyB0aGUgaW1hZ2Ugd2hlbiB0aGUgY29udGVudCBjb250YWluZXIgaXMgaG92ZXJlZC5cclxuICAgICYucmVkdWNlLWltYWdlLWhvdmVyIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIC8vIEZvcmNlIGJveC1zaGFkb3cgb24gY2VsbC5cclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuaW1hZ2U6aG92ZXIsICY6aG92ZXIgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIC8vIEZvcmNlIG9wYWNpdHkgMS5cclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tcmVkdWNlLWltYWdlLCAuOTUpKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWNvbnRhaW5lciAuaW1hZ2UgaW1nLCAuaW1hZ2UgaW1nIHtcclxuICAgICAgICAgICAgLy8gSWYgc21vb3RoIGVkZ2VzIGVuYWJsZWQgdGhlbiBlbnN1cmUgdGhlIGltYWdlIGhhcyByb3VuZGVkIGNvcm5lcnMsIHRoaXMgYWxzbyBuZWVkcyB0byBpbmNsdWRlIGhpZ2hsaWdodCBpdGVtIG92ZXJsYXlzIGFzIHdlbGwuXHJcbiAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmNlbGwtYm9yZGVyLWRlZmF1bHQge1xyXG4gICAgICAgIC5jb2xsZWN0aW9uLWl0ZW0gLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5ib3gtc2hhZG93LWRlZmF1bHQtaG92ZXItc3RhdGVzIHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmNtcy1tb2R1bGUuZWZmZWN0LXN0eWxlLm1vZHVsZS1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAmLm1vZHVsZS1ib3JkZXJzIHtcclxuICAgICAgICAkcGFkZGluZzogKFxyXG4gICAgICAgICAgICBzbWFsbDogMjBweCxcclxuICAgICAgICAgICAgbGFyZ2U6IDgwcHhcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBwYWRkaW5nOiAje3NtYWxsLXZhbHVlKCRwYWRkaW5nKX0gMCAwO1xyXG4gICAgICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm11bHRpbWVkaWEtdG9wIHtcclxuICAgICAgICAgICAgLmNvbnRlbnQtYmFubmVyIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubXVsdGltZWRpYS1yaWdodCB7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgpIHNvbGlkIHZhcigtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IHZhcigtLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubXVsdGltZWRpYS1ib3R0b20ge1xyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tdWx0aW1lZGlhLWxlZnQge1xyXG4gICAgICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoKSBzb2xpZCB2YXIoLS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogc21hbGwtdmFsdWUoJHBhZGRpbmcpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHNtYWxsLXZhbHVlKCRwYWRkaW5nKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHBhZGRpbmcpICN7KGxhcmdlLXZhbHVlKCRwYWRkaW5nKSArIDIwKX07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBBbmltYXRpb25zIEhUTUw1IENhbnZhcyAtLS0tLVxyXG4uYW5pbWF0aW9uLW1vZHVsZSB7XHJcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skaW1hZ2UtY29sbGVjdGlvbi1hc3BlY3QtcmF0aW99O1xyXG4gICAgW2RhdGEtYW5pbWF0aW9uXSB7XHJcbiAgICAgICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS1hc3BlY3QtcmF0aW8pO1xyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIENyZWF0ZSBndXR0ZXJzIGZvciBhIGNlbGwvY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBlaXRoZXIgbWFyZ2luIG9yIHBhZGRpbmcuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbiB0byBhcHBseSBndXR0ZXJzIHRvLiBBY2NlcHRzIGB0b3BgLCBgYm90dG9tYCwgYGxlZnRgLCBgcmlnaHRgIGluIGFueSBjb21iaW5hdGlvbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZWdhdGl2ZSBbZmFsc2VdIC0gV2hldGhlciB0byBhcHBseSB0aGUgZ3V0dGVyIGFzIGEgbmVnYXRpdmUgdmFsdWUuIENvbW1vbmx5IHVzZWQgZm9yIG5lc3RlZCBncmlkcy5cbkBtaXhpbiB4eS1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiByaWdodCBsZWZ0LFxuICAkbmVnYXRpdmU6IGZhbHNlXG4pIHtcbiAgJG9wZXJhdG9yOiBpZigkbmVnYXRpdmUsICctJywgJycpO1xuXG4gIC8vIElmIHdlIGhhdmUgZGVjbGFyZWQgbmVnYXRpdmUgZ3V0dGVycywgZm9yY2UgdHlwZSB0byBgbWFyZ2luLlxuICAkZ3V0dGVyLXR5cGU6IGlmKCRuZWdhdGl2ZSwgJ21hcmdpbicsICRndXR0ZXItdHlwZSk7XG5cbiAgLy8gT3V0cHV0IG91ciBtYXJnaW4gZ3V0dGVycy5cbiAgQGlmICh0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRndXR0ZXJzKSB7XG4gICAgICAkZ3V0dGVyOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKSAqIDAuNTtcblxuICAgICAgLy8gTG9vcCB0aHJvdWdoIGVhY2ggZ3V0dGVyIHBvc2l0aW9uXG4gICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICN7JGd1dHRlci10eXBlfS0jeyR2YWx1ZX06IHVucXVvdGUoXCIjeyRvcGVyYXRvcn0jeyRndXR0ZXJ9XCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAodHlwZS1vZigkZ3V0dGVycykgPT0gJ251bWJlcicpIHtcbiAgICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVycykgKiAwLjU7XG5cbiAgICAvLyBMb29wIHRocm91Z2ggZWFjaCBndXR0ZXIgcG9zaXRpb25cbiAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAjeyRndXR0ZXItdHlwZX0tI3skdmFsdWV9OiB1bnF1b3RlKFwiI3skb3BlcmF0b3J9I3skZ3V0dGVyfVwiKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qXHJcbi0tLS0tIFN0b2NrIEluZGljaWF0b3IocykgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBJbnN0b2NrLCBPdXQgb2Ygc3RvY2sgJiBMb3cgc3RvY2sgaWNvbnMuXHJcbi0gRW1haWwgd2hlbiBiYWNrIGluIHN0b2NrXHJcbiovXHJcblxyXG4uc3RvY2staW5kaWNhdG9yIHtcclxuICAgICYucHJlc2V0MSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xyXG4gICAgICAgICAgICBAaWYgKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZSAhPSBcIm5vcm1hbFwiKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiAkc3RvY2staW5kaWNhdG9yLWZvbnQtc3R5bGU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrTGV2ZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzdG9jay1pbmRpY2F0b3ItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnByZXNldDIge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgLy9TaGFyZWQgc3R5bGVzLlxyXG4gICAgICAgICYuc29oLTIsICYuc29oLTEsICYuc29oLTAge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwLCBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBBZGRpbmcgYSA+IHAgc2VsZWN0b3IgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHVudGlsIDc2Njk1MyBpcyBkb25lLlxyXG4gICAgICAgICAgICA+IHAsIHAsIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrLWluZGljYXRvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzdG9jay1pbmRpY2F0b3Itd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzdG9jay1pbmRpY2F0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRzdG9jay1pbmRpY2F0b3ItaWNvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3RvY2staW5kaWNhdG9yLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHN0b2NrLWluZGljYXRvci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6ICRzdG9jay1pbmRpY2F0b3ItZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFNoYXJlZCBzdHlsZXMgKCByZWdhcmRsZXNzIG9mIHByZXNldHMgKS5cclxuICAgICYuc29oLTIsICYuc29oLTEsICYuc29oLTAge1xyXG4gICAgICAgIC8vIEFkZGluZyBhID4gcCBzZWxlY3RvciBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgdW50aWwgNzY2OTUzIGlzIGRvbmUuXHJcbiAgICAgICAgPiBwLCBwLCAubGFiZWwge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAvLyBmb250LXNpemU6ICRzdG9jay1pbmRpY2F0b3ItaWNvbi1zaXplO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gLS0tIFN0b2NrIGxldmVrIHNwZWNpZmljIHN0eWxlcyAtLS1cclxuICAgIC8vIEhpZ2ggc3RvY2tcclxuICAgICYuc29oLTIge1xyXG4gICAgICAgIC8vIEFkZGluZyBhID4gcCBzZWxlY3RvciBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgdW50aWwgNzY2OTUzIGlzIGRvbmUuXHJcbiAgICAgICAgPiBwOmJlZm9yZSwgLmxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHNvaC0yKTtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMi1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRzdG9jay1pbmRpY2F0b3ItaWNvbi1zaXplLCBzb2gtMik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0yLWljb24tY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIExvdyBzdG9ja1xyXG4gICAgJi5zb2gtMSB7XHJcbiAgICAgICAgLy8gQWRkaW5nIGEgPiBwIHNlbGVjdG9yIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB1bnRpbCA3NjY5NTMgaXMgZG9uZS5cclxuICAgICAgICA+IHA6YmVmb3JlLCAubGFiZWw6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc29oLTEpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvaC0xLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJHN0b2NrLWluZGljYXRvci1pY29uLXNpemUsIHNvaC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTEtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9ja0xldmVsIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzb2gtMS1sZXZlbC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gTm8gc3RvY2tcclxuICAgICYuc29oLTAge1xyXG4gICAgICAgID4gcDpiZWZvcmUsIC5sYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzb2gtMCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTAtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkc3RvY2staW5kaWNhdG9yLWljb24tc2l6ZSwgc29oLTApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc3RvY2tMZXZlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29oLTAtbGV2ZWwtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC0tLSBTdG9jayBOb3RpZmljYXRpb25zIC0tLSBcclxuICAgICYubm90aWZpY2F0aW9uIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb2gtbm90aWZpY2F0aW9uLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAuc3RvY2stbm90aWZpY2F0aW9uLWljb246YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvaC1ub3RpZmljYXRpb24taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdG9jay1ub3RpZmljYXRpb24taWNvbik7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb2gtbm90aWZpY2F0aW9uLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc29oLW5vdGlmaWNhdGlvbi1zdGF0dXMtaWNvbi1zaXplO1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOm5vdCguYWN0aXZlKTpob3ZlciB7XHJcbiAgICAgICAgICAgIC5zdG9jay1ub3RpZmljYXRpb24taWNvbjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdG9jay1ub3RpZmljYXRpb24tYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBXaGVuIHRoZSBub3RpZmljYXRpb24gaGFkIHByZXZpb3VzbHkgYmVlbiBlbmFibGVkLlxyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnN0b2NrLW5vdGlmaWNhdGlvbi1pY29uOmFmdGVye1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvaC1ub3RpZmljYXRpb24taWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgW2RhdGEtdG9vbHRpcF0ge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb2xsZWN0aW9uLW9ubHktaW5kaWNhdG9yIHtcclxuICAgIGNvbG9yOiAkc3RvY2staW5kaWNhdG9yLWNvbG91cjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrLWluZGljYXRvci1mb250LXNpemUpO1xyXG4gICAgZm9udC1zdHlsZTogJHN0b2NrLWluZGljYXRvci1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRzdG9jay1pbmRpY2F0b3Itd2VpZ2h0O1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbGxlY3Rpb24tb25seSk7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJHNvaC1jb2xsZWN0aW9uLW9ubHktaWNvbi1zaXplO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNvaC1jb2xsZWN0aW9uLW9ubHktY3VzdG9tLWljb24pO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vLS0tIFN0b2NrIG5vdGlmaWNhdGlvbiBkZXRhaWxzIHByb21wdCAtLS0gXHJcbiNzdG9ja05vdGlmaWNhdGlvbkRldGFpbHMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy9PdmVycmlkaW5nIGZvdW5kYXRpb24ncyBzdHlsaW5nIGp1c3QgaW4gbW9iaWxlLlxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgIHRvcDogMTB2dyFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuY21zQ29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMjBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG4jbm90aWZpY2F0aW9uRm9ybUNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4jbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm0ge1xyXG4gICAgbWF4LXdpZHRoOiA4NXZ3O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDMwdnc7XHJcbiAgICB9XHJcbiAgICAjbm90aWZpY2F0aW9uRGV0YWlsc0Zvcm1TdWJtaXQge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjQpO1xyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDQ1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCRpY29uLXNpemUsICRjb2xvdXIzKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBcclxuICAgIH1cclxufVxyXG5cclxuW2RhdGEtc3RvY2staW5kaWNhdG9yLXVwZGF0ZV0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufSIsIi8vLS0tLS0gUHJvZHVjdCBwYWdlIC0tLS0tXHJcbi5wcm9kdWN0LWVucXVpcnktZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWd1dHRlcik7ICAgIFxyXG4gICAgLy8gV29ya291dCBoYWxmIG9mIGd1dHRlci5cclxuICAgICRlbnF1aXJ5LWd1dHRlcjogKHNwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1ndXR0ZXIsIDIsIG1lZGl1bSkgLyAyKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZ3JpZC1hdXRvLWNvbHVtbnM6IGF1dG87XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoY2FsYygzMCUgLSAjeyRlbnF1aXJ5LWd1dHRlcn0pLCAxZnIpIG1pbm1heChjYWxjKDcwJSAtICN7JGVucXVpcnktZ3V0dGVyfSksIDFmcik7XHJcbiAgICAgICAgLy9ncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwJSByZXBlYXQoYXV0by1maXQsIG1pbm1heCg1MDBweCwgNjAlKSk7XHJcbiAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1ndXR0ZXIpO1xyXG4gICAgICAgIC8vIFRoaXMgaXMgcHV0IGluIHBsYWNlIHNvIHRoYXQgc3RpY2t5IGltYWdlIGRvZXNuJ3Qgb3ZlcmxhcCBvbnRvIHRoZSB0YWJzIGFyZWEsIHllcyBpdHMgYSBoYWNrIGJ1dCB3aXRob3V0IHJlZGVzaWduaW5nIHRoZSBzdGlja3kgbWVjaGFuaXNtIDg0MzQ3MyB0aGVyZSBpcyBsaXR0bGUgd2UgY2FuIGRvLlxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBjYWxjKDUwJSAtICN7JGVucXVpcnktZ3V0dGVyfSkgY2FsYyg1MCUgLSAjeyRlbnF1aXJ5LWd1dHRlcn0pO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjAwcHgsIDFmcikpO1xyXG4gICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1ndXR0ZXIpO1xyXG4gICAgfVxyXG4gICAgLy8gRGVmaW5pbmcgdGhlIGdyaWQgdGhhdCBnZXRzIHVzZWQgZm9yIHRoZSBidWxrIG9mIHRoZSBkZXRhaWxzLlxyXG4gICAgLnByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXJpZ2h0LCAucHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtcmVzcG9uc2UtYXJlYSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLWd1dHRlcik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBJZiBpbnNpZGUgb2YgcHJvZHVjdCBlbnF1aXJ5IGRldGFpbHMgdGhlbiBkb24ndCBncm93IG90aGVyd2lzZSB0aGlzIGNvdWxkIHB1c2ggY29udGVudCBkb3duIHdoZW4gbWF0Y2hpbmcgdGhlIGhlaWdodCBvZiB0aGUgbWVkaWEgY29udGVudCBjb250YWluZXIgZS5nIGlmIHRoZSByZWZlcmVuY2VzIGlzIHVuZGVyIHRoZSBjYWxsYmFjayBjb250YWluZXIgdGhlIHJlZmVyZW5jZXMgd2lsbCBiZSBwdXNoZWQgZG93biBjYXVzaW5nIGEgbGFyZ2UgZ2FwLlxyXG4gICAgICAgIC5jYWxsYmFja0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJvZHVjdC1lbnF1aXJ5LW1vZHVsZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgdGhpcyBtb2R1bGUgZG9lcyBub3QgY29udGFpbmVyIGFueSBjaGlsZHJlbiB0aGVuIGRpc3BsYXk6IG5vbmU7IG90aGVyd2lzZSB0aGUgZ3JpZCBnYXAgaXMgc3RpbGwgcmVwcmVzZW50ZWQuXHJcbiAgICAgICAgJjpub3QoOmhhcygqKSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICBociB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLWJvcmRlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgc3R5bGluZyBmb3IgdGhpcyBzcGVjaWZpYyB0byB0aGlzIGFyZWEuXHJcbiAgICAucmV2ZWFsLXNvY2lhbC1pY29ucy1jb250YWluZXIge1xyXG4gICAgICAgIC5zaGFyZS1idXR0b24ge1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1zaGFyZS1idXR0b24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktc2hhcmUtYnV0dG9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFBhZ2UgSGVhZGluZyAtLS0tLVxyXG4ucHJvZHVjdC1lbnF1aXJ5LWhlYWRpbmctY29udGFpbmVyIHtcclxuICAgIC5wcm9kdWN0LWVucXVpcnktaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRwcm9kdWN0LW1haW4taGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC1tYWluLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LW1haW4taGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUHJvZHVjdCBzZWxlY3Rpb24gLS0tLS1cclxuLnByb2R1Y3QtZW5xdWlyeS1zZWxlY3Rpb24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1tb2R1bGUtZ3V0dGVyKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFF1YW50aXR5IHNlbGVjdGlvbiAtLS1cclxuLnF1YW50aXR5LW1vZHVsZSwgLnByb2R1Y3QtZW5xdWlyeS1xdWFudGl0eS1zZWxlY3RvciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgcXVhbnRpdHktc2VsZWN0b3ItbGFiZWwoKTtcclxuICAgIH1cclxuICAgIC5zZWxlY3Qge1xyXG4gICAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuXHJcbiNtYWluLXByb2R1Y3QtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWNvbnRhaW5lci1wYWRkaW5nKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1jb250YWluZXItcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICAvLyAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAvLyAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICAucXVhbnRpdHktbW9kdWxlIHtcclxuICAgIC8vICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgLy8gICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAvLyAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAvLyAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIC8vICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgLy8gICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAvLyAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgNDBweDtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICAubGFiZWwge1xyXG4gICAgLy8gICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgLy8gICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIC8vICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCB7XHJcbiAgICAvLyAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgLmNvbnRyb2wuc2VsZWN0IHtcclxuICAgIC8vICAgICAgICAgICAgIHdpZHRoOiAxMzBweDtcclxuICAgIC8vICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgLy8gICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgIC8vICAgICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuI3Byb2R1Y3RJbWFnZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogbWFwLWdldCgkcHJvZHVjdC1pbWFnZS1tYXJnaW4sIHNtYWxsKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvL3dpZHRoOiAkcHJvZHVjdC1pbWFnZS13aWR0aDtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2UtbWFyZ2luLCBsYXJnZSk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcclxuICAgIH1cclxuICAgICNhZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXdpZHRoO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYWRkaXRpb25hbEltYWdlU2xpZGVyQ29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcblxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICAuc2xpZGUge1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAudGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyNC0zO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYngtcHJldixcclxuICAgICAgICAuYngtbmV4dCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ4LXByZXYge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMzBweDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtc21hbGwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJ4LW5leHQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMXB4O1xyXG5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1zbWFsbC1pY29uKTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0yNzBkZWcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBPbGQgcnVsZXMsIHRoZXNlIHdpbGwgZXZlbnR1YWxseSBiZSBzdXBlcnNlZGVkIGJ5IHRoZSBuZXcgcHJvZHVjdCBlbnF1aXJ5IHJ1bGVzIC5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSA4MjM5NDNcclxuI21haW5JbWFnZUNvbnRhaW5lciB7XHJcbiAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAvLyBoZWlnaHQ6IDU1MHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIC8vIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAvLyAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAjeyhzcGFjaW5nLXZhbHVlKCRwYWdlLWd1dHRlciwgMikgKiAyKX0gLSAjeyhzcGFjaW5nLXZhbHVlKCRnbG9iYWwteHktZ3JpZC1tYXJnaW4tZ3V0dGVycywgMikgKiAyKX0pO1xyXG4gICAgLy8gICAgIGhlaWdodDogY2FsYygxMDB2dyAtICN7KHNwYWNpbmctdmFsdWUoJHBhZ2UtZ3V0dGVyLCAyKSAqIDIpfSAtICN7KHNwYWNpbmctdmFsdWUoJGdsb2JhbC14eS1ncmlkLW1hcmdpbi1ndXR0ZXJzLCAyKSAqIDIpfSk7XHJcbiAgICAvLyB9XHJcbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gd2lkdGg6IDU1MHB4O1xyXG4gICAgICAgIC8vIGhlaWdodDogNTUwcHg7XHJcbiAgICAvLyB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAvLyB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAvLyBNb3ZlZCB0byBheGlzLWxpZ2h0Ym94LnNjc3NcclxuICAgICAgICAvLyAmOmJlZm9yZSB7XHJcbiAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xyXG4gICAgICAgIC8vICAgICBwYWRkaW5nOiAzcHggMTJweDtcclxuICAgICAgICAvLyAgICAgY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICAgICAgLy8gICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjQtMztcclxuICAgICAgICAvLyAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIC5vdmVybGF5IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5vdmVybGF5IHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICYuaW1hZ2UtMzYwIHtcclxuICAgICAgICBAaW5jbHVkZSBpbWFnZTM2ME92ZXJsYXkoKTtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTUwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSwgI21haW5JbWFnZUNvbnRhaW5lci5wcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZSB7XHJcbiAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBkZWZhdWx0LWNvbG91cigkcHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogaG92ZXItY29sb3VyKCRwcm9kdWN0LWVucXVpcnktbWFpbi1pbWFnZS1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgLy8gRHVlIG5vdCBrbm93aW5nIHdoYXQgc2l6ZSBpbWFnZSB3ZSBjb3VsZCBnZXQgdGhlbiBhc3NpZ24gYSBtaW4gd2lkdGggJiBoZWlnaHQgdG8gc2NhbGUgdGhlIGltYWdlIHVwIHNsaWdodGx5LCBldmVuIHRob3VnaCBpdCB3aWxsIGJlIGxvdyBxdWFsaXR5IGl0IGlzIHN0aWxsIGJldHRlciB0aGFuIGhhdmluZyBhIGJhcmVseSBub3RpY2FibGUgaW1hZ2UsIGlmIHVzaW5nIHRoZSBtYWduaWZpY2F0aW9uIGxpYnJhcnkgdGhlbiB0aGlzIHdpbGwgYmUgc2NhbGVkIGFnYWluLiBXaGVuIGFkanVzdGluZyB0aGVzZSB2YXJpYWJsZXMga2VlcCBpbiBtaW5kIHdlIG5lZWQgdG8gc3VwcG9ydCBtaXhlZCBhc3BlY3QgcmF0aW8gaW1hZ2VzLlxyXG4gICAgICAgIG1pbi13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDtcclxuICAgIH1cclxuICAgICYgKyAucHJvZHVjdC1lbnF1aXJ5LWFkZGl0aW9uYWwtaW1hZ2VzIHtcclxuICAgICAgICAmOmhhcyhpbWcpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tLSBIaWdobGlnaHRlZCBCYW5uZXJzIC0tLS0tLVxyXG4vLyBUT0RPOiBPTEQgV0FZIE9GIEhBTkRMSU5HIFRISVMgQ0FOIEJFIFJFTU9WRUQgT05DRSA4MjM5NDMgQ09NUExFVEVEXHJcbi5wcm9kdWN0LW92ZXJsYXktbW9kdWxlIHtcclxuICAgIG1hcmdpbjogMCAyMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBvcmRlcjogMTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgID4gYSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleDogMCAxIGNhbGMoMzMlIC0gMTVweCk7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAxMnB4O1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzbikge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuICsgMSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ucHJvZHVjdC1lbnF1aXJ5LWhpZ2hsaWdodGVkLWJhbm5lcnMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcclxuICAgIGdhcDogMTBweDtcclxuICAgIG1hcmdpbjogNXB4IDAgMTBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg1LCAxZnIpO1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwIDE1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tLSBSZWZlcmVuY2UsIFBhcnQgQ29kZSwgQWx0IFJlZiAtLS0tLS1cclxuLnBhcnQtY29kZS1jb250YWluZXIge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgfVxyXG59XHJcbi5wYXJ0LWNvZGUtY29udGFpbmVyLCAucHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtY29kZS1mb250LXNpemUpO1xyXG4gICAgY29sb3I6ICRjb2RlLWNvbG91cjtcclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWNvZGUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1jb2RlLXRleHQtdHJhbmZvcm0gIT0gbm9uZSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtY29kZS10ZXh0LXRyYW5mb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4ucHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcmVmZXJlbmNlLXBhZGRpbmcpO1xyXG4gICAgZ2FwOiAxMHB4IDI1cHg7XHJcbiAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZXMtZW5hYmxlZCkge1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1ib3JkZXI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHBhZGRpbmc6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXJlZmVyZW5jZS1wYWRkaW5nKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0tIExhYmVsICsgVmFsdWUgUGFpciAtLS0tLS1cclxuLy8gR2VuZXJpYyBjb250YWluZXIgdXNlZCB0byBkaXNwbGF5IHNtYWxsIHBpZWNlJ3Mgb2YgZGF0YSB3aXRoIGEgbGFiZWwgYXMgYSBwcmVmaXguXHJcbi5wcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1hbGlnbi1pdGVtcztcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1nYXApO1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBjb2xvcjogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWxhYmVsLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmFsdWUge1xyXG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC1lbnF1aXJ5LWxhYmVsLXZhbHVlLXBhaXItdmFsdWUtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS1mb250LXdlaWdodDtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktbGFiZWwtdmFsdWUtcGFpci12YWx1ZS10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGJ1dHRvbiwgLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWFsaWduLWl0ZW1zO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jcHJvZHVjdCB7XHJcbiAgICAjcHJvZHVjdC1pbmZvLWxlZnQge1xyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LW1haW4taGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtbWFpbi1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1tYWluLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkcHJvZHVjdC1tYWluLWhlYWRpbmctbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1tYWluLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcblxyXG4gICAgLy9SZW1vdmUgcXVhbnRpdHkgc2VsZWN0b3IgbGFiZWwgZm9yIHNsaWRlci5cclxuICAgIC5zbGlkZSAubGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLmFkZEJ1dHRvbkNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICB9XHJcblxyXG4gICAgI3Byb2R1Y3Qtbm90ZXMge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LW5vdGVzLWhlYWRpbmctc2l6ZSk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtICE9IG5vbmUpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkcHJvZHVjdC1ub3Rlcy1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwLCBsaSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3Qtbm90ZXMtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1ub3Rlcy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3Qtbm90ZXMtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJvZHVjdC1yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLXJlYWQtbW9yZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50YWJiZWQtcmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRwcm9kdWN0LW5vdGVzLXJlYWQtbW9yZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNhbHRlcm5hdGl2ZS1vcHRpb25zIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgzIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1hbHQtb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcm91c2VsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1lbnF1aXJ5LWJhc2tldC1idXR0b24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWJ1eS1idXR0b24tbWFyZ2luKTtcclxuICAgIG9yZGVyOiA0O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW46IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LWJ1eS1idXR0b24tbWFyZ2luKTtcclxuICAgIH1cclxufVxyXG5cclxuLmhhemFyZC1zdGF0ZW1lbnQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMjtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAuaGF6YXJkLWljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMTBweDtcclxuICAgICAgICAmICsgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5oYXphcmQtaWNvbiB7XHJcbiAgICAgICAgd2lkdGg6IDc1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgICAgICAmLmhhei1jYXQtdG94aWMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWFjdXRlLXRveGljaXR5LWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1nYXMge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWNvbXByZXNzZWQtZ2FzLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1jb3Jyb3NpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWNvcnJvc2l2ZS1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtZW52aXJvbm1lbnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWVudmlyb25tZW50YWwtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LWV4cGxvc2l2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtZXhwbG9zaXZlLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1mbGFtbWFibGUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWZsYW1tYWJsZS1pY29uLnN2ZycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhhei1jYXQtb3pvbmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLWhhcm1mdWwtaWNvbi5zdmcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oYXotY2F0LW94aWRpc2luZyB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkc2hhcmVkLWljb25zLWhhemFyZC1zdGF0ZW1lbnRzLWRpcmVjdG9yeSArICdoYXphcmQtb3hpZGlzaW5nLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGF6LWNhdC1oZWFsdGgge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJHNoYXJlZC1pY29ucy1oYXphcmQtc3RhdGVtZW50cy1kaXJlY3RvcnkgKyAnaGF6YXJkLXNlcmlvdXMtaGVhbHRoLWljb24uc3ZnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhhemFyZC1pbmZvLWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDIwcHg7XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWhhemFyZC1zdGF0ZW1lbnQtaGFhZGluZy10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LWVucXVpcnktaGF6YXJkLXN0YXRlbWVudC1oYWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgobnVsbCwgbnVsbCwgJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgLmhhemFyZC1pY29ucy1jb250YWluZXIsIC5oYXphcmQtaW5mby1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gR2VuZXJpYyBtdWx0aS1saW5lIGNvbnRhaW5lciAtLS0tLVxyXG4vLyBVc2VkIGZvciBpbmZvcm1hdGlvbiBzdWNoIGFzIG5vdGVzICYgc3BlY2lmaWNhdGlvbnMuXHJcbi5wcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAubXVsdGktbGluZS1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLW1hcmdpbjtcclxuICAgICAgICBoMiwgaDMsIGg0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0gIT0gbm9uZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm11bHRpLWxpbmUtY29udGVudCB7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICAgICAgdWwsIG9sIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCwgbGkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLXBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtZW5xdWlyeS1tdWx0aS1saW5lLXBhcmFncmFwaC1jb2xvdXI7XHJcbiAgICAgICAgICAgIC8vbGluZS1oZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcm9kdWN0LW5vdGVzIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1ub3Rlcy1tYXJnaW4pIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC1lbnF1aXJ5LW11bHRpLWxpbmUtbm90ZXMtbWFyZ2luO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwYWRkaW5nOiAwIDAgI3skcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtc3BhY2luZ307XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGVzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogI3skcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtc3BhY2luZ307XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0LWVucXVpcnktZGV0YWlscy1zZXBlcmF0b3ItcnVsZS1ib3JkZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAmOm5vdCg6aGFzKC5yZWFkLW1vcmUtY29udGVudCkpIHtcclxuICAgICAgICAgICAgICAgICAvLyBUaGlzIGdldHMgb3ZlcnJpZGRlbiBieSB0aGUgSmF2YVNjcmlwdCBvbmNlIGluaXRpYWxpc2VkLlxyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBTcGVjaWZpY2F0aW9uICAoIGJ1bGxldCBsaXN0ICkgLS0tXHJcbiNzcGxpdC1zcGVjaWZpY2F0aW9uIHtcclxuICAgIHVsIHtcclxuICAgICAgICBAaW5jbHVkZSBidWxsZXRwb2ludCgpO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgfVxyXG4gICAgbGksIHAsIGEsIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAkc3BlY2lmaWNhdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc3BlY2lmaWNhdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3BlY2lmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJHNwZWNpZmljYXRpb24tbGluZS1oZWlnaHQ7XHJcbiAgICB9XHJcbn1cclxuLnNwbGl0LXNwZWNpZmljYXRpb24ge1xyXG4gICAgcGFkZGluZzogMjBweCAwOyAgXHJcbn1cclxuXHJcbiNwcm9kdWN0LXByaWNlLWNvbnRhaW5lciB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgb3JkZXI6IDI7XHJcbiAgICB9XHJcbiAgICAvLyBAaW5jbHVkZSBwcmljZSgpO1xyXG4gICAgLnByaWNlcyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vICoqIERvIG5vdCBzZXQgd2lkdGggb3RoZXJ3aXNlIHRoaXMgd2lsbCBjYXVzZSBzdG9ja2xpbmUgcHJpY2UgdG8gcHJlLW1hdHVyZWx5IHdyYXAsIHJldmVyc2luZyB0aGlzIGNoYW5nZSBmb3Igd2hvbGVzYWxlIGFzIHRoZWlyIG92ZXJhbCBwcmljZSBzdHlsaW5nIGlzIGNvbXBsZXRlbHkgZGlmZmVyZW50IHRvIG90aGVyIGV4cHJlc3Mgc2l0ZXMuXHJcbiAgICAgICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLWNvbHVtbi13aWR0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkcHJvZHVjdC1wcmljZS1jb2x1bW4td2lkdGg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gUHJpY2VzIG9yZGVyaW5nLlxyXG4gICAgLnJycCB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFjay1wcmljZSB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLnBhY2stc2l6ZSB7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlICE9ICRwcmljZS1mb250LXNpemUpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmljZS1zaXplLW92ZXJyaWRlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFjay1pdGVtLXByaWNlIHtcclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA2O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zYXZpbmcge1xyXG4gICAgICAgIEBpZiAoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSAhPSAkcHJpY2UtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJpY2Utc2l6ZS1vdmVycmlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnByaWNlIHtcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAmOmVtcHR5IHtcclxuICAgICAgICAgICAgICAgICYgKyAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA1O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUgIT0gJHByaWNlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXByaWNlLXNpemUtb3ZlcnJpZGUpO1xyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1pbmRpdmlkdWFsLXByaWNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcHRpb25hbC1leHRyYXMtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMCAkcHJvZHVjdC1lbnF1aXJ5LWRldGFpbHMtc2VwZXJhdG9yLXJ1bGUtc3BhY2luZztcclxuICAgIEBpZiAoJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLXNwYWNpbmc7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHByb2R1Y3QtZW5xdWlyeS1kZXRhaWxzLXNlcGVyYXRvci1ydWxlLWJvcmRlcjtcclxuICAgIH1cclxuICAgIHRhYmxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIC8vIFVzZSB0aGUgb2xkIHN0eWxpbmcgcHJlLXByb2R1Y3QgcGFnZSByZWZhY3Rvci5cclxuICAgICAgICB0cjpub3QoOmhhcyguaW1hZ2UtY29sKSkge1xyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvZGUtY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTI1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnByaWNlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0ZC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjgwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvZGUtY29sIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZS1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWRkLWNvbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIHRkLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgLy8gICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIHRoLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBnYXA6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWdhcDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1vcHRpb25hbC1leHRyYXMtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWFuY2hvci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRjb2xsZWN0aW9uLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY29kZS1jb2wge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tY29kZS1mb250LXNpemUpO1xyXG4gICAgfVxyXG4gICAgLmltYWdlLWNvbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuaW50cm8tY29udGFpbmVyIHtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDVweDtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKG51bGwsIG51bGwsICRwcm9kdWN0LWVucXVpcnktbXVsdGktbGluZS1wYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuI3Byb2R1Y3QtY2FzZS1wcmljaW5nLCAjcHJvZHVjdC1wcmljZS1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDAgNXB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIEZhdm91cml0ZXMgLS0tLS1cclxuLnByb2R1Y3QtZW5xdWlyeS1mYXZvdXJpdGVzLWNvbnRhaW5lciB7XHJcbiAgICAuZmF2b3VyaXRlcyB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tLSBRdWFudGl0eSBQcmljZSBCcmVhayBNb2R1bGUgLS0tLS0tXHJcbiNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcsIC5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIC8vd2lkdGg6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXdpZHRoO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMCAwIDQwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gd2lkdGg6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgYXV0bztcclxuICAgIH1cclxuICAgIC5xdWFudGl0eS1icmVhay1tb2R1bGUtZGVzY3JpcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIGNvbG9yOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtcXVhbnRpdHktcHJjaWUtYnJlYWstaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwcm9kdWN0LXF1YW50aXR5LXByY2llLWJyZWFrLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGlmICgkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLWJvcmRlcikge1xyXG4gICAgICAgICAgICBib3JkZXI6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYm9yZGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLWhlYWRpbmctYmFja2dyb3VuZC1jb2xvdXIpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtcXVhbnRpdHktcHJpY2UtYnJlYWstaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1oZWFkaW5nLXNhdmUtYW1vdW50LWNvbG91cjtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtcXVhbnRpdHktcHJjaWUtYnJlYWstaGVhZGluZy1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0YWJsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS1tYXJnaW47XHJcbiAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkaW5nIGRlZmF1bHQgcGFkZGluZyB0byBicmluZyBoZWFkaW5nIHRleHQgaW4gY2xvc2VyIGFzIGl0IHdhcyBsb29raW5nIGEgYml0IGRpcy1qb2ludGVkIHdpdGggdGhlIHRhYmxlIGNvbnRlbnQgKCB0aGlzIGlzIHN0eWxlZCBjb21wbGV0ZWx5IGRpZmZlcmVudCBmb3IgZWdwbCApLlxyXG4gICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay10YWJsZS10aC1wYWRkaW5nO1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXRoLWNvbG91cikge1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgdGFibGUgcHJlc2V0LTEgY29sb3VyLlxyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXRoLWNvbG91cjtcclxuICAgICAgICAgICAgfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICBAaWYgKCRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXN1cHByZXNzLWhlYWRlci1nYXApIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICYuc2F2aW5ncy1jb2wge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpY2UtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1xdWFudGl0eS1wcmljZS1icmVhay1zYXZpbmctY29sLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWFudGl0eS1jb2wge1xyXG4gICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucHJpY2UtcGVyLWl0ZW0tY29sIHtcclxuICAgICAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnNhdmluZ3MtY29sIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwcm9kdWN0LXF1YW50aXR5LWJyZWFrLXByaWNpbmcsIC5ncm91cGVkLXByb2R1Y3QtbW9kdWxlcyB7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWVucXVpcnktcHJpY2UtYnJlYWstY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMjBweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIFByb2R1Y3QgZW5xdWlyeSBwcmljaW5nIC0tLSBcclxuLy8gU2luZ2xlIGl0ZW1cclxuLnByb2R1Y3QtZW5xdWlyeS1zaW5nbGUtcHJpY2luZyB7XHJcbiAgICAtLXByaWNlLW1heC13aWR0aDogI3tzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1tYXgtd2lkdGgpfTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgLS1wcmljZS1tYXgtd2lkdGg6ICN7bWVkaXVtLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1heC13aWR0aCl9O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC0tcHJpY2UtbWF4LXdpZHRoOiAje2xhcmdlLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1heC13aWR0aCl9O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBTdG9ja2xpbmVzIC8gR3JvdXBcclxuLnByb2R1Y3QtZW5xdWlyeS1ncm91cC1wcmljaW5nIHtcclxuICAgIC8vIEJlY2F1c2UgdGhlcmUgaXMgc3VjaCB2YXJpYXRpb24gaW4gcHJpY2luZyBnb2luZyB3aXRoIGEgbW9yZSBmcmVlLWZvcm0gYXBwcm9hY2guXHJcbiAgICAtLXByaWNlLW1heC13aWR0aDogMWZyO1xyXG59XHJcblxyXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nIHtcclxuICAgIC5wcmljZXMgLnByaWNlIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucHJvZHVjdC1lbnF1aXJ5LXNpbmdsZS1wcmljaW5nLCAucHJvZHVjdC1lbnF1aXJ5LWdyb3VwLXByaWNpbmcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAucHJpY2VzIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCk7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgje3NtYWxsLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtY29sdW1uLW1pbi13aWR0aCl9LCB2YXIoLS1wcmljZS1tYXgtd2lkdGgpKSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgJGd1dHRlcnM6IChzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXAsIDIpIC8gMik7XHJcbiAgICAgICAgICAgIC8vIFNldCAxOTBweCBhcyBtaW4gc2l6ZSB0byBhbGxvdyBmb3IgMiBjb2x1bW4gdGFibGV0IHZpZXcuXHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoI3ttZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1jb2x1bW4tbWluLXdpZHRoKX0sIGNhbGModmFyKC0tcHJpY2UtbWF4LXdpZHRoKSAtICN7JGd1dHRlcnN9KSkpO1xyXG4gICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAkZ3V0dGVyczogKHNwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCwgMiwgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgIC8vIFNldCAxOTBweCBhcyBtaW4gc2l6ZSB0byBhbGxvdyBmb3IgMiBjb2x1bW4gdGFibGV0IHZpZXcuXHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoI3tsYXJnZS12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1taW4td2lkdGgpfSwgY2FsYyh2YXIoLS1wcmljZS1tYXgtd2lkdGgpIC0gI3skZ3V0dGVyc30pKSk7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wcmljZS1ncm91cC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIC8vIElmIHRoaXMgbW9kdWxlIGRvZXMgbm90IGNvbnRhaW5lciBhbnkgY2hpbGRyZW4gdGhlbiBkaXNwbGF5OiBub25lOyBvdGhlcndpc2UgdGhlIGdhcCArIHNlcGVyYXRvciBpcyBzdGlsbCBzaG93biwgOmVtcHR5IGRvZXNuJ3Qgd29yayBoZXJlIGFzIHRoYXQgZG9lc24ndCBpbmNsdWRlIHdoaXRlc3BhY2UuXHJcbiAgICAgICAgICAgICY6bm90KDpoYXMoKikpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpoYXMoICsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopIHtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogY2FsYygje3NwYWNpbmctdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1wcmljZS1ncmlkLWdhcCwgMSl9IC8gMiAqIC0xKTtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0yO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICRsYXJnZXItbW9iaWxlLWJyZWFrcG9pbnQ6IChzbWFsbC12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWNvbHVtbi1taW4td2lkdGgpICogMikgKyBzcGFjaW5nLXZhbHVlKCRwcm9kdWN0LWVucXVpcnktcHJpY2UtZ3JpZC1nYXAsIDIpICsgJGdyaWQtY29udGFpbmVyLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIC8vIEJlc3Bva2UgYnJlYWtwb2ludCBhcyB0aGlzIHJ1bGUgY2hhbmdlcyBtaWQgbW9iaWxlIGJyZWFrcG9pbnQgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGxhcmdlci1tb2JpbGUtYnJlYWtwb2ludCkge1xyXG4gICAgICAgICAgICAgICAgJjpoYXMoICsgLnByaWNlLWdyb3VwLWNvbnRhaW5lciA+ICopIHtcclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDkwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKCN7c3BhY2luZy12YWx1ZSgkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWdyaWQtZ2FwLCAyLCBtZWRpdW0pfSAvIDIgKiAtMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogdW5zZXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJi5ycnAsICYuc2F2aW5nIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnJycCArIC5zYXZpbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5wcmljZSwgJi5ncm91cC1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpub3QoOmVtcHR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmUgaW5jb25zaXN0ZW50IHdpdGggb3RoZXIgcHJpY2luZyBhbmQgYWxsb3cgdGhlIHZhbHVlIHRvIGFsaWduIHRvIHRoZSBsZWZ0IGR1ZSB0byB0aGUgZm9udC1zaXplLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1pbmRpdmlkdWFsLXByaWNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1lbnF1aXJ5LXByaWNlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAudmF0IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3Byb2R1Y3QtY2FzZS1wcmljaW5nIHtcclxuICAgIC5jYXNlLXByaWNlIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtY2FzZS1wcmljZS1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEBpbmNsdWRlIHByaWNlKCk7XHJcbiAgICAucHJpY2Uge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kZWxpdmVyeS1jb3VudGRvd24tY29udGFpbmVyIFtkYXRhLWNvdW50ZG93bi10aW1lXSB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbiNhZGRpdGlvbmFsLWltYWdlcywgLnByb2R1Y3QtZW5xdWlyeS1hZGRpdGlvbmFsLWltYWdlcyB7IFxyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgJi5hY3RpdmUgIHtcclxuICAgICAgICAgICAgLnRodW1ibmFpbCBhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy10aHVtYm5haWwtYm9yZGVyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtYWN0aXZlLW9wYWNpdHk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50aHVtYm5haWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXRodW1ibmFpbC1ib3JkZXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXIgJHRyYW5zaXRpb25JbnRybztcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLXRodW1ibmFpbC1ib3JkZXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy10aHVtYm5haWwtYm9yZGVyLCBhY3RpdmUtY2xpY2spO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyICR0cmFuc2l0aW9uSW50cm87IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmLmltYWdlLTM2MCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBpbWFnZTM2ME92ZXJsYXkoODAlLCA1NXB4KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnZpZGVvLXRodW1ibmFpbCBpbWcge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLmdyb3VwZWQtcHJvZHVjdC1tb2R1bGVzIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDtcclxuICAgIH1cclxuICAgID4gbGkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJHByb2R1Y3QtZ3JvdXBlZC1zZWNvbmQtaXRlbS1ib3JkZXItdG9wO1xyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0LWdyb3VwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgLy8gd2lkdGg6ICRwcm9kdWN0LXF1YW50aXR5LXByaWNlLWJyZWFrLXRhYmxlLXdpZHRoO1xyXG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBhLCA+IHNwYW4sID4gcCwgPiBkaXYgeyBcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhLCBzcGFuIHtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206ICRwcm9kdWN0LWdyb3VwZWQtYm9yZGVyLXdpZHRoIHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucmF0aW5nLXN1bW1hcnktZGlzcGxheSB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNhZGRpdGlvbmFsLWltYWdlLWdyaWQsIC5hZGRpdGlvbmFsLWltYWdlLWdyaWQge1xyXG4gICAgLmFkZGl0aW9uYWwtaW1hZ2UteCB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtIG1hcC1nZXQoJG1vZHVsZXMtZ3JpZC1ndXR0ZXIsIHNtYWxsKSAvIDIpO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLSBtYXAtZ2V0KCRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCBzbWFsbCkgIC8gMik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtIG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIG1lZGl1bSkgLyAyKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbWVkaXVtKSAgLyAyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0gbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtIG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIGxhcmdlKSAgLyAyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGh1bWJuYWlsIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgc21hbGwpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsIG1lZGl1bSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE1vYmlsZSBsYXlvdXQuXHJcbiAgICAuc21hbGwtdXAtMSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbWFsbC11cC0yIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAyLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNtYWxsLXVwLTMge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDMsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc21hbGwtdXAtNCB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNCwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbWFsbC11cC01IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA1LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gVGFibGV0IGxheW91dC5cclxuICAgIC5tZWRpdW0tdXAtMSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDEsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVkaXVtLXVwLTIge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAyLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm1lZGl1bS11cC0zIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMywgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tZWRpdW0tdXAtNCB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDQsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVkaXVtLXVwLTUge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA1LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRGVza3RvcCBsYXlvdXQuXHJcbiAgICAubGFyZ2UtdXAtMSB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgMSwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYXJnZS11cC0yIHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiAyLCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhcmdlLXVwLTMge1xyXG4gICAgICAgID4udGh1bWJuYWlsIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbCgxIG9mIDMsIG51bGwsICRwcm9kdWN0LWFkZGl0aW9uYWwtaW1hZ2VzLWdyaWQtZ3V0dGVyLCAnbWFyZ2luJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubGFyZ2UtdXAtNCB7XHJcbiAgICAgICAgPi50aHVtYm5haWwge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEgb2YgNCwgbnVsbCwgJHByb2R1Y3QtYWRkaXRpb25hbC1pbWFnZXMtZ3JpZC1ndXR0ZXIsICdtYXJnaW4nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYXJnZS11cC01IHtcclxuICAgICAgICA+LnRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwoMSBvZiA1LCBudWxsLCAkcHJvZHVjdC1hZGRpdGlvbmFsLWltYWdlcy1ncmlkLWd1dHRlciwgJ21hcmdpbicpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gU3RvY2sgbGluZXMgLS0tLS0gXHJcbi5zdG9ja2xpbmUtYXR0cmlidXRlLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiBzbWFsbC12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1nYXApO1xyXG4gICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItbWFyZ2luKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRzdG9ja2xpbmUtYXR0cmlidXRlLWdhcCk7XHJcbiAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkc3RvY2tsaW5lLWF0dHJpYnV0ZS1jb250YWluZXItbWFyZ2luKTtcclxuICAgIH1cclxuICAgIC5jb250cm9sIHtcclxuICAgICAgICAuY29udHJvbC1zZWxlY3QtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRzdG9ja2xpbmUtYXR0cmlidXRlLW1heC13aWR0aDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC1zZWxlY3Qtb3B0aW9uLnVuYXZhaWxhYmxlLW9wdGlvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHN0b2NrbGluZS1vcHRpb24tYmFja2dyb3VuZC1jb2xvdXIsIHVuYXZhaWxhYmxlKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHN0b2NrbGluZS1vcHRpb24tY29sb3VyLCB1bmF2YWlsYWJsZSk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuODtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYWJlbCwgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJHN0b2NrbGluZS1sYWJlbC13aWR0aCk7XHJcbiAgICAgICAgY29sb3I6ICRzdG9ja2xpbmUtbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0b2NrbGluZS1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc3RvY2tsaW5lLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRzdG9ja2xpbmUtbGFiZWwtd2lkdGgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hdHRyaWJ1dGUtZGlzcGxheSB7XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmF0dHJpYnV0ZS1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogc21hbGwtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLXdpZHRoKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJHN0b2NrbGluZS1hdHRyaWJ1dGUtY29udGFpbmVyLXdpZHRoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFN1cHByZXNzaW5nIGFzIHRoaXMgZ2V0cyBjYWxsZWQgaW4gQGNtcy1saXN0cyB3aGljaCBnZXRzIGNhbGxlZCBpbiB0aGUgYWNjb3JkaW9uLXRhYnMgc3R5bGVzLlxyXG4vLyAudGFiYmVkLW5vdGVzLWNvbnRhaW5lciwgLnRhYmJlZC1jbXMtZW50cnkge1xyXG4vLyAgICAgdWwge1xyXG4vLyAgICAgICAgIEBpbmNsdWRlIGJ1bGxldHBvaW50KCk7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuXHJcbiNwcm9kdWN0LWluZm8tbGVmdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICAjcHJvZHVjdC1zcGVjaWZpY2F0aW9uLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wYXJ0LWNvZGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNwcm9kdWN0SW1hZ2UsIC5wcm9kdWN0LWVucXVpcnktbWFpbi1tdWx0aW1lZGlhLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucHJlc2V0LTIge1xyXG4gICAgICAgICNwcm9kdWN0LXNwZWNpZmljYXRpb24tZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnBhcnQtY29kZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICAgICAgI3Byb2R1Y3RJbWFnZSwgLnByb2R1Y3QtZW5xdWlyeS1tYWluLW11bHRpbWVkaWEtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0gVGFicyAvIEFjY29yZGlvbiBhcmVhIC0tLVxyXG4ucHJvZHVjdC1lbnF1aXJ5LXRhYnMtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDM1cHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMjVweCAwIDQ1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWp1c3RpZnktY29udGVudDogKFxyXG4gICAgc21hbGw6IGNlbnRlclxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gLS0tIFByZXZpb3VzbHkgcHVyY2hhc2VkIC0tLSBcclxuLnByb2R1Y3QucHJldmlvdXNseS1wdXJjaGFzZWQtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1qdXN0aWZ5LWNvbnRlbnQpO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyKTtcclxuICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtbWFyZ2luKTtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLXBhZGRpbmcpO1xyXG4gICAgYm9yZGVyOiAkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ib3JkZXItd2lkdGggc29saWQgJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtYm9yZGVyLWNvbG91cjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWJhY2tncm91bmQ7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWd1dHRlcik7XHJcbiAgICAgICAgbWFyZ2luOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtbWFyZ2luKTtcclxuICAgICAgICBwYWRkaW5nOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtcGFkZGluZyk7XHJcbiAgICB9XHJcbiAgICBoMyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtc2l6ZSkpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG91cjtcclxuICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWp1c3RpZnktY29udGVudCkgPT0gXCJjZW50ZXJcIikge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1oZWFkaW5nLWZvbnQtc2l6ZSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtZW5xdWlyeS1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52aWV3LW9yZGVyLWxpbmsge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItNCwgMCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC12aWV3LW9yZGVyLWJ1dHRvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvL21hcmdpbjogMCAwIDAgKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWl0ZW0tc3BhY2luZyAqIDIuMSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNtYWxsLXZhbHVlKCRwcm9kdWN0LXByZXZpb3VzbHktcHVyY2hhc2VkLWp1c3RpZnktY29udGVudCk7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXIpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IG1lZGl1bS12YWx1ZSgkcHJvZHVjdC1wcmV2aW91c2x5LXB1cmNoYXNlZC1ndXR0ZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtcHJldmlvdXNseS1wdXJjaGFzZWQtZ3V0dGVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlLmN1c3RvbS1zdG9jay10YWJsZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgIC8vIEJhc2ljYWxseSB0aGlzIGlzIGEgaGVhZGluZyByb3cuXHJcbiAgICAgICAgICAgICZbY29sc3Bhbj1cIjJcIl0ge1xyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHh5LWdyaWRcbi8vLy9cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyBmbGV4IHZhbHVlIGZvciBhIGNlbGwgYmFzZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBBY2NlcHRzIGBmdWxsYCwgYGF1dG9gLCBgc2hyaW5rYCwgYGdyb3dgLCBvciBhbnkgb3RoZXIgdmFsdWUgcmVwcmVzZW50aW5nIGEgY2VsbCBzaXplIChpdCB3aWxsIGJlIHRyZWF0ZWQgYXMgYHNocmlua2ApLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IFRoZSBjZWxsIGZsZXggcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gIEBpZiAoJHNpemUgPT0gJ2F1dG8nKSB7XG4gICAgQHJldHVybiAxIDEgMDtcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ2dyb3cnKSB7XG4gICAgQHJldHVybiAxIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAoJHNpemUgPT0gJ3Nocmluaycgb3IgJHNpemUgPT0gJ2Z1bGwnIG9yIHpmLWlzLWZyYWN0aW9uKCRzaXplLCAkYWxsb3ctbm8tZGVub21pbmF0b3I6IHRydWUpKSB7XG4gICAgQHJldHVybiAwIDAgYXV0bztcbiAgfVxuICBAcmV0dXJuIG51bGw7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIHNpemUgb2YgYSBjZWxsIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBndXR0ZXJzIG1hcCBgJGd1dHRlcnNgLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfE1hcH0gVGhlIGNlbGwgZ3V0dGVyIHNpemUgb3IgdGhlIHJlc3BvbnNpdmUgZ3V0dGVycyBtYXAuXG5AZnVuY3Rpb24geHktY2VsbC1ndXR0ZXJzKFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgLy8gRm9yIGBhdXRvYCwgcmV0dXJucyB0aGUgcmVzcG9uc2l2ZSBtYXAgYCRndXR0ZXJzYC5cbiAgQGlmICgkYnJlYWtwb2ludCA9PSAnYXV0bycpIHtcbiAgICBAcmV0dXJuICRndXR0ZXJzO1xuICB9XG5cbiAgLy8gVXNlIHRoZSBjb250ZXh0dWFsIGJyZWFrcG9pbnQgYnkgZGVmYXVsdC5cbiAgJGJyZWFrcG9pbnQ6IC16Zi1jdXJyZW50LWJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpO1xuXG4gIEBpZiAoJGJyZWFrcG9pbnQpIHtcbiAgICBAcmV0dXJuIC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gLXpmLWdldC1icC12YWwoJGd1dHRlcnMsICQtemYtemVyby1icmVha3BvaW50KSBvciAwO1xuICB9XG59XG5cbi8vLyBSZXR1cm5zIHRoZSBwZXJjZW50YWdlIHNpemUgb2YgYSBjZWxsLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHNpemUgWyRncmlkLWNvbHVtbnNdIC0gU2l6ZSB0byBtYWtlIHRoZSBjZWxsLiBZb3UgY2FuIHBhc3MgYSB2YWx1ZSBpbiBtdWx0aXBsZSBmb3JtYXRzLCBzdWNoIGFzIGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzNgLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gU2l6ZSBvZiB0aGUgY2VsbCAoaW4gcGVyY2VudCkuXG5AZnVuY3Rpb24geHktY2VsbC1zaXplKFxuICAkc2l6ZTogJGdyaWQtY29sdW1uc1xuKSB7XG4gIEByZXR1cm4gZnJhY3Rpb24tdG8tcGVyY2VudGFnZSgkc2l6ZSwgJGRlbm9taW5hdG9yOiAkZ3JpZC1jb2x1bW5zKTtcbn1cblxuLy8vIFJldHVybnMgdGhlIGFwcHJvcHJpYXRlIENTUyB2YWx1ZSBmb3IgYSBjZWxsIHNpemUuXG4vLy9cbi8vLyBHdXR0ZXJzLXJlbGF0ZWQgYXJndW1lbnRzIGFyZSByZXF1aXJlZCBmb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycyAoYnkgZGVmYXVsdCkgYXMgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIENhbiBiZSBgZnVsbGAsIGBhdXRvYCwgYHNocmlua2Agb3IgYW55IGZyYWN0aW9uIGxpa2UgYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIHJldHVybnMgYSBtYXAgb2Ygc2l6ZXMgYWRhcHRlZCB0byByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfE1hcH0gVGhlIGNlbGwgc2l6aW5nIHByb3BlcnR5IHZhbHVlLCBvciBhIHJlc3BvbnNpdmUgbWFwIG9mIHRoZW0uXG5AZnVuY3Rpb24geHktY2VsbC1zaXplLWNzcyhcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsXG4pIHtcbiAgJG1hcmdpbi1ndXR0ZXI6IDA7XG5cbiAgQGlmICgkc2l6ZSA9PSAnYXV0bycgb3IgJHNpemUgPT0gJ3NocmluaycpIHtcbiAgICBAcmV0dXJuIGF1dG87XG4gIH1cblxuICAvLyBGb3IgY2VsbHMgd2l0aCBtYXJnaW4gZ3V0dGVycywgdGhlIGd1dHRlciBpcyBpbmNsdWRlZCBpbiB0aGUgd2lkdGguXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG4gICAgJG1hcmdpbi1ndXR0ZXI6IHh5LWNlbGwtZ3V0dGVycygkZ3V0dGVycywgJGJyZWFrcG9pbnQpO1xuICAgIEBpZiAoJG1hcmdpbi1ndXR0ZXIgPT0gbnVsbCkge1xuICAgICAgQGVycm9yICd4eS1jZWxsLXNpemU6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgICB9XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgdGhlIGNlbGwgc2l6ZSAobnVtYmVyKVxuICAkc2l6ZS1yYXc6IGlmKCRzaXplID09ICdmdWxsJywgMTAwJSwgeHktY2VsbC1zaXplKCRzaXplKSk7XG5cbiAgLy8gQ2FsY3VsYXRlIHRoZSBjZWxsIENTUyBzaXplIGluY2x1ZGluZyBndXR0ZXJzIChzdHJpbmcpXG4gIC8vIElmIHRoZSBjZWxsIGhhcyByZXNwb25zaXZlIG1hcmdpbiBndXR0ZXJzLCByZXR1cm4gYSByZXNwb25zaXZlIG1hcCBvZiBzaXplcy5cbiAgQGlmIHR5cGUtb2YoJG1hcmdpbi1ndXR0ZXIpID09ICdtYXAnIHtcbiAgICAkcmVzcG9uc2l2ZS1jc3Mtc2l6ZXM6ICgpO1xuXG4gICAgQGVhY2ggJGJwLCAkbWcgaW4gJG1hcmdpbi1ndXR0ZXIge1xuICAgICAgJG1nYzogcmVtLWNhbGMoJG1nKTtcbiAgICAgIEBpZiAkbWdjID09IDAge1xuICAgICAgICAkbWdjOiAwcmVtO1xuICAgICAgfVxuICAgICAgJHNpemUtY3NzOiBpZigkbWcgPT0gMCwgJHNpemUtcmF3LCBjYWxjKCN7JHNpemUtcmF3fSAtICN7JG1nfSkpO1xuICAgICAgJHJlc3BvbnNpdmUtY3NzLXNpemVzOiBtYXAtbWVyZ2UoJHJlc3BvbnNpdmUtY3NzLXNpemVzLCAoJGJwOiAkc2l6ZS1jc3MpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRyZXNwb25zaXZlLWNzcy1zaXplcztcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiBhIHNpbmdsZSBDU1Mgc2l6ZS5cbiAgQGVsc2Uge1xuICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAkbWdjOiByZW0tY2FsYygkbWFyZ2luLWd1dHRlcik7XG4gICAgQGlmICRtZ2MgPT0gMCB7XG4gICAgICAkbWdjOiAwcmVtO1xuICAgIH1cbiAgICAkY3NzLXNpemU6IGlmKCRtYXJnaW4tZ3V0dGVyID09IDAsICRzaXplLXJhdywgY2FsYygjeyRzaXplLXJhd30gLSAjeyRtZ2N9KSk7XG4gICAgQHJldHVybiAkY3NzLXNpemU7XG4gIH1cbn1cblxuLy8vIFNldHMgYmFzZSBmbGV4IHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSBbZnVsbF0gLSBUaGUgc2l6ZSBvZiB5b3VyIGNlbGwuIEFjY2VwdHMgYGZ1bGxgLCBgYXV0b2AsIGBzaHJpbmtgLCBgZ3Jvd2AsIG9yIGFueSBvdGhlciB2YWx1ZSByZXByZXNlbnRpbmcgYSBjZWxsIHNpemUgKGl0IHdpbGwgYmUgdHJlYXRlZCBhcyBgc2hyaW5rYCkuXG5AbWl4aW4geHktY2VsbC1iYXNlKCRzaXplOiBmdWxsKSB7XG4gICRiYXNlOiB4eS1jZWxsLWJhc2UoJHNpemUpO1xuXG4gIGZsZXg6ICN7JGJhc2V9O1xuXG4gIC8vIFNldCBiYXNlIHN0eWxlcyBmb3IgXCJmdWxsXCIgb25seVxuICBAaWYoJHNpemUgPT0gJ2Z1bGwnKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIFJlc2V0cyBhIGNlbGxzIHdpZHRoIChvciBoZWlnaHQgaWYgdmVydGljYWwgaXMgdHJ1ZSkgYXMgd2VsbCBhcyBzdHJpcHMgaXRzIGd1dHRlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1yZXNldCgkdmVydGljYWw6IHRydWUpIHtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsID09IHRydWUsIGhlaWdodCwgd2lkdGgpO1xuICAjeyRkaXJlY3Rpb259OiBhdXRvO1xuICBtYXgtI3skZGlyZWN0aW9ufTogbm9uZTtcbn1cblxuLy8vIFNldHMgc2l6aW5nIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gR3V0dGVycy1yZWxhdGVkIGFyZ3VtZW50cyBhcmUgcmVxdWlyZWQgZm9yIGNlbGxzIHdpdGggbWFyZ2luIGd1dHRlcnMgKGJ5IGRlZmF1bHQpIGFzIHRoZSBndXR0ZXIgaXMgaW5jbHVkZWQgaW4gdGhlIHdpZHRoLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBUeXBlIG9mIGd1dHRlciB0byBvdXRwdXQuIEFjY2VwdHMgYG1hcmdpbmAsIGBwYWRkaW5nYCBvciBgbm9uZWAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS4gSWYgYGF1dG9gLCBnZW5lcmF0ZXMgc2l6ZXMgYWRhcHRlZCBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzLiBJZiB1c2luZyB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0aGlzIHdpbGwgYmUgc2V0IGF1dG9tYXRpY2FsbHkgdW5sZXNzIG1hbnVhbGx5IGVudGVyZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkdmVydGljYWwgW2ZhbHNlXSAtIFNldCB0byB0cnVlIHRvIG91dHB1dCB2ZXJ0aWNhbCAoaGVpZ2h0KSBzdHlsZXMgcmF0aGVyIHRoYW4gd2lkdGhzLlxuQG1peGluIHh5LWNlbGwtc2l6ZShcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgJHNpemVzOiB4eS1jZWxsLXNpemUtY3NzKCRzaXplLCAkZ3V0dGVycywgJGd1dHRlci10eXBlLCAkYnJlYWtwb2ludCk7XG4gICRkaXJlY3Rpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCBoZWlnaHQsIHdpZHRoKTtcblxuICBAaWYgKHR5cGUtb2YoJHNpemVzKSA9PSAnbWFwJykge1xuICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKGF1dG8sICRzaXplcykge1xuICAgICAgI3skZGlyZWN0aW9ufTogJC16Zi1icC12YWx1ZTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICN7JGRpcmVjdGlvbn06ICRzaXplcztcbiAgfVxufVxuXG4vLy8gU2V0cyBndXR0ZXJzIHByb3BlcnRpZXMgZm9yIGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtbWFyZ2luLWd1dHRlcnNdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSBmb3IgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFR5cGUgb2YgZ3V0dGVyIHRvIG91dHB1dC4gQWNjZXB0cyBgbWFyZ2luYCwgYHBhZGRpbmdgIG9yIGBub25lYC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRndXR0ZXItcG9zaXRpb24gW251bGxdIC0gVGhlIHBvc2l0aW9uIHRvIGFwcGx5IGd1dHRlcnMgdG8uIEFjY2VwdHMgYHRvcGAsIGBib3R0b21gLCBgbGVmdGAsIGByaWdodGAgaW4gYW55IGNvbWJpbmF0aW9uLiBCeSBkZWZhdWx0IGByaWdodCBsZWZ0YCBmb3IgaG9yaXpvbnRhbCBjZWxscyBhbmQgYHRvcCBib3R0b21gIGZvciB2ZXJ0aWNhbCBjZWxscy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgW251bGxdIC0gVGhlIG5hbWUgb2YgdGhlIGJyZWFrcG9pbnQgc2l6ZSBpbiB5b3VyIGd1dHRlcnMgbWFwIHRvIGdldCB0aGUgc2l6ZSBmcm9tLiBJZiBgYXV0b2AsIGdlbmVyYXRlcyByZXNwb25zaXZlIGd1dHRlcnMuIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gRGlyZWN0aW9uIG9mIHRoZSBndXR0ZXJzIHRvIG91dHB1dC4gU2VlIGAkZ3V0dGVyLXBvc2l0aW9uYC5cbkBtaXhpbiB4eS1jZWxsLWd1dHRlcnMoXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgLy8gR2V0IHRoZSBkZWZhdWx0IGd1dHRlciBwb3NpdGlvbiBhY2NvcmRpbmcgdG8gY2VsbCBkaXJlY3Rpb25cbiAgQGlmKCRndXR0ZXItcG9zaXRpb24gPT0gbnVsbCkge1xuICAgICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcbiAgfVxuXG4gIC8vIEdldCB0aGUgZ3V0dGVyIHdpZHRoIGZvciB0aGlzIGJyZWFrcG9pbnRcbiAgJGd1dHRlci13aWR0aDogeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gIEBpZiAoJGd1dHRlci13aWR0aCA9PSBudWxsKSB7XG4gICAgQGVycm9yICd4eS1jZWxsLWd1dHRlcnM6IG5vIGd1dHRlcnMgd2VyZSBmb3VuZCBpbiBgJGd1dHRlcnNgIGZvciBcIiRicmVha3BvaW50OiAjeyRicmVha3BvaW50fVwiJztcbiAgfVxuXG4gIEBpZiAoJGd1dHRlci10eXBlIGFuZCAkZ3V0dGVyLXR5cGUgIT0gbm9uZSkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlci13aWR0aCwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGNlbGwgZm9yIHlvdXIgZ3JpZC5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFtmdWxsXSAtIFRoZSBzaXplIG9mIHlvdXIgY2VsbC4gQ2FuIGJlIGBmdWxsYCAoMTAwJSB3aWR0aCksIGBhdXRvYCAodXNlIGFsbCBhdmFpbGFibGUgc3BhY2UpLCBgc2hyaW5rYCAodXNlIG9ubHkgdGhlIHJlcXVpcmVkIHNwYWNlKSBvciBhbnkgZnJhY3Rpb24gKGA2YCwgYDUwJWAsIGAxIG9mIDJgIG9yIGAxLzJgLi4uKS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIGBhdXRvYCwgZ2VuZXJhdGVzIHJlc3BvbnNpdmUgZ3V0dGVycy4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBTZXQgdG8gdHJ1ZSB0byBvdXRwdXQgdmVydGljYWwgKGhlaWdodCkgc3R5bGVzIHJhdGhlciB0aGFuIHdpZHRocy5cbi8vLyBAcGFyYW0ge0xpc3R9ICRvdXRwdXQgWyhiYXNlIHNpemUgZ3V0dGVycyldIC0gQ2VsbCBwYXJ0cyB0byBvdXRwdXQuIFlvdSB3aWxsIG5lZWQgdG8gZ2VuZXJhdGUgb3RoZXJzIHBhcnRzIG9mIHRoZSBjZWxsIHNlcGVyYXRlbHksIGl0IG1heSBub3Qgd29yayBwcm9wZXJseSBvdGhlcndpc2UuXG5AbWl4aW4geHktY2VsbChcbiAgJHNpemU6IGZ1bGwsXG4gICRndXR0ZXItb3V0cHV0OiBudWxsLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkZ3V0dGVyLXBvc2l0aW9uOiBudWxsLFxuICAkYnJlYWtwb2ludDogbnVsbCxcbiAgJHZlcnRpY2FsOiBmYWxzZSxcbiAgJG91dHB1dDogKGJhc2Ugc2l6ZSBndXR0ZXJzKVxuKSB7XG4gIC8vIERlZmF1bHQgZm9yICRndXR0ZXItb3V0cHV0XG4gIEBpZiAoJGd1dHRlci1vdXRwdXQgIT0gbnVsbCkge1xuICAgIEB3YXJuICd4eS1jZWxsOiAkZ3V0dGVyLW91dHB1dCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQuIFNlZSBtaWdyYXRpb24gbm90ZXMgYXQgaHR0cHM6Ly9naXQuaW8vZm91bmRhdGlvbi02LTYtMCc7XG4gICAgQGlmICgkZ3V0dGVyLW91dHB1dCA9PSBmYWxzZSkge1xuICAgICAgJG91dHB1dDogc2wtcmVtb3ZlKCRvdXRwdXQsIGd1dHRlcnMpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgYmFzZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2UoJHNpemUpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgc2l6ZSkpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJHNpemUsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRicmVha3BvaW50LCAkdmVydGljYWwpO1xuICB9XG4gIEBpZiAoaW5kZXgoJG91dHB1dCwgZ3V0dGVycykpIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWd1dHRlcnMoJGd1dHRlcnMsICRndXR0ZXItdHlwZSwgJGd1dHRlci1wb3NpdGlvbiwgJGJyZWFrcG9pbnQsICR2ZXJ0aWNhbCk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW5nbGUgYnJlYWtwb2ludCBzaXplZCBncmlkLiBVc2VkIHRvIGdlbmVyYXRlIG91ciBncmlkIGNsYXNzZXMuXG4vLy9cbi8vLyBgeHktY2VsbC1zdGF0aWMoKWAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLlxuLy8vIFVzZSBgeHktY2VsbCgpYCBpbnN0ZWFkIHdpdGggYCRvdXRwdXQ6IChzaXplIGd1dHRlcnMpYCB0byBub3QgZ2VuZXJhdGUgdGhlIGNlbGwgYmFzZS5cbi8vLyBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTBcbi8vL1xuLy8vIEBkZXByZWNhdGVkIHY2LjYuMFxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgW2Z1bGxdIC0gVGhlIHNpemUgb2YgeW91ciBjZWxsLiBDYW4gYmUgYGZ1bGxgICgxMDAlIHdpZHRoKSwgYGF1dG9gICh1c2UgYWxsIGF2YWlsYWJsZSBzcGFjZSksIGBzaHJpbmtgICh1c2Ugb25seSB0aGUgcmVxdWlyZWQgc3BhY2UpIG9yIGFueSBmcmFjdGlvbiAoYDZgLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuLi4pLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGd1dHRlci1vdXRwdXQgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gb3V0cHV0IGd1dHRlcnMuIEFsd2F5cyBgdHJ1ZWAgZm9yIG1hcmdpbiBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG5AbWl4aW4geHktY2VsbC1zdGF0aWMoXG4gICRzaXplOiBmdWxsLFxuICAkZ3V0dGVyLW91dHB1dDogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6ICQtemYtemVyby1icmVha3BvaW50LFxuICAkdmVydGljYWw6IGZhbHNlXG4pIHtcbiAgQHdhcm4gJ3h5LWNlbGwtc3RhdGljKCkgbWl4aW4gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkLiBVc2UgXCJ4eS1jZWxsKClcIiBpbnN0ZWFkLiBTZWUgbWlncmF0aW9uIG5vdGVzIGF0IGh0dHBzOi8vZ2l0LmlvL2ZvdW5kYXRpb24tNi02LTAnO1xuXG4gICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG4gICRndXR0ZXItcG9zaXRpb246IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCB0b3AgYm90dG9tLCBsZWZ0IHJpZ2h0KTtcblxuICAkLWd1dHRlci1vdXRwdXQ6IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgdHJ1ZSwgJGd1dHRlci1vdXRwdXQpO1xuICAkLWd1dHRlci1tYXJnaW46IGlmKCRndXR0ZXItdHlwZSA9PSAnbWFyZ2luJywgJGd1dHRlciwgMCk7XG5cbiAgQGluY2x1ZGUgLXh5LWNlbGwtcHJvcGVydGllcygkc2l6ZSwgJC1ndXR0ZXItbWFyZ2luLCAkdmVydGljYWwpO1xuICBAaWYgKCQtZ3V0dGVyLW91dHB1dCkge1xuICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlciwgJGd1dHRlci10eXBlLCAkZ3V0dGVyLXBvc2l0aW9uKTtcbiAgfVxufVxuIiwiLy8tLS0tLSBCYXNrZXQgLS0tLS0gXHJcbi8vIFRPRE86IFRoaXMgY291bGQgZG8gd2l0aCBiZWluZyByZW1vdmVkIGF0IHNvbWUgcG9pbnQuXHJcbiRiYXNrZXRIZWFkQm9yZGVyQ29sb3VyOiAkY29sb3VyMy0zO1xyXG4kYmFza2V0Qm9keUZvbnRTaXplOiAxNHB4O1xyXG4kYmFza2V0Qm9keURlc2NyaXB0aW9uRm9udFNpemU6ICRiYXNrZXRCb2R5Rm9udFNpemU7XHJcbiRiYXNrZXRCb2R5UXVhbnRpdHlGb250U2l6ZTogJGJhc2tldEJvZHlGb250U2l6ZTtcclxuJGJhc2tldEJvZHlTdWJUb3RhbEZvbnRTaXplOiAkYmFza2V0Qm9keUZvbnRTaXplO1xyXG4kYmFza2V0Qm9keUNvbG91cjogJGNvbG91cjMtMztcclxuJGJhc2tldEJvZHlDb2RlQ29sb3VyOiAkYmFza2V0Qm9keUNvbG91cjtcclxuJGJhc2tldEJvZHlRdWFudGl5Q29sb3VyOiAkYmFza2V0Qm9keUNvbG91cjtcclxuJGJhc2tldEJvZHlSZW1vdmVDb2xvdXI6ICRjb2xvdXIzLTM7XHJcblxyXG4jYmFza2V0LWZvcm0ge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4jYmFza2V0LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4jYmFza2V0LXRhYmxlIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIEBpbmNsdWRlIG9yZGVyLXRhYmxlKCk7XHJcbiAgICAvLyBTdXBwcmVzcyBtb2JpbGUgbGFiZWxzIGFzIHRoZXkncmUgbm90IHJlYWxseSByZXF1aXJlZC5cclxuICAgIC5iYXNrZXQtZGVzY3JpcHRpb24tY29sLCAuYmFza2V0LWNvZGUtY29sLCAuYmFza2V0LXN1Yi10b3RhbC1jb2wge1xyXG4gICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUucXVpY2stb3JkZXItZm9ybS10YWJsZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwMHB4IDFmciAzMHB4O1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KC5pbWFnZS1jb2wpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmltYWdlLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgZ3JpZC1yb3c6IHNwYW4gNDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMi4yJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnN0b2NrLWRlc2NyaXB0aW9uLWxldmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiAkYmFza2V0LXN0b2NrLWRlc2NyaXB0aW9uLWdhcDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkdGJvZHktYW5jaG9yLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHRib2R5LWFuY2hvci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHRib2R5LWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29kZS1jb2wge1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIGdyaWQtcm93OiAyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJpY2UtY29sIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMiAvIHNwYW4gMztcclxuICAgICAgICBncmlkLXJvdzogMztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnF1YW50aXR5LWNvbCB7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDQ7XHJcbiAgICB9XHJcbiAgICAuYWRkLWNvbCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTguOSU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmFkZFRvQmFza2V0Lmljb24sIC5iYXNrZXQtYWRkLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gQmFza2V0IHRhYmxlIHN0eWxlcy5cclxuLy8gdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSBjYW4gYmUgcmVtb3ZlZCBhZnRlciA4MjEyMjkgcmVmYWN0b3IuXHJcbnRhYmxlLmJhc2tldC10YWJsZSwgdGFibGUjYmFza2V0LXRhYmxlLmJhc2tldC10YWJsZSB7XHJcbiAgICB0Ym9keSB7XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnI7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgICAgIC5jb2wtbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBydWxlIHNldCBieSAjYmFza2V0LXRhYmxlIGFzIG5ldyBkZXNpZ24gODIxMjI5IGNhbGwncyBmb3IgbGFiZWxzLlxyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSW1wbGVtZW50aW5nIGEgbmVzdGVkIGdyaWQsIHRoaXMgY2FuIGJlIHJlbW92ZWQgYWZ0ZXIgODIxMjI5IHJlZmFjdG9yIGFzIHRoZSBpbWFnZSBzaG91bGQgaGF2ZSBpdHMgb3duIGNvbHVtbi5cclxuICAgIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxMDBweCAxZnI7XHJcbiAgICAgICAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUaGlzIGNhbiBiZSByZW1vdmVkIGFmdGVyIDgyMTIyOSByZWZhY3RvciBhcyB0aGUgZ3JpZCB3aWxsIGRpY3RhdGUgdGhlIHNpemUgb2YgdGhlIHRpbWUgaW1hZ2UuXHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgbmVlZCB0byBmaXQgdGhlIGltYWdlIGV4YWN0bHkgZHVlIHRvIGFwcGx5aW5nIGEgd2hpdGUgYmFja2dyb3VuZCBmb3IgcG5nIGltYWdlcy5cclxuICAgICAgICAgICAgLy8gSGFja3kgYnV0IGNhbiBiZSByZW1vdmVkIGFmdGVyIDgyMTIyOSByZWZhY3Rvci5cclxuICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zdG9jay1kZXNjcmlwdGlvbi1sZXZlbCB7XHJcbiAgICAgICAgICAgIGdhcDogJGJhc2tldC1zdG9jay1kZXNjcmlwdGlvbi1nYXA7XHJcbiAgICAgICAgICAgIC5zdG9jay1pbmRpY2F0b3Ige1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1jb2RlLWNvbCwgLmJhc2tldC1wcmljZS1jb2wsIC5iYXNrZXQtcXVhbnRpdHksIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCwgLmJhc2tldC1yZW1vdmUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1jb2RlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJhc2tldC1wcmljZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiAzO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYmFza2V0LXByaWNlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICYuYWxpZ24tcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW4geyBcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudmF0LXJhdGUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXF1YW50aXR5IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgICAgICBncmlkLXJvdzogNDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYXNrZXQtc3ViLXRvdGFsLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXJlbW92ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgIGdyaWQtcm93OiA2O1xyXG4gICAgICAgIH0gXHJcbiAgICAgICAgLnJlbW92ZS1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jYmFza2V0LXN0aWNreS1zdW1tYXJ5LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbiNiYXNrZXQge1xyXG4gICAgLmJhc2tldC1pdGVtLXJvdyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRGVsaXZlcnkgQXJlYSBTZWxlY3RvclxyXG4gICAgI2Jhc2tldC1kZWxpdmVyeSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkYmFza2V0LWRlbGl2ZXJ5LW1hcmdpbiwgc21hbGwpO1xyXG4gICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJGJhc2tldC1kZWxpdmVyeS1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2tldC1kZWxpdmVyeS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBib3JkZXI6ICRiYXNrZXQtZGVsaXZlcnktYm9yZGVyO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIG1hcmdpbjogbWFwLWdldCgkYmFza2V0LWRlbGl2ZXJ5LW1hcmdpbiwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRiYXNrZXQtZGVsaXZlcnktcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1kZWxpdmVyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtZGVsaXZlcnkpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRiYXNrZXQtZGVsaXZlcnktaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmNtcy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNoZWNrb3V0LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICY6aGFzKC5zZXBlcmF0b3I6bm90KDplbXB0eSkpIHtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgICAgICYuaW52YWxpZCB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBuby1kcm9wO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNzYWdlcGF5LWNoZWNrb3V0LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tcGFkZGluZywgJGNoZWNrb3V0LXNhZ2VwYXktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY2hlY2tvdXQtc2FnZXBheS1idXR0b24tY29sb3VyLCAkY2hlY2tvdXQtc2FnZXBhZ2UtYnV0dG9uLWJvcmRlci1jb2xvdXIsICRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1mb250LXNpemUsICRjaGVja291dC1zYWdlcGF5LWJ1dHRvbi1mb250LXdlaWdodCwgKHdpZHRoOiAxMDAlKSwgKHNtYWxsOiAwLCBsYXJnZTogMCkpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjaGVja291dC1idXR0b25zLWNvbnRhaW5lci10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAjY29udGludWUtc2hvcHBpbmctYnV0dHRvbiB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICBtYXgtd2lkdGg6IDIzMHB4O1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIsIC5zdW1tYXJ5LWl0ZW0ge1xyXG4gICAgJiArIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgIH1cclxufVxyXG5cclxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIge1xyXG4gICAgJi52b3VjaGVyIHtcclxuICAgICAgICBsYWJlbDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBiYXNrZXQtdm91Y2hlcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi52YXQge1xyXG4gICAgICAgIGxhYmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC12YXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46ICRiYXNrZXQtc3VtbWFyeS1pbnB1dC1jb250YWluZXItbWFyZ2luO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICRiYXNrZXQtc3VtbWFyeS1pbnB1dC1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaW5wdXQtbGFiZWwtZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYmFza2V0LXN1bW1hcnQtaW5wdXQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGJhc2tldC1zdW1tYXJ5LWlucHV0LWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGJhc2tldC1zdW1tYXJ5LWlucHV0LWxhYmVsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1bW1hcnktaW5wdXQtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogbm8td3JhcDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pcy1pbnZhbGlkLWNvbnRhaW5lciArIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwIDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1bW1hcnktaW5wdXQge1xyXG4gICAgICAgIGhlaWdodDogJGJhc2tldC1zdW1tYXJ5LWlucHV0LWhlaWdodDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pbnB1dC1mb250LXNpemUpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1zdW1tYXJ0LWlucHV0LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1pbnB1dC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLXZhbGlkLWlucHV0ICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtYXBwbHktYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuc3VtbWFyeS1pbnB1dC1zdWJtaXQge1xyXG4gICAgICAgICYuYXBwbHkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoMTJweCwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1hcHBseS1iYWNrZ3JvdW5kLWNvbG91ciwgJGJhc2tldC1zdW1tYXJ5LXN1Ym1pdC1jb2xvdXIsICgpLCAkYmFza2V0LXN1bW1hcnktc3VibWl0LWZvbnQtc2l6ZSwgXCJcIiwgKHdpZHRoOiBhdXRvKSwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVtb3ZlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDEycHgsICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtcmVtb3ZlLWJhY2tncm91bmQtY29sb3VyLCAkYmFza2V0LXN1bW1hcnktc3VibWl0LWNvbG91ciwgKCksICRiYXNrZXQtc3VtbWFyeS1zdWJtaXQtZm9udC1zaXplLCBcIlwiLCAod2lkdGg6IGF1dG8pLCAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FsbG91dCB7XHJcbiAgICAgICAgQGluY2x1ZGUgb24tcGFnZS1ub3RpZmljYXRpb25zKCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBTdW1tYXJ5IHdhcm5pbmcgY29udGFpbmVyIC0tLSBcclxuLnN1bW1hcnktaXRlbS1pbnB1dC1jb250YWluZXIgKyAud2FybmluZy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxufVxyXG4ud2FybmluZy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuJGJhc2tldC1jb250cm9scy1nYXA6IChcclxuICAgIHNtYWxsOiAxNXB4LFxyXG4gICAgbGFyZ2U6IDE1cHhcclxuKTtcclxuXHJcbiNiYXNrZXQtY29udHJvbHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW46IDIwcHggMCAzNXB4O1xyXG4gICAgZ2FwOiBzcGFjaW5nLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwLCAxKSAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW46IDI1cHggMCA1MHB4O1xyXG4gICAgICAgIGdhcDogc3BhY2luZy12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCwgMSwgbGFyZ2UpIDA7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIGdhcDogc21hbGwtdmFsdWUoJGJhc2tldC1jb250cm9scy1nYXApO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwKTtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudXBkYXRlLWJhc2tldCB7XHJcbiAgICAgICAgJGJhc2tldC11cGRhdGUtYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHVwZGF0ZSksXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhZnRlcixcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4LFxyXG4gICAgICAgICAgICBjb2xvdXI6IChcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICAgICAgICAgICAgICBob3ZlcjogaG92ZXItY29sb3VyKCRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1jb2xvdXIpLFxyXG4gICAgICAgICAgICAgICAgYWN0aXZlOiBhY3RpdmUtY29sb3VyKCRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1jb2xvdXIpXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZCxcclxuICAgICAgICAgICAgc2l6ZTogJGJhc2tldC11cGRhdGUtaWNvbi1zaXplLCAgXHJcbiAgICAgICAgKTtcclxuICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGJhc2tldC11cGRhdGUtYnV0dG9uLXBhZGRpbmcsICRiYXNrZXQtdXBkYXRlLWJ1dHRvbi1iYWNrZ3JvdW5kLCAkYmFza2V0LXVwZGF0ZS1idXR0b24tY29sb3VyLCAoKSwgJGJhc2tldC11cGRhdGUtYnV0dG9uLWZvbnQtc2l6ZSwgJGJhc2tldC1jb250cm9scy1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IGZpdC1jb250ZW50LCBoZWlnaHQ6IGF1dG8sIG1heC1oZWlnaHQ6IDEwMCUpLCAoc21hbGw6IDAsIGxhcmdlOiAwKSwgZmxleCwgJGJhc2tldC11cGRhdGUtYnV0dG9uLWljb24tY29uZmlnKTtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmVtcHR5LWJhc2tldCB7XHJcbiAgICAgICAgJGJhc2tldC1lbXB0eS1idXR0b24taWNvbi1jb25maWc6IChcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LXJlbW92ZSksXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhZnRlcixcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4LFxyXG4gICAgICAgICAgICBjb2xvdXI6IChcclxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6ICRjb2xvdXIzLTIsXHJcbiAgICAgICAgICAgICAgICBob3ZlcjogaG92ZXItY29sb3VyKCRiYXNrZXQtcm0tYWxsLWNvbG91ciksXHJcbiAgICAgICAgICAgICAgICBhY3RpdmU6IGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1ybS1hbGwtY29sb3VyKVxyXG4gICAgICAgICAgICApLFxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQsXHJcbiAgICAgICAgICAgIHNpemU6ICRiYXNrZXQtcmVtb3ZlLWJ1dHRvbi1pY29uLXNpemUsICBcclxuICAgICAgICApO1xyXG4gICAgICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgxMHB4IDMwcHgsICRiYXNrZXQtcm0tYWxsLWJhY2tncm91bmQsICRiYXNrZXQtcm0tYWxsLWNvbG91ciwgKCksICRiYXNrZXQtcmVtb3ZlLWFsbC1mb250LXNpemUsICRiYXNrZXQtY29udHJvbHMtZm9udC13ZWlnaHQsIChtb2JpbGUtd2lkdGg6IDEwMCUsIHdpZHRoOiBmaXQtY29udGVudCwgaGVpZ2h0OiBhdXRvLCBtYXgtaGVpZ2h0OiAxMDAlKSwgKHNtYWxsOiAwLCBsYXJnZTogMCksIGZsZXgsICRiYXNrZXQtZW1wdHktYnV0dG9uLWljb24tY29uZmlnKTtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucXVpY2stb3JkZXItZm9ybS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBnYXA6IHNtYWxsLXZhbHVlKCRiYXNrZXQtY29udHJvbHMtZ2FwKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkYmFza2V0LWNvbnRyb2xzLWdhcCk7XHJcbiAgICB9XHJcbiAgICAuc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgLmNvbnRyb2wuc2VhcmNoIHtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW5wdXQtcHJlZml4LWljb24ge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHF1aWNrLW9yZGVyLWZvcm0tcHJlZml4LWljb24pO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJhc2tldC10b3RhbC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogMTBweCA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFza2V0LXRvdGFsLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtdG90YWwtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtdG90YWwtZm9udC1zaXplKTtcclxuICAgIEBpZiAoJGJhc2tldC10b3RhbC1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkYmFza2V0LXRvdGFsLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYXNrZXQtdG90YWwtc3RpY2t5LWNvbnRhaW5lciB7XHJcbiAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gc3RpY2t5IHN0eWxlcy5cclxuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgei1pbmRleDogMTA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnN1bW1hcnktc3RpY2t5LWNvbnRhaW5lciB7XHJcbiAgICAvL2Rpc3BsYXk6IGZsZXg7XHJcbiAgICAvL2p1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LXdpZHRoLCBzbWFsbCk7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LXdpZHRoLCBsYXJnZSk7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4jYmFza2V0LXN1bW1hcnksIC5zdW1tYXJ5LWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBwYWRkaW5nOiAkYmFza2V0LXN1bW1hcnktcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigkYmFza2V0LXN1bW1hcnktYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb25zIHN0aWNreS5cclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkYmFza2V0LXN1bW1hcnktd2lkdGgsIHNtYWxsKTtcclxuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJhc2tldC1zdW1tYXJ5LXdpZHRoLCBsYXJnZSk7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgJi5pcy1zdHVjayB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuICAgICYuaXMtc3R1Y2s6bm90KC5uby1hbmltYXRlKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcblxyXG4gICAgJi5pcy1hbmNob3JlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgfSAgXHJcbiAgICAgICAgJi5pcy1hdC10b3Age1xyXG4gICAgICAgICAgICAvLyBJbiBzb21lIGluc3RhbmNlcyB3aGVuIHJldHVybmluZyB0byB0aGUgYmFza2V0IGZyb20gYW5vdGhlciBwYWdlIHdoZW4gb25seSBvbmUgaXRlbSBpcyBpbiB0aGUgYmFza2V0IHRoZSBzdGlja3kgcGx1Z2luIHdvdWxkIGFzc2lnbiB0aGUgbWFyZ2luLXRvcCB2YWx1ZSBldmVuIHdoZW4gaXQgc2hvdWxkIGJlIGFuY2hvcmVkIHRvIHRoZSB0b3Agb2YgdGhlIGNvbnRhaW5lci5cclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuaXMtYW5jaG9yZWQ6bm90KC5uby1hbmltYXRlKSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogdG9wICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAmLnByZXNldC0xIHtcclxuICAgICAgICAjdm91Y2hlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2dvb2RzLXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogMztcclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZvdWNoZXItc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjZGVsaXZlcnktc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA1O1xyXG4gICAgICAgIH1cclxuICAgICAgICAjdG90YWwtdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNjtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBiYXNrZXQtc3VtbWFyeS1zZXBlcmF0b3IoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAjbmV0LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNztcclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZhdC1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2YXQtaW5wdXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNlZGl0LWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNzdW1tYXJ5LXdhcm5pbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDExO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2hlY2tvdXQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wcmVzZXQtMiB7XHJcbiAgICAgICAgI3ZvdWNoZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNnb29kcy1zdW1tYXJ5LXZhbHVlIHtcclxuICAgICAgICAgICAgb3JkZXI6IDM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2b3VjaGVyLXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2RlbGl2ZXJ5LXN1bW1hcnktdmFsdWUge1xyXG4gICAgICAgICAgICBvcmRlcjogNTtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3RvdGFsLXZhbHVlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgb3JkZXI6IDg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICNuZXQtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG9yZGVyOiA2O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJhc2tldC1zdW1tYXJ5LXNlcGVyYXRvcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICN2YXQtc3VtbWFyeS12YWx1ZSB7XHJcbiAgICAgICAgICAgIG9yZGVyOiA3O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIC8vICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAvLyAgICAgQGluY2x1ZGUgYmFza2V0LXN1bW1hcnktc2VwZXJhdG9yKCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgI3ZhdC1pbnB1dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogOTtcclxuICAgICAgICB9XHJcbiAgICAgICAgI2VkaXQtYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgI3N1bW1hcnktd2FybmluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcmRlcjogMTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jaGVja291dC1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG9yZGVyOiAxMjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFza2V0LXN1bW1hcnktaGVhZGluZywgLnN1bW1hcnktaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIEBpZiAoJGJhc2tldC1zdW1tYXJ5LWhlYWRpbmctbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRiYXNrZXQtc3VtbWFyeS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtID09IFwidXBwZXJjYXNlXCIpIHtcclxuICAgICAgICAgICAgd29yZC1zcGFjaW5nOiAkY29tbW9uLWJ1dHRvbi13b3JkLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN1bW1hcnktaW50cm8tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdW1tYXJ5LWl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXNpemUpO1xyXG4gICAgICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaXRlbS1jb2xvdXI7XHJcbiAgICAgICAgJi5oaWdobGlnaHRlZCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkYmFza2V0LXN1bW1hcnktaGlnaGxpZ2h0ZWQtaXRlbS1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICYudmFsdWUsICYubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkYmFza2V0LXN1bW1hcnktaXRlbS1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDAlO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LWl0ZW0tdmFsdWUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmluY1ZhdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktaXRlbS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICN0b3RhbC12YWx1ZSB7XHJcbiAgICAgICAgLmxhYmVsLCAudmFsdWUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJGJhc2tldC1zdW1tYXJ5LXRvdGFsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGJhc2tldC1zdW1tYXJ5LXRvdGFsLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNlZGl0LWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IDMwcHggN3B4IDAgMDtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYmFza2V0LXN1bW1hcnktZWRpdC1idXR0b24tZm9udC1zaXplKTtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tYmFza2V0LWljb24pO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGJhc2tldC1zdW1tYXJ5LWVkaXQtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jZGVsaXZlcnktc2VsZWN0b3Ige1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgICBzZWxlY3QsIGxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5kZWxpdmVyeS1sYWJlbCB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcblxyXG4gICAgLmRlbGl2ZXJ5LXNlcnZpY2UsIC5kZWxpdmVyeS1hcmVhIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA0MDVweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGVsaXZlcnktc2VydmljZSB7XHJcbiAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuXHJcbi8vIC0tLS0tIFlvdXIgQWNjb3VudCBwYWdlIC0tLS0tXHJcblxyXG4ubGluay1mYWlsZWQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDUwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAubGluay1mYWlsZWQtaGVhZGluZyB7XHJcbiAgICAgICAgbWFyZ2luOiAkcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLW1hcmdpbjtcclxuICAgICAgICBjb2xvcjogJHJlcXVlc3QtbmV3LWxpbmstaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcmVxdWVzdC1uZXctbGluay1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRyZXF1ZXN0LW5ldy1saW5rLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICB9XHJcbiAgICAucHJpbWFyeS1idXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIge1xyXG4gICAgLmFjY291bnQtcGFnZSBbY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgIC8vIERlZmF1bHQgaWNvbi5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRlZmF1bHQtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY3VzdG9tZXItYXNzZXRzLCAmLmZ1bmN0aW9uLTEge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjdXN0b21lci1hc3NldHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYnJhbmNoLXN3aXRjaGVyLCAmLmFjY291bnQtc3dpdGNoZXIsICYuZnVuY3Rpb24tMiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGJyYW5jaC1zd2l0Y2hlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtY2FsbHMsICYuZnVuY3Rpb24tMyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG1hbmFnZS1jYWxscyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jaGFuZ2UtZGV0YWlscywgJi5mdW5jdGlvbi00IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY2hhbmdlLWRldGFpbHMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29udGFjdC1wcmVmZXJlbmNlcywgJi5mdW5jdGlvbi01IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY29udGFjdC1wcmVmZXJlbmNlcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jb250cmFjdC1pdGVtcywgJi5mdW5jdGlvbi02IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY29udHJhY3QtaXRlbXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2VydmljZS1jb250cmFjdHMsICYuZnVuY3Rpb24tNyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHNlcnZpY2UtY29udHJhY3RzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNvZnR3YXJlLWRldmVsb3BtZW50LWxvZ3MsICYuZnVuY3Rpb24tOCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHNvZnR3YXJlLWRldmVsb3BtZW50LWxvZ3MpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkLCAmLmZ1bmN0aW9uLTkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkaXBsb21hdC11cGRhdGUtZG93bmxvYWQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEFsc28gc3VwcG9ydCBmb3IgdmVyc2lvbiBpZiBuZWVkZWQsIHRoaXMgd2lsbCBiZSBhZGRlZCB1c2luZyBhbiBhZGRpdGlvbmFsIGNsYXNzIC52ZXJzaW9uLXguXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub25saW5lLWRvY3VtZW50YXRpb24sICYuZnVuY3Rpb24tMTAsICYuZnVuY3Rpb24tMzQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBvbmxpbmUtZG9jdW1lbnRhdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZmF2b3VyaXRlcywgJi5mdW5jdGlvbi0xMSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGZhdm91cml0ZXMpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5qb2JzLCAmLmZ1bmN0aW9uLTEyIHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBpY29uIGJlaW5nIHVzZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubG9nb3V0LCAmLmZ1bmN0aW9uLTEzIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgbG9nb3V0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgJi5uZXdzLCAmLmZ1bmN0aW9uLTE0IHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBpY29uIGJlaW5nIHVzZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYudmlldy1vcmRlcnMsICYuZnVuY3Rpb24tMTUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCB2aWV3LW9yZGVycyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2hhbmdlLXBhc3N3b3JkLCAmLmZ1bmN0aW9uLTE2IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgY2hhbmdlLXBhc3N3b3JkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS1jYXJkcywgJi5mdW5jdGlvbi0xNyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIG1hbmFnZS1jYXJkcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wYXltZW50LXJlcXVlc3RzLCAmLmZ1bmN0aW9uLTE4IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgcGF5bWVudC1yZXF1ZXN0cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kb3dubG9hZC1wcmljZS1saXN0cywgJi5mdW5jdGlvbi0xOSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRvd25sb2FkLXByaWNlLWxpc3RzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnF1ZXN0aW9ubmFpcmVzLCAmLmZ1bmN0aW9uLTIwIHtcclxuICAgICAgICAgICAgLy8gRGVmYXVsdCBpY29uIGJlaW5nIHVzZWQuXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVjZW50bHktcHVyY2hhc2VkLCAmLmZ1bmN0aW9uLTIxIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgcmVjZW50bHktcHVyY2hhc2VkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNpdGUtbGlzdCwgJi5mdW5jdGlvbi0yMiB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHNpdGUtbGlzdCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtd2ViLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc29mdHdhcmUtZGV2ZWxvcG1lbnQtbG9ncywgJi5mdW5jdGlvbi0yMyB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHQgaWNvbiBiZWluZyB1c2VkLlxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0YXRlbWVudCwgJi5mdW5jdGlvbi0yNCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIHN0YXRlbWVudCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5oaXN0b3JpY2FsLXRyYW5zYWN0aW9ucywgJi5mdW5jdGlvbi0yNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGhpc3RvcmljYWwtdHJhbnNhY3Rpb25zKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnVwbG9hZC1iYXNrZXQsICYuZnVuY3Rpb24tMjYge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBiYXNrZXQtdXBsb2FkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnVwbG9hZC1vcmRlcnMsICYuZnVuY3Rpb24tMjcge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBvcmRlci11cGxvYWQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLXVzZXJzLCAmLmZ1bmN0aW9uLTI4IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgbWFuYWdlLXVzZXJzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmVtcGxveWVlLXN0YXR1cywgJi5mdW5jdGlvbi0yOSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGVtcGxveWVlLXN0YXR1cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZGF0YWJhc2UsICYuZnVuY3Rpb24tMzAge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBkaXBsb21hdC11cGRhdGUtZGF0YWJhc2UpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXNvZnR3YXJlLWJhc2UtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIE1pY3Jvc29mdCBTdWJzY3JpcHRpb25zLlxyXG4gICAgICAgICYuZnVuY3Rpb24tMzEge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBtaWNyb3NvZnQtc3Vic2NyaXB0aW9ucyk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lQnJhbmRzO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXRlY2gtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQ2FsbCBTdGF0aXN0aWNzLlxyXG4gICAgICAgICYuZnVuY3Rpb24tMzIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBjYWxsLXN0YXRpc3RpY3MpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRkZXBhcnRtZW50LXRlY2gtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQWdncmVnYXRlZCBBc3NldHMuXHJcbiAgICAgICAgJi5mdW5jdGlvbi0zMyB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGN1c3RvbWVyLWFzc2V0cyk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtdGVjaC1iYXNlLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBWaWRlb3MuXHJcbiAgICAgICAgJi5mdW5jdGlvbi0zNCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHZpZGVvLXBsYXllci10aHVtYm5haWwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gUmVjZW50IHNvZnR3YXJlIHVwZGF0ZXMuXHJcbiAgICAgICAgJi5mdW5jdGlvbi0zNSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGFjY291bnQtaWNvbnMsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlcGFydG1lbnQtc29mdHdhcmUtYmFzZS1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gSG93IG11Y2ggc2hvdWxkIHdlIHNjYWxlIHRoZSBpY29ucyB3aGVuIG5lc3RlZCBpbiBhIG1lbnUuXHJcbiRhY2NvdW50LXNlY3Rpb25zLW5lc3QtaWNvbi1zaXplLXNjYWxlOiAxLjU7XHJcblxyXG4ubWVudSB7XHJcbiAgICAvLyBJZiBpbnNpZGUgb2YgYSBtZW51IHRoZW4gc2NhbGUgaWNvbnMgZG93bi5cclxuICAgIC5hY2NvdW50LW1lbnUtc2VjdGlvbnMge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3VudC1wYWdlIHtcclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgICAgICAgICAucGFnZS1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IChtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgZGVmYXVsdCkgLyAkYWNjb3VudC1zZWN0aW9ucy1uZXN0LWljb24tc2l6ZS1zY2FsZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJi5jaGFuZ2UtcGFzc3dvcmQsICYuZnVuY3Rpb24tMTYge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IChtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgY2hhbmdlLXBhc3N3b3JkKSAvICRhY2NvdW50LXNlY3Rpb25zLW5lc3QtaWNvbi1zaXplLXNjYWxlKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY291bnQtbWVudS1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvdW50LW1lbnUtaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAzNXB4IDAgMjBweDtcclxufVxyXG5cclxuLmFjY291bnQtbWVudS1pdGVtcy1jb250YWluZXIge1xyXG4gICAgLmNlbGwge1xyXG4gICAgICAgIC8vIENhbnQgdXNlIGZvdW5kYXRpb24ncyBncmlkIGFzIHggJiB5IGd1dHRlcnMgYXJlIG5vdCBlcXVhbCBpbiB0aGUgZGVzaWduLlxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuYWNjb3VudC1wYWdlIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICYuc2l0ZS1zdHlsZSB7XHJcbiAgICAgICAgICAgIC8vIEVuZm9yY2UgQnJhbmRpbmcgZnJvbSBzaXRlIHN0eWxlLlxyXG4gICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1pY29uXCJdOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGF7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZ2FwOiAzMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAjeygkYWNjb3VudC1zZWN0aW9uLWl0ZW0tcGFkZGluZyAtICRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItd2lkdGgpfTtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1jb2xvdXIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBib3JkZXI6ICRhY2NvdW50LXNlY3Rpb24taXRlbS1ib3JkZXItd2lkdGggc29saWQgZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAje2hvdmVyLWNvbG91cigkYWNjb3VudC1zZWN0aW9uLWl0ZW0taWNvbi1jb2xvdXIpfTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgLy8gU2hyaW5rIHRoZSBkZXNjcmlwdGlvbiB0byBmaXQgaW4gYXZhaWxhYmxlIHNwYWNlLlxyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY291bnQtc2VjdGlvbi1pdGVtLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1mb250LXdlaWdodCwgYWNjb3VudC1wYWdlKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRleHByZXNzLWRlZmF1bHQtaWNvbnM7XHJcbiAgICAgICAgICAgICAgICAvLyBFbmZvcmNlIGZvbnQtd2VpZ2h0IDQwMCBhcyBvdXIgZm9udGVsbG8gbGlicmFyeSBvbmx5IGhhcyBvbmUgd2VpZ2h0LlxyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAje2RlZmF1bHQtY29sb3VyKCRhY2NvdW50LXNlY3Rpb24taXRlbS1pY29uLWNvbG91cil9O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBGdW5jdGlvbiBzcGVjaWZpYyBydWxlcy5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItaWNvblwiXS5mdW5jdGlvbi0zNDpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRhY2NvdW50LWZ1bmN0aW9uLXZpZGVvcy1pY29uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGFjY291bnQtZnVuY3Rpb24tdmlkZW9zLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvdW50LXBhZ2UgLnBhZ2UtaWNvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgZGVmYXVsdCk7XHJcbiAgICAgICAgJi5jaGFuZ2UtcGFzc3dvcmQsICYuZnVuY3Rpb24tMTYge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBjaGFuZ2UtcGFzc3dvcmQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNoYW5nZS1kZXRhaWxzLCAmLmZ1bmN0aW9uLTQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBjaGFuZ2UtZGV0YWlscyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubWFuYWdlLWNhcmRzLCAmLmZ1bmN0aW9uLTE3IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgbWFuYWdlLWNhcmRzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQsICYuZnVuY3Rpb24tOSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1zZWN0aW9ucy1pY29uLXNpemUsIGRpcGxvbWF0LXVwZGF0ZS1kb3dubG9hZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkLCAmLmZ1bmN0aW9uLTM1IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXNlY3Rpb25zLWljb24tc2l6ZSwgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sb2dvdXQsICYuZnVuY3Rpb24tMjkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtc2VjdGlvbnMtaWNvbi1zaXplLCBsb2dvdXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjY291bnQtbWVudSB7XHJcbiAgICAuYWNjb3VudC1tZW51LWl0ZW1zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLmFjY291bnQtcGFnZSAucGFnZS1pY29uIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXNpemUpKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtc2l6ZSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2FjY291bnQtcGFnZS1ncmlkIHtcclxuICAgIC5hY2NvdW50LXBhZ2Uge1xyXG4gICAgICAgIHBhZGRpbmc6ICRhY2NvdW50LXBhZ2UtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogJGFjY291bnQtcGFnZS1pdGVtLWFuY2hvci1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYWdlLWljb24ge1xyXG4gICAgICAgICYuY2hhbmdlLWRldGFpbHM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGNoYW5nZS1kZXRhaWxzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jaGFuZ2UtcGFzc3dvcmQ6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGNoYW5nZS1wYXNzd29yZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29udHJhY3QtaXRlbXM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGNvbnRyYWN0LWl0ZW1zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mYXZvdXJpdGVzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBmYXZvdXJpdGVzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi52aWV3LW9yZGVyczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgdmlldy1vcmRlcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJlY2VudGx5LXB1cmNoYXNlZDpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgcmVjZW50bHktcHVyY2hhc2VkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tYW5hZ2UtY2FyZHM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIG1hbmFnZS1jYXJkcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3RhdGVtZW50OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBzdGF0ZW1lbnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLm1hbmFnZS11c2VyczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgbWFuYWdlLXVzZXJzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5icmFuY2gtc3dpdGNoZXI6YmVmb3JlLCAmLmFjY291bnQtc3dpdGNoZXI6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGJyYW5jaC1zd2l0Y2hlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY29udGFjdC1wcmVmZXJlbmNlczpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgY29udGFjdC1wcmVmZXJlbmNlcyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGlzdG9yaWNhbC10cmFuc2FjdGlvbnM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGhpc3RvcmljYWwtdHJhbnNhY3Rpb25zKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi51cGxvYWQtYmFza2V0OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCB1cGxvYWQtYmFza2V0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi51cGxvYWQtb3JkZXJzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCB1cGxvYWQtb3JkZXIpXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubG9nb3V0OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBsb2dvdXQpO1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgICYubWFuYWdlLWNhbGxzOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBtYW5hZ2UtY2FsbHMpO1xyXG4gICAgICAgIH0gIFxyXG4gICAgICAgICYuc2VydmljZS1jb250cmFjdHM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIHNlcnZpY2UtY29udHJhY3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jdXN0b21lci1hc3NldHM6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGN1c3RvbWVyLWFzc2V0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucGF5bWVudC1yZXF1ZXN0cyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBwYXltZW50LXJlcXVlc3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kb3dubG9hZC1wcmljZS1saXN0cyB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYWNjb3VudC1wYWdlLWl0ZW0taWNvbi1zaXplLCBkb3dubG9hZC1wcmljZS1saXN0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2l0ZS1saXN0IHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIGRvd25sb2FkLXByaWNlLWxpc3RzKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZG93bmxvYWQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgZGlwbG9tYXQtdXBkYXRlLWRvd25sb2FkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kaXBsb21hdC11cGRhdGUtZGF0YWJhc2Uge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGFjY291bnQtcGFnZS1pdGVtLWljb24tc2l6ZSwgZGlwbG9tYXQtdXBkYXRlLWRhdGFiYXNlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5vbmxpbmUtZG9jdW1lbnRhdGlvbntcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtYXAtZ2V0KCRhY2NvdW50LXBhZ2UtaXRlbS1pY29uLXNpemUsIG9ubGluZS1kb2N1bWVudGF0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY2NvdW50LXNvcnRpbmctb3B0aW9ucyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogJGFjY291bnQtc29ydGluZy1tYXJnaW47XHJcbiAgICB9XHJcbiAgICAuc29ydC1vcHRpb24ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6XHJcbiAgICAgICAgICAgIGF1dG87XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmJyYW5jaC1maWx0ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ5MHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IDYwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc2VsZWN0LCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5wYWdpbmF0aW9uIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAuaXRlbS1jb3VudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgICAgICB3aWR0aDogMTYwcHg7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLmxhYmVsLCAucGFnaW5hdGlvbkxhYmVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuXHJcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAuc29ydC1ieS1kYXlzLXNlbGVjdCB7IFxyXG4vLyAgICAgbWluLXdpZHRoOiAxNzBweDtcclxuLy8gfVxyXG5cclxuLmFjY291bnQtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogMjM1cHg7XHJcbiAgICB9XHJcbiAgICAmLmNlbnRlci1idXR0b25zIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBWaWV3IE9yZGVyIC0tLS0tIFxyXG4ub3JkZXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH0gXHJcbiAgICAmICsgLnJlc3BvbnNpdmUtdGFicyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gUGF5cGFsIGNoZWNrb3V0IGNvbmZpcm1hdGlvbi5cclxuICAgICYucGF5bWVudC1jb25maXJtYXRpb24ge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAub3JkZXItZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAub3JkZXItZGV0YWlscywgLm9yZGVyLWRlbGl2ZXJ5IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAjeyhzbWFsbC12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLWd1dHRlcikgLyAyKX0pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICAgICYucHJlc2V0LTEge1xyXG4gICAgICAgICNvcmRlci10YWJsZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA5NzBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5iYXNrZXQtcHJpY2UtY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRkLmJhc2tldC1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MTVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0gXHJcbiAgICAjb3JkZXItdGFibGUge1xyXG4gICAgICAgIEBpbmNsdWRlIG9yZGVyLXRhYmxlKCk7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gMjVweDtcclxuICAgIH1cclxuICAgICNiYXNrZXQtc3VtbWFyeSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gU3VwcmVzc2luZyBhcyB0aGlzIGNhbiBiZSBkb25lIHVzaW5nIGdhcCBzcGFjaW5nIGluIGZsZXhib3guXHJcbiAgICAvLyAub3JkZXItZGV0YWlscyArIC5vcmRlci1kZWxpdmVyeSB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgLy8gICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyAuc3VtbWFyeS1zdGlja3ktY29udGFpbmVyIHtcclxuICAgIC8vICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxuICAgICNiYXNrZXQtc3VtbWFyeSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7IFxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5vcmRlci1kZXRhaWxzLCAub3JkZXItZGVsaXZlcnksIC5lbnF1aXJ5LWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLXdpZHRoKTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiA1cHggMDtcclxuICAgIC8vIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBwYWRkaW5nOiBtYXAtZ2V0KCR2aWV3LW9yZGVyLWRldGFpbHMtcGFkZGluZywgc21hbGwpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHZpZXctb3JkZXItZGV0YWlscy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtd2lkdGgpO1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkdmlldy1vcmRlci1kZXRhaWxzLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgIH1cclxuICAgICYuaW5saW5lIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGdhcDogMTBweCAyMHB4O1xyXG4gICAgICAgIC5vcmRlci1kZXRhaWwtaGVhZGluZyB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRldGFpbC1pdGVtLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgID4gc3BhbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gYWRkcmVzcyB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiA1cHg7XHJcbiAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnLCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wYXllci1kZXRhaWxzIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcGF5bWVudC1tZXRob2QtdGl0bGUtcGFkZGluZylcclxuICAgIH1cclxufVxyXG5cclxuLm9yZGVyLWRldGFpbC1oZWFkaW5nLCAub3JkZXItZGVsaXZlcnktaGVhZGluZywgLmVucXVpcnktZGV0YWlscy1oZWFkaW5nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwIDAgNXB4O1xyXG4gICAgbWFyZ2luOiAwIDAgMjVweDtcclxuICAgIGJvcmRlci1ib3R0b206ICN7JGNvbW1vbi1oZWFkaW5nLXJ1bGUtd2VpZ2h0fSBzb2xpZCAjeyRoZWFkaW5nLXJ1bGUtY29sb3VyfTtcclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2aWV3LW9yZGVyLWRldGFpbHMtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdmlldy1vcmRlci1kZXRhaWxzLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICB9XHJcbiAgICBhLmVkaXQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGV0YWlsLWl0ZW0tY29udGFpbmVyLCAuZGVsaXZlcnktaXRlbS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAvLyBTdXBwcmVzc2luZyBpbmZhdm91ciBvZiB0aGUgZ2FwIHByb3BlcnR5LlxyXG4gICAgLy8gbWFyZ2luOiA1cHggMDtcclxuICAgIC8vIElmIG5vIHZhbHVlIHRoZW4gc3VwcHJlc3MgYWx0b2dldGhlci5cclxuICAgICY6aGFzKD4gcDplbXB0eSkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICA+IHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICR2aWV3LW9yZGVyLWRldGFpbHMtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZpZXctb3JkZXItZGV0YWlscy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkdmlldy1vcmRlci1kZXRhaWxzLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCR2aWV3LW9yZGVyLWRldGFpbHMtbGFiZWwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgID4gcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHZpZXctb3JkZXItZGV0YWlscy1mb250LXNpemUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICAvLyBBbGwgYW5jaG9yJ3Mgc2hvdWxkIGFwcGVhciBvbiBhIG5ldyBsaW5lIGZvciBjb25zaXN0ZW5jeS5cclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICBmb250LXdlaWdodDogJHZpZXctb3JkZXItZGV0YWlscy1sYWJlbC1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR2aWV3LW9yZGVyLWRldGFpbHMtZm9udC1zaXplKTtcclxuICAgIH1cclxuICAgIGFkZHJlc3Mge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdmlldy1vcmRlci1kZXRhaWxzLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLmJhc2tldC1jdXJyZW50LXByaWNlLWNvbCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjb2xvcjogbWFwLWdldCgkYWNjZW50LWNvbG91ci0xLCAyKTtcclxuICAgIC5jdXJyZW50LXByaWNlLXNhdmluZyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpY2UtZHJvcC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJpY2UtZHJvcC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJpY2UtZHJvcC1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJHByaWNlLWRyb3AtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMzVweDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGYwZGQnO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRwcmljZS1kcm9wLWFycm93LWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm9yZGVyLWRldGFpbHMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHZpZXctb3JkZXItZGV0YWlscy1ndXR0ZXIpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgfVxyXG4gICAgLy8gU3VwcHJlc3Npbmcgd2lkdGggb24gdGhlIGNvbnRhaW5lciBpcyBub3QgYW4gb3B0aW9uIGR1ZSB0byBmb3VuZGF0aW9uJ3MgZ3JpZCB1c2luZyByZWxhdGl2ZSB2YWx1ZXMgd2hlbiBjYWxjdWxhdGluZyBjZWxscyB3aGljaCBjYXVzZXMgdGhlIGNlbGxzIHRvIHNocmluayBpZiB0aGVyZSBpcyBub3QgZW5vdWdoIGNvbnRlbnQgdG8gZml0IGEgcm93LlxyXG4gICAgLmdyaWQteCB7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7c21hbGwtdmFsdWUoJGdyaWQtbWFyZ2luLWd1dHRlcnMpfSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7bWVkaXVtLXZhbHVlKCRncmlkLW1hcmdpbi1ndXR0ZXJzKX0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gU3VwcHJlc3NpbmcgZHVlIHRvIHN0b3BwaW5nIHRoZSBoZWlnaHQgZnJvbSBtYXRjaGluZyBnZW5lcmFsIC8gZGVsaXZlcnkgZGV0YWlscyBvbiB0aGUgdmlldyBvcmRlciAvIGNvbnRyYWN0IGVucXVpcnkgcGFnZXMuXHJcbi8vICNiYXNrZXQtc3VtbWFyeS5yZWFkLW9ubHkge1xyXG4vLyAgICAgYWxpZ24tc2VsZjogYmFzZWxpbmU7XHJcbi8vIH1cclxuXHJcbi8vIFJlcXVpc2l0aW9uIGJ1dHRvbnNcclxuLnJlcXVpc2l0aW9uLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBEZWxpdmVyeSBFbnF1aXJ5IC0tLS0tIFxyXG4ucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyIHtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1yZWZlcmVuY2Uge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIE1hbmFnZSBVc2VycyAtLS0tLSBcclxuLnVzZXJzLWZvdW5kLWNvdW50IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCR1c2Vycy1mb3VuZC1mb250LXNpemUpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XHJcbiAgICB9XHJcbiAgICBzcGFuIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICBjb2xvcjogJHVzZXJzLWZvdW5kLWNvdW50LWNvbG91cjtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbiN1c2Vycy10YWJsZSB7XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkdXNlcnMtdGJvZHktZm9udC1zaXplKTtcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnVzZXJzLWNvbnRhY3QtY29sIHtcclxuICAgICAgICBmb250LXdlaWdodDogJHVzZXJzLXRib2R5LWNvbnRhY3QtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICR1c2Vycy10Ym9keS1jb250YWN0LWNvbG91cjtcclxuICAgIH1cclxuICAgIC51c2Vycy1hY2NvdW50LWNvbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudXNlcnMtY29udGFjdC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudXNlcnMtZW1haWwtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnVzZXJzLWRlbGV0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMzJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAudXNlcnMtZW1haWwtY29sLCAudXNlcnMtY29udGFjdC1jb2wge1xyXG4gICAgLy8gICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAvLyB9XHJcbiAgICAudXNlcnMtZGVsZXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZW1vdmUtdXNlci1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5yZW1vdmUtdXNlci1idXR0b24ge1xyXG4gICAgd2lkdGg6ICRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tZGltZW50aW9ucztcclxuICAgIGhlaWdodDogJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGJhc2tldC1yZW1vdmUpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkcmVtb3ZlLXVzZXJzLWxpc3QtYnV0dG9uLWRpbWVudGlvbnMgLyAxLjEpKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyZW1vdmUtdXNlcnMtbGlzdC1idXR0b24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlOmJlZm9yZSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlbW92ZS11c2Vycy1saXN0LWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBWaWV3IC8gRWRpdCB1c2VyIC0tLSBcclxuLm1hbmFnZS11c2VyLWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAucHJpbWFyeS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZWNvbmRhcnktYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGVydGlhcnktYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuI3NlbGVjdC1icmFuY2hlcy10YWJsZSB7XHJcbiAgICBtYXgtd2lkdGg6ICR1c2Vycy1wb3B1cC10YWJsZS1tYXgtd2lkdGg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5icmFuY2gtY29sIHtcclxuICAgICAgICBcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmJyYW5jaC1jb2wge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHVzZXJzLXBvcHVwLXRhYmxlLWJyYW5jaC1jb2wtZm9udC1zaXplKTtcclxuICAgIH1cclxuXHJcbiAgICAuYWxsb3ctbG9naW4tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gTWFuYWdlIFBheW1lbnQgQ2FyZHMgLS0tLS0gXHJcbiN0b2tlbnMtdGFibGUucGF5bWVudCB7XHJcbiAgICAvLyAuY2FyZC1zZWxlY3QtY29sIHtcclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgIC8vIH1cclxuICAgIC5jYXJkLXR5cGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5jYXJkLW51bWJlci1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE4MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkLWV4cGlyZS1kYXRlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjQwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNhcmQtcmVtb3ZlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICBcclxuICAgIFxyXG5cclxufVxyXG5cclxuI3Rva2Vucy10YWJsZSwgLnRva2Vucy10YWJsZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAvLyAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIC8vIH1cclxuICAgIHRyIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgLmNhcmQtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNhcmRzLWNhcmQtdHlwZS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FyZC1leHBpcmVkIHtcclxuICAgICAgICAgICAuY2FyZC10eXBlLWNvbCwgLmNhcmQtbnVtYmVyLWNvbCwgLmV4cGlyZS1kYXRlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87IFxyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgICAuZXhwaXJlLWRhdGUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAuY2FyZC10eXBlLWNvbCwgLmNhcmQtbnVtYmVyLWNvbCwgLmV4cGlyZS1kYXRlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7ICAgIFxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvOyBcclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICAuY2FyZC1zZWxlY3QtY29sIHtcclxuICAgICAgICAucmFkaW8ge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC10eXBlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMzAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0b2tlbnMtdGFibGUtcGFkZGluZztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2FyZC1leHBpcmUtZGF0ZS1jb2wge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogdW5zZXQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZXhwaXJlLWRhdGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYXJkLXJlbW92ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdG9rZW5zLXRhYmxlLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlbGVjdGVkLWNhcmQge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG59XHJcbi5uby10b2tlbnMtZm91bmQge1xyXG4gICAgbWFyZ2luOiA1MHB4IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMDBweCAwO1xyXG4gICAgfVxyXG4gICAgLm5vLXRva2Vucy1pY29uIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHBheW1lbnQtY2FyZCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDY1KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ucGF5bWVudC1kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiA2MHZoO1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcbi5tb2RhbC1jb250YWluZXJbdHlwZT1zZWxlY3QtcGF5bWVudF0ge1xyXG4gICAgI3BheW1lbnQtYWRkLW5ldy1jYXJkLWZvcm0ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNwYXltZW50LWFkZC1uZXctY2FyZC1mb3JtIHtcclxuICAgIG1heC13aWR0aDogNjQwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGZpZWxkc2V0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zYXZlLWNhcmQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLmNvbnRyb2wuY2hlY2tib3gge1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuI3BheW1lbnQtZnJhbWUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbi8vIC0tLS0tIFN0YXRlbWVudCBQYWdlIC0tLS0tIFxyXG4uc3RhdGVtZW50LWxpc3QtY29udGFpbmVyLCAuc3RhdGVtZW50LXBheS1jb250YWluZXIsIC5hY2NvdW50LXBheS1jb250YWluZXIge1xyXG4gICAgJi5pbi1hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG4uc3RhdGVtZW50LWJhbGFuY2UtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDIlIDIwcHggMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHN0YXRlbWVudC1iYWxhbmNlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRzdGF0ZW1lbnQtYmFsYW5jZS1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogJHN0YXRlbWVudC1iYWxhbmNlLWNvbG91cjtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uc3RhdGVtZW50LXBheS1jb250YWluZXIsIC5hY2NvdW50LXBheS1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgICB9XHJcbn1cclxuLnN1bW1hcnktY29udGFpbmVyLnN0YXRlbWVudCwgLnN1bW1hcnktY29udGFpbmVyLmFjY291bnQtcGF5bWVudC1zdW1tYXJ5IHtcclxuICAgIC5zdW1tYXJ5LWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDQwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50cmFuc2FjdGlvbi10eXBlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAvLyAuZGlyZWN0LWRlYml0LWljb24ge1xyXG4gICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIC8vICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gICAgICAgICByaWdodDogNiU7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG59XHJcblxyXG4vLyBQcmltYXJ5IHVzZWQgb24gdGhlIHN0YXRlbWVudCBwYWdlLlxyXG4uZGlyZWN0LWRlYml0LWljb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZGlyZWN0LWRlYml0KTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNlcnZpY2UgQ29udHJhY3RzIC0tLS0tIFxyXG50YWJsZS5zZXJ2aWNlLWNvbnRyYWN0cyB7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgLmJyYW5jaC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYuMiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5leHQtZHVlLWRhdGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4JTtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kb2N1bWVudC1yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA5JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAueW91ci1yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNrdS1yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyYWN0LXZhbHVlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyYWN0LXR5cGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMiU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuY29udHJhY3QtdHlwZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250cmFjdC1ncm91cC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDkuOCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZyZXF1ZW5jeS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDguNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBheW1lbnQtbWV0aG9kLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogOSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRlcm1pbmF0aW9uLWRhdGUtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFsYW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDclO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZW5ld2FsLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNS41JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudHVicy1yZW5ldy1idXR0b24ge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRwcmltYXJ5LWJ1dHRvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgQGlmICgkY29tbW9uLWJ1dHRvbi10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjb21tb24tYnV0dG9uLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBPcmRlciBzdGF0dXMgdGFibGUgLS0tIFxyXG50YWJsZS5vcmRlci1zdGF0dXMtdGFibGUsIHRhYmxlLm9yZGVyLWludm9pY2UtZW5xdWlyeS10YWJsZSB7XHJcbiAgICAuaXRlbS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICAvLyBQdXR0aW5nIHRoaXMgaW4gdG8gaGFuZGxlIGxvbmcgcmVmZXJlbmNlcyBpbiB0aGUgYWNjb3VudCBhcmVhLlxyXG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE0JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGguZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW52b2ljZXMtY29sLCAuZGVsaXZlcmllcy1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyJVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBEZWxpYmVyeSBFbnF1aXJ5IFRhYmxlIC0tLSBcclxudGFibGUuZGVsaXZlcnktZW5xdWlyeS10YWJsZSB7XHJcbiAgICAuaXRlbS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDYuOTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWZlcmVuY2UtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMyU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnF1YW50aXR5LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBleHByZXNzIGRlZmF1bHQgc3R5bGluZyBhcyBpdCBcIiBhc3N1bWVzIFwiIHRoYXQgdGhlIGRlc2NyaXB0aW9uIGlzIGFsd2F5cyB0aGUgZmlyc3QgY29sdW1uLCB0aGlzIGNhbiBiZSByZW1vdmVkIG9uY2UgIzgxNTQ2OCBpcyBkb25lLlxyXG4gICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjclO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5vdXItcmVmZXJlbmNlLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC55b3VyLXJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBDb250cmFjdHMgdGFibGUgLS0tIFxyXG50YWJsZS5jb250cmFjdHMtdGFibGUge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbiAgICB9XHJcbiAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4vLyAtLS0gVHJhbnNhY3Rpb25zIHRhYmxlIC0tLSBcclxudGFibGUudHJhbnNhY3Rpb25zLXRhYmxlIHtcclxuICAgIC50eXBlLWNvbCwgLmRvY3VtZW50LXJlZmVyZW5jZS1jb2wsIC52YWx1ZS1jb2wsIC5zdGF0dXMtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGF0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gQmFjayB0byBteSBhY2NvdW50IGJ1dHRvbiAtLS0tLVxyXG4uYWNjb3VudC1yZXR1cm4tYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogZml0LWNvbnRlbnQpLCAwKTtcclxufVxyXG5cclxuLy8gLS0tLS0gUGF5bWVudCBSZXF1ZXN0cyAtLS0tLSBcclxudGFibGUucGF5bWVudC1yZXF1ZXN0cy10YWJsZSB7XHJcbiAgICAucGF5LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNi4yJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGF0ZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGltZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDguNSU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE4LjElO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hbW91bnQtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMC44JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGFjdC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNpdGUgTGlzdCAtLS0tLSBcclxuXHJcbi8vIC0tLSBDb21tb24gLS0tXHJcbi5zaXRlLWxpc3QtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgIH1cclxuICAgIC8vIERlZmF1bHQgaWNvbiBpZiB0aGlzIGlzIG5vdCBhbiBleHByZXNzIHNpdGUuXHJcbiAgICAuYmVzcG9rZS1zaXRlLWljb24ge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc2l0ZS1saXN0LWJlc3Bva2Utc2l0ZS1pY29uKTtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGV4cHJlc3MtZGVmYXVsdC1pY29ucztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLnNpdGUtbGlzdC1wdWJsaXNoLXN0YXR1cyB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxuICAgICYuc3VjY2VzczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHN1Y2Nlc3MpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzdWNjZXNzLWNvbG91ciwgMCk7XHJcbiAgICB9XHJcbiAgICAmLmZhaWxlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgIH1cclxuICAgICYudW5rbm93bjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHVua25vd24pO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgJi5jYW5jZWxsZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYW5jZWxsZWQpO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgJi5pbi1wcm9ncmVzczpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGluLXByb2dyZXNzKTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBzcGlubmVyIDEuNXMgbGluZWFyIGluZmluaXRlOyBcclxuICAgICAgICBAa2V5ZnJhbWVzIHNwaW5uZXIge1xyXG4gICAgICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLmRhdGEtdGltZS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAudGltZSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLXRpbWUtbWFyZ2luLWxlZnQpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6ICRzaXRlLWxpc3QtdGltZS1mb250LXN0eWxlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLXRpbWUtbWFyZ2luLWxlZnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUucHVibGlzaC1oaXN0b3J5IHtcclxuICAgIC5kYXRhLXRpbWUtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tIEludGVybmFsIC0tLVxyXG5cclxudGFibGUuc2l0ZS1saXN0LXRhYmxlIHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47ICAgICAgIFxyXG4gICAgfVxyXG4gICAgdGJvZHkge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkZ2xvYmFsLXh5LWdyaWQtbWFyZ2luLWd1dHRlcnMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE92ZXJyaWRlIHJlc3BvbnNpdmUgdGFibGUgcnVsZXMuLi5cclxuICAgICYucmVzcG9uc2l2ZS10YWJsZSB7XHJcbiAgICAgICAgdGQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnNpdGUtbG9nby1jb2wge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJHNpdGUtbGlzdC1zaXRlLW9wdGlvbi1sYWJlbC13aWR0aDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRlIHByZXNldC0xIHN0eWxlcy4uLlxyXG4gICAgJi5wcmVzZXQtMSB7XHJcbiAgICAgICAgdGJvZHkge1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAkc2l0ZS1saXN0LWl0ZW0tcGFkZGluZztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2l0ZS1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aC5zaXRlLWxvZ28tY29sIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgdHIge1xyXG4gICAgICAgICYuc3RhZ2luZy1zaXRlIHtcclxuICAgICAgICAgICAgLnNpdGUtbG9nby1jb2wge1xyXG4gICAgICAgICAgICAgICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1sb2dvLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogI3sobGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLXdpZHRoKSArICRzaXRlLWxpc3QtbG9nby1ib3JkZXItd2lkdGgpfTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLXdpZHRoKTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1sb2dvLW1hcmdpbik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby1wYWRkaW5nKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpdGUtbGlzdC1sb2dvLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXI6ICRzaXRlLWxpc3QtbG9nby1ib3JkZXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28td2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWxvZ28tbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtdGFibGUtbG9nby1wYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2UsIGEge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1kZXNjcmlwdGlvbi1jb2wge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaHIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAkc2l0ZS1saXN0LWl0ZW0taGVhZGVyLXNlcGVyYXRvci1ydWxlLW1hcmdpbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2l0ZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNpdGUtZW52aXJvbm1lbnQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogJHNpdGUtbGlzdC1lbnZpcm9ubWVudC1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoLnNpdGUtZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5zaXRlLWRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtZGVzY3JpcHRpb24sIC5zaXRlLWVudmlyb25tZW50IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5saWNlbnNlLWNvbCwgLnB1Ymxpc2hpbmctY29sICB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTEwcHhcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3RhcnRlZC1jb2wsIC5lbmRlZC1jb2wsIC5sYXN0LXRvdWNoLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtYnV0dG9ucy1jb2wge1xyXG4gICAgICAgIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LXRhYmxlLWJ1dHRvbnMtZ2FwKTtcclxuICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHNpdGUtbGlzdC10YWJsZS1idXR0b25zLWdhcCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9uLW1hcmdpbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3QtYnV0dG9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkc2l0ZS1saXN0LWJ1dHRvbnMtcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZGF0YS10aW1lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAudGltZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHsgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iZXNwb2tlLXNpdGUtaWNvbjpiZWZvcmUgeyBcclxuICAgICAgICBmb250LXNpemU6IDQ0cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLSBFeHRlcm5hbCAoIHdoYXQgdGhlIGNsaWVudCBzZWVzICkgLS0tIFxyXG4uc2l0ZS1saXN0LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmc6ICRzaXRlLWxpc3QtaXRlbS1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNpdGUtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIEBpZiAoJHNtb290aC1lZGdlcy1lbmFibGVkKSB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGhvdmVyLWNvbG91cigkc2l0ZS1saXN0LWl0ZW0tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCkge1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1zY2FsZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc3RhZ2luZy1zaXRlIHtcclxuICAgICAgICAuc2l0ZS1sb2dvIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpdGUtbG9nbyB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAkc2l0ZS1saXN0LWxvZ28tbWFyZ2luO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzaXRlLWxpc3QtbG9nby1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBib3JkZXI6ICRzaXRlLWxpc3QtbG9nby1ib3JkZXI7XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgcGFkZGluZzogJHNpdGUtbGlzdC1sb2dvLXBhZGRpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5pbWFnZSwgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2l0ZS1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2l0ZS1saXN0LWRlc2NyaXB0aW9uLWNvbG91cik7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAuc2l0ZS1lbnZpcm9ubWVudCB7XHJcbiAgICAgICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIC8vIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1kZXNjcmlwdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIC8vIGZvbnQtc3R5bGU6ICRzaXRlLWxpc3QtZW52aXJvbm1lbnQtZm9udC1zdHlsZTtcclxuICAgICAgICAvLyBwIHtcclxuICAgICAgICAvLyAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIC8vIH1cclxuICAgIC8vIH1cclxuICAgIGhyIHtcclxuICAgICAgICBtYXJnaW46ICRzaXRlLWxpc3QtaXRlbS1oZWFkZXItc2VwZXJhdG9yLXJ1bGUtbWFyZ2luO1xyXG4gICAgfVxyXG4gICAgLnNpdGUtb3B0aW9uIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgICAgIC8vIEFzc3VtZSB0aGUgZmlyc3Qgc3BhbiB3aWxsIGFsd2F5cyBiZSBhIGxhYmVsLlxyXG4gICAgICAgICYgPiBzcGFuIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtd2lkdGg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc2l0ZS1saXN0LXNpdGUtb3B0aW9uLWxhYmVsLXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBWYWx1ZSBcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJiArIC5zaXRlLWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmRhdGEtdGltZS1jb250YWluZXIgeyBcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRzaXRlLWxpc3Qtc2l0ZS1vcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICAudGltZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpdGUtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBnYXA6IHNtYWxsLXZhbHVlKCRzaXRlLWxpc3QtYnV0dG9ucy1nYXApO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHNpdGUtbGlzdC1idXR0b24tbWFyZ2luKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZ2FwOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbnMtZ2FwKTtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkc2l0ZS1saXN0LWJ1dHRvbi1tYXJnaW4pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBidXR0b24sIGEge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNpdGUtbGlzdC1idXR0b25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRzaXRlLWxpc3QtYnV0dG9ucy1wYWRkaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5iZXNwb2tlLXNpdGUtaWNvbjpiZWZvcmUgeyBcclxuICAgICAgICBmb250LXNpemU6IDc0cHg7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBDTVMgU3R5bGluZyAtLS0tLS0gXHJcbi0gU3R5bGUgZm9yIHRoZSBhY3R1YWwgY21zIHBhZ2VzIHRoZW1zZWx2ZXM6XHJcbiAgLSBDTVMgRW50cnlcclxuICAtIEJsb2dcclxuICAtIE5ld3NcclxuICAtIEV2ZW50c1xyXG4gIC0gQ01TIFNlcmllc1xyXG4tIENNUyBlbnRyeSBjb250cm9sc1xyXG4tIENNUyBtb2R1bGVcclxuLSBDTVMgY29udGVudCBjb250YWluZXIsIHRoaXMgZ2V0IHVzZWQgdGhyb3VnaG91dCBleHByZXNzIGZvciB2YXJpb3VzIHBpZWNlcyBvZiBjb250ZW50IHRoYXQgaXMgZGVmaW5lZCBpbiB0aGUgdm1hZG1pbidzIGNtcyBzeXN0ZW0gdGhlc2UgYmxvY2sgb2YgY29udGVudCBjYW4gbGl0ZXJhbGx5IGJlIGFueXdoZXJlICggaGVhZGluZ3MgZm9yIHBhZ2VzLCBpbiB0aGUgZm9vdGVyLCBhamF4IHJlc3BvbnNlcyApLlxyXG4qL1xyXG5cclxuLmRpc3BsYXktY21zLXNlcmllcy1pbnRybywgLnNlcmllcy1leHBsYW5hdG9yeS10ZXh0IHtcclxuICAgIG1heC13aWR0aDogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LW1heC13aWR0aDtcclxuICAgIG1hcmdpbjogI3skZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LW1hcmdpbi10b3AtYm90dG9tIC0gbGFyZ2UtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbil9ICN7aWYoJGRpc3BsYXktY21zLXNlcmllcy1leHBsYW5hdG9yeS10ZXh0LWFsaWdubWVudCA9PSBjZW50ZXIsIGF1dG8sIDApfSAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LW1hcmdpbi10b3AtYm90dG9tO1xyXG4gICAgQGlmICgkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhbmF0b3J5LXRleHQtYWxpZ25tZW50ID09IGNlbnRlcikge1xyXG4gICAgICAgIHRleHQtYWxpZ246ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFuYXRvcnktdGV4dC1hbGlnbm1lbnQ7XHJcbiAgICB9XHJcbiAgICAmLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJGRpc3BsYXktY21zLXNlcmllcy1leHBsYWluYXRvcnktdGV4dC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gRmFsbGJhY2suXHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZGlzcGxheS1jbXMtc2VyaWVzLWV4cGxhaW5hdG9yeS10ZXh0LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgY29sb3I6ICRkaXNwbGF5LWNtcy1zZXJpZXMtZXhwbGFpbmF0b3J5LXRleHQtY29sb3VyO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZGlzcGxheS1jbXMtc2VyaWVzIHtcclxuICAgIG1hcmdpbjogMjVweCAwIDA7XHJcbiAgICBhIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgaDMsIC52aWRlby1wbGF5ZXItaW5kaWNhdG9yLXRleHQge1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKCN7aG92ZXItY29sb3VyKCRhbmNob3JzLWNvbG91cil9LCAkY29sb3VyNik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5LWNtcy1lbnRyaWVzLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGlmICgkZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkZGlzcGxheS1jbXMtZW50cmllcy1oZWFkaW5nLWxldHRlci1zcGFjaW5nO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAuZW50cnktY29udGVudCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZGlzcGxheS1jbXMtZW50cmllcy1jb250ZW50LWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBBc3NpZ24gY29sb3VyIHNjaGVtZXNcclxuICAgICYubmV3cyAuY2VsbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbmV3cy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBuZXdzKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIG5ld3MpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbmV3cy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYmxvZyAuY2VsbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmxvZy1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmIChtYXAtZ2V0KCRjbXMtbW9kdWxlLXNob3ctYm9yZGVyLCBibG9nKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGJsb2cpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYmxvZy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXZlbnRzIC5jZWxsIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRldmVudHMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkY21zLW1vZHVsZS1zaG93LWJvcmRlciwgZXZlbnRzKSkge1xyXG4gICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGNtcy1tb2R1bGUtc2hvdy1ib3JkZXIsIGV2ZW50cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRldmVudHMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnZpZGVvLXBsYXlsaXN0IC5jZWxsID4gYSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2VsbCB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnRhYmxlIHtcclxuICAgICAgICAuY2VsbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI3MHB4O1xyXG4gICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBtYXAtZ2V0KCRjbXMtdGFibGUtcm93LXBhZGRpbmcsIHRvcC1ib3R0b20pO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRjbXMtdGFibGUtcm93LXBhZGRpbmcsIHJpZ2h0LWxlZnQpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkY21zLXRhYmxlLXJvdy1wYWRkaW5nLCByaWdodC1sZWZ0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2MHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMxMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy10YWJsZS1yb3ctcGFkZGluZywgdG9wLWJvdHRvbSkgMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lbnRyeS1jb250ZW50ICB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAmOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgIC8vIEBpbmNsdWRlIHNpbXBsZS1mYWRlKCRjbXMtcm0tZmFkZS1vcGFjaXR5KTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZ3JpZCB7XHJcbiAgICAgICAgJi52aWRlby1wbGF5bGlzdCB7XHJcbiAgICAgICAgICAgICRjZWxsLWNvbnRlbnQtc3BhY2luZzogMTBweDtcclxuICAgICAgICAgICAgLmNlbGwgYSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MjBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQ1cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGgzIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwICRjZWxsLWNvbnRlbnQtc3BhY2luZztcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmR1cmF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAkY2VsbC1jb250ZW50LXNwYWNpbmc7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmVudHJ5LWNvbnRlbnQucmVhZC1tb3JlIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYmxhY2stY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDUwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC52aWRlby1wbGF5ZXItaW5kaWNhdG9yLXRleHQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5ibG9nIC5jZWxsIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MzBweDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG4gICAgICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5lbnRyeS1jb250ZW50LnJlYWQtbW9yZSB7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZXZlbnRzIC5jZWxsIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyNjBweDtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzNXB4IDQ1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZW50cnktY29udGVudC5yZWFkLW1vcmUge1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgICY6bm90KC5mYWRlLWRpc2FibGVkLWxvdy1jb250ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMDBweDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBzaW1wbGUtZmFkZSgkY21zLXJtLWZhZGUtb3BhY2l0eSk7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDc1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNzVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY2VsbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250ZW50LWJhbm5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6ICRwcm9kdWN0LWxpc3QtaXRlbS1pbWFnZS1ib3JkZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnB1Ymxpc2gtZGF0ZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTdweDtcclxuICAgIH1cclxufVxyXG4ucHVibGlzaC1kYXRlIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgLSAxKTtcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG59XHJcbi5yZWFkLW1vcmUtYW5jaG9yIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkcmVhZC1tb3JlLWNvbG91cik7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyZWFkLW1vcmUtZm9udC1zaXplKTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkcmVhZC1tb3JlLWZvbnQtd2VpZ2h0O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06ICRyZWFkLW1vcmUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgcmVhZE1vcmVTdWZmaXgoKTtcclxufVxyXG5cclxuLy8gLS0tLS0gQ01TIEFydGljbGVzLCBQb3N0cyAmIEdlbmVyYWwgRW50cmllcyAtLS0tLSBcclxuLmNtcy1lbnRyeS1jb250YWluZXIge1xyXG4gICAgLy8gQWRkZWQgZmxleGJveCB0byBhbGxvdyBmb3IgbmV3cyBhcnRpY2xlIGJhbm5lciB0byBzaXQgYWxvbmcgc2lkZSB0aGUgY21zIGVudHJ5IHRleHQuXHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgcGFkZGluZzogMjVweCAzMHB4IDQwcHg7XHJcbiAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMTEwcHggNzBweFxyXG4gICAgfVxyXG4gICAgJi5uZXdzLWFydGljbGUge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRzaG93LWNtcy1iYWNrZ3JvdW5kLCBuZXdzKSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5ld3MtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIG5ld3MpIHtcclxuICAgICAgICAgICAgLmNtcy1oZWFkaW5nIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBuZXdzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZXZlbnQge1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRzaG93LWNtcy1iYWNrZ3JvdW5kLCBldmVudCkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRldmVudHMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJGNtcy1tb2R1bGUtc3VwcHJlc3MtbGlzdC1idXR0b24sIGV2ZW50KSB7XHJcbiAgICAgICAgICAgIC5jbXMtaGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZXZlbnRzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYmxvZy1wb3N0IHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkc2hvdy1jbXMtYmFja2dyb3VuZCwgYmxvZykge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRibG9nLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmIG5vdCBtYXAtZ2V0KCRjbXMtbW9kdWxlLXN1cHByZXNzLWxpc3QtYnV0dG9uLCBibG9nKSB7XHJcbiAgICAgICAgICAgIC5jbXMtaGVhZGluZyB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYmxvZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmluZm9ybWF0aW9uIHtcclxuICAgICAgICBAaWYgbWFwLWdldCgkc2hvdy1jbXMtYmFja2dyb3VuZCwgaW5mb3JtYXRpb24pIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGluZm9ybWF0aW9uLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyAuc3R5bGUtMSA9IFNpbXBsZSBsYXlvdXQuXHJcbiAgICAgICAgJi5zdHlsZS0xIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgfVxyXG4gICAgLmNtcy1oZWFkaW5nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVJlZ3VsYXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDYpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuMztcclxuICAgICAgICB9XHJcbiAgICAgICAgaDEgIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDBweDtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBkZWZhdWx0IHJ1bGVzICggaW1wbGVtZW50ZWQgc3BlY2lmaWNhbGx5IGZvciB3aWxkIHRoaW5ncyApLlxyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFnZS1oZWFkaW5nLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLXBhZ2UtaGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYWdlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm0pIHtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY21zLXBhZ2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgKCRjbXMtcGFnZS1oZWFkaW5nLWxldHRpbmctc3BhY2luZykge1xyXG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6ICRjbXMtcGFnZS1oZWFkaW5nLWxldHRpbmctc3BhY2luZztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLy8gQWRkZWQgMXB4IGR1ZSBJRSBub3QgZmxleC1ncm93J2luZyB0aGUgY29udGFpbmVyIGNvcnJlY3RseS5cclxuICAgICAgICBmbGV4OiAxIDFweDtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtaGVhZGluZ3MoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCk7XHJcbiAgICAgICAgLy9AaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLWJsb2NrcXVvdGUoKTtcclxuICAgICAgICBAaW5jbHVkZSBjbXMtaW1hZ2UtZ2FsbGFyeSgpO1xyXG4gICAgICAgIEBpbmNsdWRlIGNtcy1nb29nbGUtbWFwcy1lbWJlZGRlZCgpO1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgQGF0LXJvb3Qge1xyXG4gICAgICAgICAgICAgICAgdGgsIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkY21zLXRhYmxlLXRleHQtYWxpZ247XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIGZpZWxkc2V0IHtcclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAgICAgICAgICAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZpZWxkc2V0LWhlYWRpbmctY29sb3VyLCAkZmllbGRzZXQtaGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJhY2tncm91bmQtc2VjdGlvbiB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1iYW5uZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCksICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNzglO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHVibGlzaC1kYXRlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgfVxyXG4gICAgLnRhZ2dpbmctY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE9ubHkgYWZmZWN0IGVudHJ5IG1vZHVsZXMgYXMgdGhpcyB3YXMgZ2V0dGluZyBpbiB0aGUgd2F5IG9mIC5jbXMtYnV0dG9uLWxpbmsuLi4gcHJvcGVydGllcy5cclxuLmNtcy1lbnRyeS1jb250YWluZXIsIC5jbXMtY29udGVudC1jb250YWluZXIsIC5jbXMtbW9kdWwuZW50cnktbW9kdWxlIHtcclxuICAgIEBpbmNsdWRlIGNtcy1hbmNob3IoKTtcclxufVxyXG5cclxuXHJcbi5jbXMtZW50cnktbmF2aWdhdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIG1hcmdpbjogNDBweCAwIDMwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAuYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY21zLWVudHJpZXMtY29udHJvbHMsIC5lbnRyaWVzLWljb24tY29udHJvbHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgY29sb3I6ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY21zLXBhZ2luYXRpb24tbGFiZWwtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjbXMtcGFnaW5hdGlvbi1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIC8vIFRPRE86IHRoaXMgY291bGQgYmUgcmVmYWN0b3JzIHRvIHVzZSBjb21tb24tYnV0dG9uLTEgbWl4aW4gbm93IHRoYXQgd2Ugc3VwcG9ydCBpY29ucyBpbiBidXR0b25zLlxyXG4gICAgLmNvbnRyb2wtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogNTVweDtcclxuICAgICAgICBoZWlnaHQ6IDU1cHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIEBpZiAkc21vb3RoLWVkZ2VzLWVuYWJsZWQge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogaG92ZXItY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cigkY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgICAgfVxyXG5cclxuXHJcbiAgICB9XHJcbiAgICAucHJldmlvdXMtY21zLWVudHJ5IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNtcy1wYWdpbmF0aW9uLXByZXZpb3VzKTtcclxuICAgICAgICAgICAgQGlmICgkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2hpbSA+IDApIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNoaW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubmV4dC1jbXMtZW50cnkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY21zLXBhZ2luYXRpb24tbmV4dCk7XHJcbiAgICAgICAgICAgIEBpZiAoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNoaW0gPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNoaW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lbnRyaWVzLXRleHQtY29udHJvbHMtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZ2FwOiAxMHB4IDA7XHJcbiAgICBtYXJnaW46IDE1cHggMCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgZ2FwOiAxMHB4IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAubGFiZWwge1xyXG4gICAgICAgIGNvbG9yOiAkY21zLXBhZ2luYXRpb24tbGFiZWwtY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAyKTtcclxuICAgICAgICBmb250LXdlaWdodDogJGNtcy1wYWdpbmF0aW9uLWxhYmVsLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkY21zLXBhZ2luYXRpb24tbGFiZWwtdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5jb250cm9sLWJ1dHRvbiB7XHJcbiAgICAgICAgJGVudHJpZXMtY29udHJvbHMtcHJldmlvdXMtYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNtcy1wYWdpbmF0aW9uLXByZXZpb3VzKSxcclxuICAgICAgICAgICAgcG9zaXRpb246IGJlZm9yZSxcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwLFxyXG4gICAgICAgICAgICBjb2xvdXI6ICRjbXMtcGFnaW5hdGlvbi1idXR0b24tY29sb3VyLFxyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpLFxyXG4gICAgICAgICAgICBzaXplOiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWljb24tc2l6ZVxyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgICRlbnRyaWVzLWNvbnRyb2xzLW5leHQtYnV0dG9uLWljb24tY29uZmlnOiAoXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNtcy1wYWdpbmF0aW9uLW5leHQpLFxyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWZ0ZXIsXHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweCxcclxuICAgICAgICAgICAgY29sb3VyOiAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91cixcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKSxcclxuICAgICAgICAgICAgc2l6ZTogJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1pY29uLXNpemVcclxuICAgICAgICApO1xyXG4gICAgICAgXHJcblxyXG4gICAgICAgICYucHJldmlvdXMtZW50cnkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1wYWRkaW5nLCAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSAsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogZml0LWNvbnRlbnQsIG1vYmlsZS13aWR0aDogMTAwJSksIChzbWFsbDogMCwgbGFyZ2U6IDApLCBmbGV4LCAkZW50cmllcy1jb250cm9scy1wcmV2aW91cy1idXR0b24taWNvbi1jb25maWcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICAmLm5leHQtZW50cnkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjb21tb24tYnV0dG9uLTEoJGNtcy1wYWdpbmF0aW9uLWJ1dHRvbi1wYWRkaW5nLCAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkY21zLXBhZ2luYXRpb24tYnV0dG9uLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG91ciwgZ2V0LWJ1dHRvbi1mb250LXNpemUoKSAsIGdldC1idXR0b24tZm9udC13ZWlnaHRzKCksICh3aWR0aDogZml0LWNvbnRlbnQsIG1vYmlsZS13aWR0aDogMTAwJSksIChzbWFsbDogMCwgbGFyZ2U6IDApLCBmbGV4LCAkZW50cmllcy1jb250cm9scy1uZXh0LWJ1dHRvbi1pY29uLWNvbmZpZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY21zLWVudHJ5LWJhY2stYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgkc2Vjb25kYXJ5LWJ1dHRvbi1wYWRkaW5nLCAkc2Vjb25kYXJ5LWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJHNlY29uZGFyeS1idXR0b24tY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCBnZXQtYnV0dG9uLWZvbnQtc2l6ZSgpICwgZ2V0LWJ1dHRvbi1mb250LXdlaWdodHMoKSwgKHdpZHRoOiAyMzBweCkpO1xyXG59XHJcblxyXG4vLyAtLS0tLSBJbmZvcm1hdGlvbiBQYWdlcyAtLS0tLSBcclxuLnNpdGUtbWFwIHtcclxuICAgIG1hcmdpbjogMCAwIDI1cHg7XHJcbiAgICA+IHVsIHsgXHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm5vdCguc3VwcHJlc3MtYm9yZGVyKSB7XHJcbiAgICAgICAgPiB1bCB7IFxyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHNpdGUtbWFwLXJ1bGUtcGFyZW50LXNlcGVyYXRvcjsgXHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgb25seSBpdGVtIHRoZW4gc3VwcHJlc3MgbWVjaGFuaXNtIGFsbCB0b2dldGhlci5cclxuICAgICAgICAgICAgICAgICY6b25seS1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gRG8gbm90IHNob3cgc2VwZXJhdG9yIG9uIHRoZSBsYXN0IGl0ZW0uXHJcbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgYTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgLnBhcmVudCB7XHJcbiAgICAgICAgICAgID4gYSwgPiBzcGFuIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHNpdGUtbWFwLXBhcmVudC1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkc2l0ZS1tYXAtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc2l0ZS1tYXAtcGFyZW50LWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vQGluY2x1ZGUgY2hldnJvbjEoJGNvbG91cjMtMiwgJHBvaW50UmlnaHQsIDE1cHgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMzVweCAwIDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHNpdGUtbWFwLXJ1bGUtcGFyZW50LXNlcGVyYXRvcjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDA7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGFyZW50IGEsIHVsIC5jaGlsZCA+IGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRzaXRlLW1hcC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc2l0ZS1tYXAtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uY21zLW1vZHVsZSB7IFxyXG4gICAgLnJlYWQtbW9yZS1idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luOiAkY21zLXJtLW1hcmdpbjtcclxuICAgICAgICBwYWRkaW5nOiAkY21zLXJtLXBhZGRpbmc7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcmVhZC1tb3JlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRyZWFkLW1vcmUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHJlYWQtbW9yZS1mb250LXN0eWxlO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjbXMtcm0tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG1hcC1nZXQoJGNtLXJtLXRleHQtZGVjb3JhdGlvbiwgZGVmYXVsdCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkY21zLXJtLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRjbXMtcm0tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRyZWFkLW1vcmUtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGJvcmRlciwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY21zLXJtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG1hcC1nZXQoJGNtLXJtLXRleHQtZGVjb3JhdGlvbiwgaG92ZXIpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1ib3JkZXItY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNtcy1ybS1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgcmVhZE1vcmVTdWZmaXgoKTtcclxuICAgIH1cclxufVxyXG5cclxuLmJhY2stdG8taW5mb3JtYXRpb24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKCRzZWNvbmRhcnktYnV0dG9uLXBhZGRpbmcsICRzZWNvbmRhcnktYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCAkc2Vjb25kYXJ5LWJ1dHRvbi1jb2xvdXIsICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvdXIsIGdldC1idXR0b24tZm9udC1zaXplKCkgLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygpLCAod2lkdGg6IDIzMHB4KSk7XHJcbn1cclxuXHJcbi8vIC0tLS0gQ01TIENvbnRlbnQgQ29udGFpbmVycyAtLS0tLVxyXG4vLyBERVBSRUNBVEVELCB5b3Ugc2hvdWxkIHVzZSAuY21zLWNvbnRlbnQtY29udGFpbmVyIGluc3RlYWQsIHRoaXMgcHJpbWFyeSBnZXRzIHVzZWQgaW4gdGhlIGFjY291bnQgYXJlYSBhbmQgc2hvdWxkIGJlIHJldHJvLWZpdHRlZC5cclxuLmNtcy1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAxMnB4IDAgNDFweDtcclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBJZiB0aGUgY21zLWNvbnRlbnQtY29udGFpbmVyIGlzIHdpdGhpbiBhIGRpdiB0aGF0IGhhcyBiYWNrZ3JvdW5kIGNvbG91ciBzZXQuXHJcbmRpdltzdHlsZSo9XCJiYWNrZ3JvdW5kLWNvbG9yXCJdIHtcclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIgeyBcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY21zLWNvbnRlbnQtY29udGFpbmVyLXBhZGRpbmcpOyBcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjbXMtY29udGVudC1jb250YWluZXItcGFkZGluZyk7ICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgaXMgdGhlIGNsYXNzIHRoYXQgc2hvdWxkIGJlIHVzZWQgd2hlbiBkZWZpbmluZyBhIGNtcyBjb250ZW50IGFyZWEuXHJcbi5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgY21zLWhlYWRpbmdzKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtcGFyYWdyYXBoKCk7IFxyXG4gICAgLy9AaW5jbHVkZSBjbXMtYW5jaG9yKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtYmxvY2txdW90ZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTsgICBcclxuICAgIC8vIFRoaXMgd2FzIGludGVyZmVyaW5nIHdpdGggaG93IGZvcm0gY21zLWNvbnRlbnQtY29udGFpbmVycyB3ZXJlIGJlIGFycmFuZ2VkIGZvciB3aW50ZXJzdG9rZS5cclxuICAgIC8vICY6bm90KC5sZWZ0LWFsaWduKSB7XHJcbiAgICAvLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy8gfVxyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA3MHB4O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hbW91bnQtcGFpZCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIC8vIEtlZXAgY29uc2lzdGVudCB3aXRoIHRoZSBpY29uIGFib3ZlLlxyXG4gICAgICAgICAgICBjb2xvcjogJHNhLXN1Y2Nlc3MtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWxlcnQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hbW91bnQtcGFpZCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgIC8vIEtlZXAgY29uc2lzdGVudCB3aXRoIHRoZSBpY29uIGFib3ZlLlxyXG4gICAgICAgICAgICBjb2xvcjogJHNhLWFsZXJ0LWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmNlbnRlci1jb250ZW50IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIC8vIEFkanVzdGluZyBhbGluZ21lbnQgZm9yIHFjIGZvciA4MTk2MDYgcmVnYXJkaW5nIHRleHRkYiBhbGlnbm1lbnQgZm9yIGVucXVpcnkgZm9ybSBvbiBzZWFyY2ggcGFnZS5cclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAmLmVycm9yIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICBoMiwgaDMsIGg0LCBoNSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuZ3V0dGVyLXkge1xyXG4gICAgICAgIG1hcmdpbjogMTJweCAwIDQxcHg7IFxyXG4gICAgfVxyXG4gICAgJi5wYWdlLWhlYWRpbmctY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XHJcbiAgICB9XHJcbiAgICAmLm5vLXNpZGUtcGFkZGluZyB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICB9XHJcbiAgICAmLm91dGxpbmUge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLy8gTW92aW5nIGJhc2Ugc3R5bGVzIG91dCBvZiBjbXMtbWl4aW4gZHVlIHRvIGNvbmZsaWN0aW5nIHJ1bGVzIHdpdGggKi1idXR0b24gY2xhc3Nlcy5cclxuICAgIEBhdC1yb290IHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY21zLWFuY2hvci1zaXplKTtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wLCBkZWZhdWx0LWNvbG91cigkY21zLWFuY2hvci1jb2xvdXIpKTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjbXMtYW5jaG9yLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGNtcy1hbmNob3ItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJltjbGFzcyo9XCItYnV0dG9uXCJdIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBhdC1yb290IHdhcyBvdmVycmlkaW5nIGZvb3RlciBwYXJhZ3JhcGggc3R5bGVzLlxyXG4gICAgLy8gQGF0LXJvb3QgeyAgXHJcbiAgICAgICAgcDpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHA6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgLy8gfVxyXG4gICAgJiArIHRhYmxlIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgLy8gU3BlY2lmaWNhbGx5IGZvciB0aGUgbG9naW4gcGFnZS5cclxuICAgICYgKyAucGFnZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxufSIsIi8vIC0tLS0tIFRIRSBNQUpPUklUWSBPRiBUSElTIENPREUgU0hPVUxEIEJFIFJFLVdSSVRFTiBXSEVOIFdFIFJFLUJVSUxEIFRIRSBDSEVDS09VVCBBUyBJVFMgRlJPTSBURU1QTEFURSAxIC0tLS0tIFxyXG5cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBQb3B1cHMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuI3BvcHVwT3ZlcmxheSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3VyMy02LCAwLjUpO1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0aGVpZ2h0OiAxMDAlO1xyXG5cdGxlZnQ6IDA7XHJcblx0b3ZlcmZsb3c6IGF1dG87XHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR0b3A6IDA7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ei1pbmRleDogNTAwMDA7XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiBcIiBcIjtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHR3aWR0aDogMDtcclxuXHR9XHJcbn1cclxuI3BvcHVwQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG5cdGJvcmRlci1yYWRpdXM6IDAuM2VtO1xyXG5cdGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW46IDAgMiU7XHJcblx0bWF4LXdpZHRoOiA4MDBweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IChtYXAtZ2V0KCRmaWVsZC13aWR0aCwgZGVza3RvcCkgKyAyMDApO1xyXG4gICAgfVxyXG5cdCYuc3RhbmRhcmQge1xyXG5cdFx0bWF4LWhlaWdodDogOTAlO1xyXG5cdFx0I3BvcHVwQ29udGVudCB7XHJcblx0XHRcdHBhZGRpbmc6IDIwcHg7XHJcblx0XHRcdC5jb250ZW50Q29udGFpbmVyIHtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiA1MHZoO1xyXG5cdFx0XHRcdG92ZXJmbG93LXk6IGF1dG87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblx0Ji5zY3JvbGwge1xyXG5cdFx0I3BvcHVwQ29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwdmg7XHJcblx0XHRcdHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuXHRcdFx0LmNvbnRlbnRDb250YWluZXIge1xyXG5cdFx0XHRcdG1heC1oZWlnaHQ6IDUwdmg7XHJcblx0XHRcdFx0b3ZlcmZsb3cteTogYXV0bztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRsZWdlbmQge1xyXG5cdFx0cGFkZGluZzogMTBweCA1cHg7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMTBweCk7XHJcblx0fVxyXG4gICAgZm9ybSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGZpZWxkLXdpZHRoLCBtb2JpbGUpO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAobWFwLWdldCgkZmllbGQtd2lkdGgsIGRlc2t0b3ApICsgMTAwKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29uZmlybWF0aW9uQ29udGFpbmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xyXG4gICAgICAgIG1hcmdpbjogMCAxZW0gMCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDEzcHggMTBweDtcclxuICAgIH1cclxuXHQucG9wdXBCdXR0b25Db250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XHJcblx0XHRcclxuXHRcdC5wb3B1cENsb3NlQnV0dG9uIHtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDFlbTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmNsb3NlQnV0dG9uLnBvcHVwQ2xvc2VCdXR0b24ge1xyXG4gICAgd2lkdGg6IDcwcHg7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHRvcDogMDtcclxuXHRAaW5jbHVkZSBjbG9zZUJ1dHRvbigpO1xyXG59XHJcbi5zZWNvbmRhcnktYnV0dG9uLnBvcHVwQ2xvc2VCdXR0b24ge1xyXG5cdCY6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuI2NoZWNrb3V0LWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uc2VjdGlvbi1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICBhIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybUZpZWxkQ29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4jY2hlY2tvdXRGb3JtIHtcclxuICAgIHNlbGVjdCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjVweDtcclxuICAgIH1cclxuICAgIC5jaGFuZ2VEZXRhaWxzIHtcclxuICAgICAgICBtYXJnaW46IDVweCAwIDE1cHg7XHJcbiAgICB9XHJcbiAgICAjY2hlY2tvdXRGb3JtRGV0YWlscyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgkY29sb3VyNC0zLCAwLjIpO1xyXG4gICAgfVxyXG4gICAgLmNoZWNrb3V0LWRldGFpbHMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxuICAgICNkZWxpdmVyeURldGFpbHNDb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMjBweCAwIDM1cHg7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0zLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICNjaGVja291dEJ1dHRvbkNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiA3NXB4IDAgMDtcclxuICAgICAgICAjY2hlY2tvdXRTdWJtaXRCdXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24xKCRjb2xvdXI0LCAxNSwgNjAwLCAxNXB4IDI1cHgpO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4kZWRpdEFjY291bnREZXRhaWxzUG9wdXBJY29uU2l6ZTogNDRweDtcclxuXHJcbiNlZGl0RGV0YWlsc0Zvcm1Db250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiA2MDBweDtcclxuICAgIG1heC1oZWlnaHQ6IDgwMHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcGFkZGluZzogMTBweCAxMHB4IDIwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgaDEgeyBcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZzogKCRlZGl0QWNjb3VudERldGFpbHNQb3B1cEljb25TaXplICogMS42KSAwIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXGY0ZmYnO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkZWRpdEFjY291bnREZXRhaWxzUG9wdXBJY29uU2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbkNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgI2NoYW5nZURldGFpbHNDYW5jZWxCdXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbjEoJGNvbG91cjMtMik7XHJcbiAgICB9XHJcbiAgICAjY2hhbmdlRGV0YWlsc1N1Ym1pdEJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uMSgkY29sb3VyNCk7XHJcbiAgICB9XHJcbiAgICAjY2hhbmdlRGV0YWlsc0Nsb3NlIHtcclxuICAgICAgICBAaW5jbHVkZSBidXR0b24xKCRjb2xvdXI0KTtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbn1cclxuI2NoYW5nZURldGFpbHMge1xyXG4gICAgJi5zdWNjZXNzIHtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTY7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jYWNjb3VudFBvc3Rjb2RlTG9va3VwQWRkcmVzc0NvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuI3Rlcm1zIHtcclxuICAgIG1hcmdpbjogNTBweCAwIDA7XHJcbn1cclxuXHJcbi8vIC0tLSBEZWxpdmVyeSBEZXRhaWxzIC0tLSBcclxuI2RlbGl2ZXJ5RGV0YWlsc0NvbnRhaW5lciB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA1MDAwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4jZGVsaXZlcnlDb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuI2RlbGl2ZXJ5VXBncmFkZUNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnZhbGlkYXRpb25FcnJvciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAwLjc1cmVtIWltcG9ydGFudDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG59XHJcblxyXG4uZGVsaXZlcnktb3B0aW9uIHtcclxuICAgIHdpZHRoOiAyNjBweCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jaGVja291dC1jb21wbGV0ZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4jYmlsbFBvc3Rjb2RlTG9va3VwQWRkcmVzc0NvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmVkaXQuY2hlY2tvdXRQb3B1cExpbmsge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLmNoZWNrb3V0LXJldHVybmluZy1jdXN0b21lci1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBwLCBoMiB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRjaGVja291dC1yZXR1cm5pbmctY3VzdG9tZXItaWNvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhdGVybmFyeS1idXR0b246bm90KDpob3Zlcikge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjVweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDI1cHggMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5xdWF0ZXJuYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJvY2VlZCk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkcXVhdGVybmFyeS1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkYWNjb3VudC1pY29ucywgYWNjb3VudCk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkY2hlY2tvdXQtcmV0dXJuaW5nLWN1c3RvbWVyLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLmVycm9yQ29udGFpbmVyLnBvc3Rjb2RlTG9va3VwU2VsZWN0Q29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZzogMTBweCAwOyBcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLmRlbGl2ZXJ5LXJlYWQtb25seSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn0iLCIvKlxyXG4tLS0tLSA0MDQgLS0tLS0tIFxyXG4tIEFyZSB5b3UgbG9zdD8gXHJcbiovXHJcblxyXG4uZXJyb3Itbm90LWZvdW5kLWxvZ28ge1xyXG4gICAgd2lkdGg6IG1hcC1nZXQoJG5vdC1mb3VuZC1sb2dvLXNpemUsIHdpZHRoKTtcclxuICAgIGhlaWdodDogbWFwLWdldCgkbm90LWZvdW5kLWxvZ28tc2l6ZSwgaGVpZ2h0KTtcclxuICAgIG1hcmdpbi1ib3R0b206IDUyLjVweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDVweDtcclxuICAgIH1cclxufVxyXG4uZXJyb3Itbm90LWZvdW5kLWNvbnRhaW5lciB7XHJcbiAgICBoZWlnaHQ6IDEwMHZoO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBAaWYgJG5vdC1mb3VuZC1iYWNrZ3JvdW5kIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbm90LWZvdW5kLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIEBpZiAkbm90LWZvdW5kLWJhY2tncm91bmQtaW1hZ2Uge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLWltYWdlKTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGxlZnQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLXNpemU7XHJcbiAgICAgICAgICAgIEBpZiBub3QgJG5vdC1mb3VuZC1iYWNrZ3JvdW5kLXJlcGVhdCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uZXJyb3Itbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyIHsgXHJcbiAgICB3aWR0aDogbWFwLWdldCgkbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoLCBzbWFsbCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBhZGRpbmc6ICRub3QtZm91bmQtY29udGVudC1jb250YWluZXItcGFkZGluZztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRub3QtZm91bmQtY29udGVudC1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbWFwLWdldCgkbm90LWZvdW5kLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoLCBsYXJnZSk7XHJcbiAgICB9XHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbm90LWZvdW5kLWhlYWRpbmctMS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJG5vdC1mb3VuZC1oZWFkaW5nLTEtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbm90LWZvdW5kLWhlYWRpbmctMS1jb2xvdXI7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG5vdC1mb3VuZC1oZWFkaW5nLTItZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRub3QtZm91bmQtaGVhZGluZy0yLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJG5vdC1mb3VuZC1oZWFkaW5nLTItY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRub3QtZm91bmQtaGVhZGluZy1wYXJhZ3JhcGgtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbm90LWZvdW5kLWhlYWRpbmctcGFyYWdyYXBoLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJG5vdC1mb3VuZC1wYXJhZ3JhcGgtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDYyLjVweCAwIDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEyNXB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBMaWdodCBib3ggIC0tLS0tXHJcbi0gVGhpcyBnZXQgZGlzcGxheWVkIG9uIHByb2R1Y3QgcGFnZXMgdG8gZGlzcGxheSB0aGUgZnVsbCByZXNvbHV0aW9uIHByb2R1Y3QgaW1hZ2VzLlxyXG5GdW50aW9uYWxpdHkgdGhpcyBob2xkczpcclxuLSBMaWdodCBib3ggYWN0aXZlIC8gaW5hY3RpdmUgc3RhdGVzLlxyXG4tIFRoZSBvdmVybGF5IHN0eWxlcy5cclxuLSBBZGRpdGlvbmFsIEltYWdlcy5cclxuLSAzNjAgaW1hZ2Ugc3VwcG9ydC5cclxuLSBUaGUgaGVhZGVyIHRoYXQgZ2V0cyBnZW5lcmF0ZWQuXHJcbi0gVmlkZW8gcGxheWVyLlxyXG4qL1xyXG5cclxuLy9PdmVybGF5XHJcbiNsaWdodGJveC1vdmVybGF5LmFjdGl2ZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgb3BhY2l0eTogMC43O1xyXG4gICAgei1pbmRleDogMTAwMDA7XHJcbn1cclxuXHJcbi8vTGlnaHRib3hcclxuLmxpZ2h0Ym94IHtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDUwJTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2xpZ2h0Ym94LWhlYWRlciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIH1cclxuICAgICNsaWdodGJveC1jb3VudCB7XHJcbiAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKHNtYWxsLXZhbHVlKCRsaWdodGJveC1pdGVtLWNvdW50LWZvbnQtc2l6ZSkpO1xyXG4gICAgICAgIGNvbG9yOiAkbGlnaHRib3gtaXRlbS1jb3VudC1jb2xvdXI7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDdweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1lZGl1bS12YWx1ZSgkbGlnaHRib3gtaXRlbS1jb3VudC1mb250LXNpemUpKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgb3JkZXI6IDQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4jbGlnaHRib3gtY29udGVudC1vdXRlci1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgei1pbmRleDogMTAwMDA7XHJcbn1cclxuXHJcbiNsaWdodGJveC1jb250ZW50LWlubmVyLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5yZWVsLW92ZXJsYXkge1xyXG4gICAgLy8gT3ZlcnJpZGluZyB0aGUgZGltZW5zaW9ucyBjYWxjdWxhdGVkIGJ5IHRoZSByZWVsIHBsdWdpbiwgdGhlIGluYnVpbHQganMgcmVzcG9uc2l2ZSBzdXBwb3J0IGNvbmZsaWN0cyB3aXRoIGZvdW5kYXRpb24ncyBtZWRpYSBxdWVyeSBzdXBwb3J0LlxyXG4gICAgd2lkdGg6IGF1dG8haW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG59XHJcblxyXG4vLyBUcmlnZ2VyIG92ZXJsYXkuXHJcbi5pbWFnZSB7XHJcbiAgICAmLmxpZ2h0Ym94LWVuYWJsZWQge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZW5sYXJnZSk7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbGlnaHRib3gtdHJpZ2dlci1wYWRkaW5nLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1iYWNrZ3JvdW5kO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGxpZ2h0Ym94LXRyaWdnZXItaWNvbi1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbGlnaHRib3gtdHJpZ2dlci1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGVmYXVsdC1jb2xvdXIoJHByb2R1Y3QtZW5xdWlyeS1tYWluLWltYWdlLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgei1pbmRleDogMTAwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbGlnaHRib3gtdHJpZ2dlci1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkcHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UtYm9yZGVyLWNvbG91cik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmxpZ2h0Ym94IHtcclxuICAgICNsaWdodGJveC1jbG9zZS1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAvLyBEb25lIG5lZWQgdG8gc2V0IGFic29sdXRlIHdpZHRoICsgaGVpZ2h0IGFueW1vcmUuXHJcbiAgICAgICAgLy8gd2lkdGg6ICRsaWdodGJveC1jbG9zZS1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICAvLyBoZWlnaHQ6ICRsaWdodGJveC1jbG9zZS1idXR0b24tZGltZW50aW9ucztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvIDE1cHg7XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAvLyBDaGVjayBjb250cmFzdCBiZXR3ZWVuIGNvbG91cnMuXHJcbiAgICAgICAgJGJhY2tncm91bmQtY29sb3VyOiAkbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIC8vIERlZmF1bHQuXHJcbiAgICAgICAgJGJ1dHRvbi1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpLCAkbGlnaHRib3gtaGVhZGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAvLyBIb3Zlci5cclxuICAgICAgICAkYnV0dG9uLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGxpZ2h0Ym94LWNsb3NlLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKSwgJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgLy8gQWN0aXZlXHJcbiAgICAgICAgJGJ1dHRvbi1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbGlnaHRib3gtY2xvc2UtYnV0dG9uLWNvbG91ciwgYWN0aXZlKSwgJGxpZ2h0Ym94LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oJGljb24tc2l6ZSwgJGJ1dHRvbi1kZWZhdWx0LCAkYnV0dG9uLWhvdmVyLCAkYnV0dG9uLWFjdGl2ZSk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDEwMDtcclxuICAgIH1cclxuXHJcbiAgICAucmVlbC1vdmVybGF5IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGlnaHRib3gtY29udGVudCB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDAlIC0gdmFyKC0tbGlnaHRib3gtaGVhZGVyLWhlaWdodCkgLSAje3NwYWNpbmctdmFsdWUoJGxpZ2h0Ym94LWNvbnRlbnQtbWFyZ2luLCAxLCBzbWFsbCl9KTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtY29udGVudC1tYXJnaW4pO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHVuc2V0O1xyXG4gICAgICAgICAgICAvLyBBY2NvdW50IGZvciBwYWdlciB3aWR0aC5cclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IG1lZGl1bS12YWx1ZSgkbGlnaHRib3gtcGFnZXItaXRlbS13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkbGlnaHRib3gtY29udGVudC1tYXJnaW4pO1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKSAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbjogeGxhcmdlLXZhbHVlKCRsaWdodGJveC1jb250ZW50LW1hcmdpbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5saWdodEJveFNsaWRlIHtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAje3NtYWxsLXZhbHVlKCRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zKX12dztcclxuICAgICAgICAgICAgICAgIC8vaGVpZ2h0OiAje3NtYWxsLXZhbHVlKCRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zKX12aDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtICN7bWVkaXVtLXZhbHVlKCRsaWdodGJveC1wYWdlci1pdGVtLXdpZHRoKX0pO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBEb24ndCBlbmZvcmNlIGEgbWluIGhlaWdodCBidXQgcmF0aGVyIGFkanVzdCB0byBjb250ZW50LCBqdXN0IG1ha2Ugc3VyZSB5b3UgZG9uJ3QgZ2V0IGludG8gYSBzaXR1YXRpb24gd2hlcmUgeW91IG92ZXJmbG93IGFub3RoZXIgZWxlbWVudCAvIHZpZXdwb3J0LlxyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6ICN7bWVkaXVtLXZhbHVlKCRsaWdodGJveC1zbGlkZS1kaW1lbnRpb25zKX12aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogI3tsYXJnZS12YWx1ZSgkbGlnaHRib3gtc2xpZGUtZGltZW50aW9ucyl9dmg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLmlzLXZpZGVvIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwdnc7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDYwdnc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZywgI2xpZ2h0Ym94LXZpZGVvLXBsYXllciB7XHJcbiAgICAgICAgICAgICAgICAvL21heC13aWR0aDogbWFwLWdldCgkbGlnaHRib3gtc2xpZGUtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LXNsaWRlLWltYWdlLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAvLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gaGlnaGxpZ2h0aW5nIHRoZSBpbWFnZS5cclxuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByZXYsXHJcbiAgICAgICAgLm5leHQge1xyXG4gICAgICAgICAgICB3aWR0aDogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLXdpZHRoKTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkbGlnaHRib3gtY29udHJvbHMtaGVpZ2h0KTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAgbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAwLjg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRsaWdodGJveC1jb250cm9scy13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRsaWdodGJveC1jb250cm9scy1oZWlnaHQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAgbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbGFyZ2UtdmFsdWUoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRsaWdodGJveC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkbGlnaHRib3gtY29udHJvbHMtaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIG1hcC1nZXQoJGxpZ2h0Ym94LWNvbnRyb2xzLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmRpc2FibGVkIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRpbnB1dC1ib3JkZXItY29sb3VyLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5wcmV2IHtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkYm9yZGVyUmFkaXVzMSAkYm9yZGVyUmFkaXVzMSAwO1xyXG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGggJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aCAkbGlnaHRib3gtY29udHJvbHMtYm9yZGVyLXdpZHRoIDA7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsaWdodGJveC1wcmV2KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmV4dCB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMSAwIDAgJGJvcmRlclJhZGl1czE7XHJcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aCAwICRsaWdodGJveC1jb250cm9scy1ib3JkZXItd2lkdGggJGxpZ2h0Ym94LWNvbnRyb2xzLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbGlnaHRib3gtbmV4dCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2xpZGVzQ29udGFpbmVyIHtcclxuICAgICAgICBib3gtc2hhZG93OiAtMjBweCA2cHggNjBweCAtMTNweCAkY29sb3VyMjtcclxuICAgIH1cclxuICAgICNsaWdodGJveFBhZ2VyQ29udGFpbmVyIHtcclxuICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRsaWdodGJveC1wYWdlci1oZWlnaHQpO1xyXG4gICAgICAgIC8vIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICAgICAgLy8gYm94LXNoYWRvdzogLTI5cHggMjhweCA1OHB4IC0yOXB4ICRjb2xvdXIyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRsaWdodGJveC1wYWdlci1oZWlnaHQpO1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgMCAwIHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICAgICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wc19fcmFpbC15IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjEsIDAuNSk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAgICAgICAgIC5wc19fdGh1bWIteSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG91cjQsIDAuNyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBzX19yYWlsLXgge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5ob3Jpem9udGFsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBlbmQ7XHJcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXg6IDAgMCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgLy8gYm9yZGVyLXRvcDogM3B4IHNvbGlkICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogaW5oZXJpdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wc19fcmFpbC15IHsgXHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wc19fcmFpbC14IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG91cjEsIDAuNSk7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDtcclxuICAgICAgICAgICAgICAgIC5wc19fdGh1bWIteCB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvdXI0LCAwLjcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYucHMtLWFjdGl2ZS14IHtcclxuICAgICAgICAgICAgICAgIC5wc19fcmFpbC14IHtcclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubGlnaHRib3gtcGFnZXItaXRlbSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleDogMTtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogbWVkaXVtLXZhbHVlKCRsaWdodGJveC1wYWdlci1pdGVtLXdpZHRoKTsgICAgXHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRsaWdodGJveC1wYWdlci1pdGVtLXdpZHRoKTtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMjV2dztcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMjB2aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgfVxyXG4gICAgJi5pcy12aWRlbyB7XHJcbiAgICAvLyAgICB3aWR0aDogMjV2dztcclxuICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgICAgfVxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmltYWdlLTM2MCB7XHJcbiAgICAgICAgQGluY2x1ZGUgaW1hZ2UzNjBPdmVybGF5KDgwJSwgNTVweCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saWdodGJveC1iYWNrZ3JvdW5kIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0Ym94LWJhY2tncm91bmQtY29sb3VyO1xyXG59XHJcblxyXG4jbGlnaHRib3gtdmlkZW8tcGxheWVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLy8gQXMgd2UgY3VycmVudGx5IG9ubHkgc3VwcG9ydCB2aWRlb3Mgc3VwcGxpZWQgYnkgeW91dHViZSBzZXQgdGhlIGFzcGVjdCByYXRpbyB0byAxNjo5IGJhc2VkIG9uIHRoZSBiZXN0IGRpbWVuc2lvbnMgdGFibGUgaGVyZSBodHRwczovL3N1cHBvcnQuZ29vZ2xlLmNvbS95b3V0dWJlL2Fuc3dlci82Mzc1MTEyLCB0aGUgbWFqb3JpdHkgb2YgdmlkZW9zIHdpbGwgYmUgaW4gMTkyMHgxMDgwLiBJZiB0aGlzIG5lZWRzIHRvIGJlIHJlbW92ZWQgYSBhYnNvbHV0ZSBoZWlnaHQgd2lsbCBuZWVkIHRvIGJlIGFwcGxpZWQgdGhlIGlmcmFtZS5cclxuICAgIGFzcGVjdC1yYXRpbzogMTYvOTtcclxufSIsIi8qXHJcbi0tLS0tIE1hZ25pZmllciAtLS0tLSBcclxuVGhpcyBpcyBwcmltYXJpbHkgdXNlZCBvbiB0aGUgcHJvZHVjdCBwYWdlIHdoZW4geW91IGhvdmVyIG92ZXIgdGhlIG1haW4gaW1hZ2UuXHJcbiovXHJcblxyXG4uaW1nLW1hZ25pZmllci1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbn1cclxuLmltZy1tYWduaWZpZXItZ2xhc3Mge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBjdXJzb3I6IGNyb3NzaGFpcjtcclxufVxyXG5cclxuLy8gSWYgbWFnbmlmaWNhdGlvbiBpcyBhY3RpdmUgb24gYSBsaWdodGJveCBlbmFibGVkIGltYWdlIHRoZW4gcmVkdWNlIHRoZSBsaWdodGJveCBpY29uIGRvd24gYXMgdGhpcyBjYW4gZ2V0IGluIHRoZSB3YXkgb2YgdGhlIG1hZ25pZmljaWF0aW9uIGdsYXNzLlxyXG4ucHJvZHVjdC1lbnF1aXJ5LW1haW4taW1hZ2UubWFnbmlmaWNhdGlvbi1jb250YWluZXIuaW1hZ2Uge1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRsaWdodGJveC10cmlnZ2VyLXBhZGRpbmcsIG1hZ25pZmljYXRpb24taG92ZXIpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICN7KCRsaWdodGJveC10cmlnZ2VyLWljb24tc2l6ZSAvIDIpfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uaW1hZ2UtbWFnbmlmaWNhdGlvbiB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICB9XHJcbiAgICAubWFnbmlmeWluZy1nbGFzcyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgY3Vyc29yOiBjcm9zc2hhaXI7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi8vIFRPRE86IFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzLlxyXG4ubWFnbmlmaWVyLWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIC5tYWduaWZpZXItY29udHJvbCB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRlLWluY3JlbWVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHpvb20tb3V0KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbmNyZW1lbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB6b29tLWluKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIGJ4U2xpZGVyICggQ2Fyb3VzZWxzICkgLS0tLS0tIFxyXG4tIGh0dHBzOi8vYnhzbGlkZXIuY29tL1xyXG4tIFRoaXMgaGFuZGxlcyBhbGwgdGhlIGRpc3BsYXkgc3R5bGVzIGZvciBjYXJvdXNlbHMgLyBzbGlkZXNob3dzIGFyb3VuZCBleHByZXNzIHRoaXMgY2FuIGJlIGluIGEgbW9kdWxlIG9yIGFkZGl0aW9uYWwgaW1hZ2VzIG9uIHRoZSBwcm9kdWN0IHBhZ2UsIHRoZSBjb250ZW50IGlzIG5vdCByZXN0cmljdGVkIHRvIGp1c3QgaW1hZ2VzIGJ1dCBjYW4gZXh0ZW5kIHRvIGRpc3BsYXkgcHJvZHVjdCAvIGViZydzLiBcclxuKi9cclxuXHJcblxyXG4uY2Fyb3VzZWwge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmLmJ4LXVuZGVybGluZSB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjYXJvdXNlbC1jb2xsZWN0aW9uLXVuZGVybGluZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYngtc2hhZG93IHtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNhcm91c2VsLWNvbGxlY3Rpb24tc2hhZG93KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi50cmFuc2l0aW9uLW1vZGUtaG9yaXpvbnRhbCB7XHJcbiAgICAgICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnRyYW5zaXRpb24tbW9kZS1ob3Jpem9uYWwsICYudHJhbnNpdGlvbi1tb2RlLWZhZGUge1xyXG4gICAgICAgIC5ieC12aWV3cG9ydCB7XHJcbiAgICAgICAgICAgIC8vIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGNsaXAgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIGlzIGEgZHVwbGljYXRpb24gb2YgY29kZSBhcyB0aGlzIGlzIGRlZmluZWQgaW4gdGhlIC5jb2xsZWN0aW9uIGNsYXNzLCB0aGlzIGRlcGVuZGFuY3kgc2hvdWxkIGJlIHdvcmtlZCBvdXQgdGhlIHN5c3RlbSBvbmNlIDgxNzEzOCBpcyBkb25lIGJ1dCBjdXJyZW50bHkgdGhlcmUgaXMgYSBkaXNjb25uZWN0IGJldHdlZW4gY2Fyb3VzZWwgc3BhY2luZyBhbmQgZ3JpZCBzcGFjaW5nLlxyXG4gICAgLS1tb2R1bGUtZ3V0dGVyOiAje3NtYWxsLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX07XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgIC0tbW9kdWxlLWd1dHRlcjogI3ttZWRpdW0tdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAtLW1vZHVsZS1ndXR0ZXI6ICN7bGFyZ2UtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vU2xpZGUgc3R5bGVzLCB0aGlzIGhhbmRsZXMgYmFzaWMgYmFubmVyIGNhcm91c2VsIHN0eWluZyB0byBtdWx0aXBsZSBzbGlkZSBwcm9kdWN0IGNhcm91c2Vscy5cclxuLy8gLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAvLyBUT0RPOiB0aGlzIGlzIG5vdCBhIGZpeCBhbmQgbmVlZCBhZGRpdGlvbmFsIHdvcmsuLi4gODE2NTAwXHJcbiAgICAvLyBZb3UgbXVzdCBhZGQgcGFkZGluZyBpZiBzaGFkb3cgaXMgZW5hYmxlZC5cclxuICAgIC8vICYubXVsdGktY29sLXBhZGRpbmcge1xyXG4gICAgLy8gICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgLy8gfSAgIFxyXG4vLyB9XHJcblxyXG5bZGF0YS1ieFNsaWRlcl0sIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSwgLmNtcy1jYXJvdXNlbC1tb2R1bGUge1xyXG4gICAgQGluY2x1ZGUgcHJvZHVjdC1jb2xsZWN0aW9uLWNlbGwoKTtcclxufVxyXG5cclxuLmJ4LXNlcGVyYXRvciB7XHJcbiAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAmW2FyaWEtaGlkZGVuPWZhbHNlXSB7XHJcbiAgICAgICAgICAgICYgKyAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkY29sbGVjdGlvbi1zZXBlcmF0b3JzLWRlZmF1bHQtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGNvbGxlY3Rpb24tc2VwZXJhdG9ycy1kZWZhdWx0LWRpbWVudGlvbnMsIGhlaWdodCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xsZWN0aW9uLXNlcGVyYXRvcnMtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ4LXZpZXdwb3J0IHtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5baWQkPVwiLWNhcm91c2VsLWNvbnRhaW5lclwiXSB7XHJcbiAgICBmbGV4OiAxO1xyXG59XHJcblxyXG4vLyAtLS0tLSBDb250cm9scyAtLS0tLVxyXG4vL05vcm1hbCAvIGZhbGxiYWNrLCBtZWRpdW0gc2l6ZWQgYnV0dG9ucy5cclxuLmNhcm91c2VsOm5vdCgubGFyZ2VDb250cm9scyk6bm90KC5zbWFsbENvbnRyb2xzKSAuYngtY29udHJvbHMge1xyXG4gICAgaGVpZ2h0OiBtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpO1xyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCk7XHJcbiAgICAgICAgaGVpZ2h0OiAgbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gRGljdGF0ZXMgd2hldGhlciB0aGUgY29udHJvbHMgc2hvdWxkIGJlIHdpdGhpbiBjYXJvdXNlbCBjb250YWluZXIgb3Igb3ZlcmZsb3cuXHJcbi5jYXJvdXNlbDpub3QoLmNvbnRyb2xzLWNvbnRhaW5lZCkgLmJ4LWNvbnRyb2xzIHtcclxuICAgIEBpZiBub3QgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdCB7XHJcbiAgICAgICAgJjpub3QoLmxhcmdlQ29udHJvbHMpOm5vdCguc21hbGxDb250cm9scykge1xyXG4gICAgICAgICAgICAuYngtcHJldiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpICogMS4yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYngtbmV4dCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogKG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIG5vcm1hbCkgKiAxLjIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgICYuc21hbGxDb250cm9scyB7XHJcbiAgICAgICAgICAgIC8vIFRPRE86IGltcGxlbWVudCBzbWFsbCBjb250cm9scyBwb3NpdGlvbmluZy5cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5sYXJnZUNvbnRyb2xzIHtcclxuICAgICAgICAgICAgLmJ4LXByZXYge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBsYXJnZSkgLyAyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYngtbmV4dCB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9ICBcclxuXHJcbiAgICB9XHJcbiAgICAgIFxyXG59XHJcblxyXG4vL0xhcmdlIGNvbnRyb2xzLCBwaW5uZWQgdG8gdGhlIGxlZnQvcmlnaHQgb2YgdGhlIHNsaWRlciB3aXRoIGVubGFyZ2VkIGJ1dHRvbiBhcmVhLlxyXG4uY2Fyb3VzZWwubGFyZ2VDb250cm9scyAuYngtY29udHJvbHMge1xyXG4gICAgLy9UaGlzIGNsYXNzIGlzIG9ubHkgdXNlZCBpZiBhIHBhZ2VyIGlzIGFjdGl2ZS5cclxuICAgIC5ieC1jb250cm9scy1kaXJlY3Rpb24ge1xyXG4gICAgICAgIEBpZiBub3QgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIFRvbyBhbGxvdyBmb3IgYSBndXR0ZXIgYmV0d2VlbiB0aGUgYnV0dG9ucy5cclxuICAgICAgICAgICAgJGJ1dHRvbi1ndXR0ZXI6ICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtZ3V0dGVyO1xyXG4gICAgICAgICAgICB3aWR0aDogKChzbWFsbC12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucykgKiAyKSArICgkYnV0dG9uLWd1dHRlciAqIDIpKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAkYnV0dG9uLWd1dHRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICgobGFyZ2UtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpICogMikgKyAkYnV0dG9uLWd1dHRlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ2JvdHRvbS1yaWdodCcge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAnYm90dG9tLWxlZnQnIHtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAndG9wLXJpZ2h0JyB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgfSBAZWxzZSBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09ICd0b3AtbGVmdCcge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7XHJcbiAgICAgICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkYngtY29udHJvbHMtZGltZW50aW9ucyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMpO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGxhcmdlLXZhbHVlKCRieC1jb250cm9scy1kaW1lbnRpb25zKTsgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNhcm91c2VsLnNtYWxsQ29udHJvbHMgLmJ4LWNvbnRyb2xzIHtcclxuICAgIGhlaWdodDogbWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgc21hbGwpO1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCksXHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIHNtYWxsKTtcclxuICAgICAgICBAaWYgKG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3ZlcikpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgd2lkdGg6IChtYXAtZ2V0KCRieC1jb250cm9scy1kaW1lbnRpb25zLCBub3JtYWwpIC8gMi41KTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAobWFwLWdldCgkYngtY29udHJvbHMtZGltZW50aW9ucywgbm9ybWFsKSAvIDIuNSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2hldnJvbjEoJGNvbG91cjQsICRwb2ludExlZnQsIG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIHNtYWxsKSAvIDIuNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYngtbmV4dDpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjaGV2cm9uMSgkY29sb3VyNCwgJHBvaW50UmlnaHQsIG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWRpbWVudGlvbnMsIHNtYWxsKSAvIDIuNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYXJvdXNlbDpub3QoLnNtYWxsQ29udHJvbHMpIC5ieC1jb250cm9scyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXdpZHRoID4gMCkge1xyXG4gICAgICAgICAgICBib3JkZXI6ICRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci13aWR0aCBzb2xpZCBkZWZhdWx0LWNvbG91cigkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtY29udHJvbHMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgIEBpZiAobWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpKSB7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBob3Zlcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGRlZmF1bHQpOyBcclxuICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJ1dHRvbi1ib3gtc2hhZG93LCBkZWZhdWx0KSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgQGlmICgkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItd2lkdGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGhvdmVyLWNvbG91cigkY29sbGVjdGlvbi1jb250cm9scy1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBAaWYgKG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtYnV0dG9uLWJveC1zaGFkb3csIGhvdmVyKSkge1xyXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbWFwLWdldCgkY29sbGVjdGlvbi1jb250cm9scy1idXR0b24tYm94LXNoYWRvdywgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tY29udHJvbHMtb3BhY2l0eSwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24tY29udHJvbHMtYm9yZGVyLXdpZHRoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLWNvbnRyb2xzLW9wYWNpdHksIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAuY2Fyb3VzZWwuc21hbGwtd2lkZS1jb250cm9scyAuYngtY29udHJvbHMge1xyXG4vLyAgICAgLmJ4LXByZXYsIC5ieC1uZXh0IHtcclxuLy8gICAgICAgICAmOm5vdCguZGlzYWJsZWQpIHtcclxuLy8gICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgLy8gY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtc21hbGwtaWNvbik7XHJcbiAgICAgICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogOHB4O1xyXG4vLyAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgfVxyXG4vLyAgICAgfVxyXG4vLyB9XHJcblxyXG5AaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdCB7XHJcbiAgICAuaW1hZ2Utc2xpZGVzaG93LW1vZHVsZSB7XHJcbiAgICAgICAgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1ndXR0ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDb250cm9scyBjb250YWluZXIgcG9zaXRpb25pbmcuXHJcbkBpZiAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0IHtcclxuICAgIC5wcm9kdWN0LWNhcm91c2VsLW1vZHVsZSB7XHJcbiAgICAgICAgQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJ0b3AtcmlnaHRcIiBvciAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwidG9wLWxlZnRcIiB7XHJcbiAgICAgICAgICAgIC5jYXJvdXNlbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgLmJ4LXZpZXdwb3J0IHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5ieC1jb250cm9scyB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmJ4LWNvbnRyb2xzIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gXCJib3R0b20tcmlnaHRcIiBvciAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwidG9wLXJpZ2h0XCIgeyAgXHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9IEBlbHNlIGlmICAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwiYm90dG9tLWxlZnRcIiBvciAkY29sbGVjdGlvbi1jb250cm9scy1jb21wYWN0LXBvc2l0aW9uID09IFwidG9wLWxlZnRcIiB7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IFxyXG4gICAgfVxyXG4gICAgLmltYWdlLXNsaWRlc2hvdy1tb2R1bGUge1xyXG4gICAgICAgIC5ieC1jb250cm9scywgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgQGlmICRjb2xsZWN0aW9uLWNvbnRyb2xzLWNvbXBhY3QtcG9zaXRpb24gPT0gJ3RvcC1yaWdodCcge1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJGNvbGxlY3Rpb24tY29udHJvbHMtY29tcGFjdC1wb3NpdGlvbiA9PSAndG9wLWxlZnQnIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IEBlbHNlIHtcclxuICAgIC5ieC1jb250cm9scyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zbWFsbC13aWRlLWNvbnRyb2xzIHtcclxuICAgIC5ieC1jb250cm9scyB7XHJcbiAgICAgICAgLmJ4LXByZXY6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1wcmV2aW91cyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tc2l6ZSwgc21hbGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5ieC1uZXh0Om5vdCguZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtbmV4dCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ4LWNvbnRyb2xzLWljb24tc2l6ZSwgc21hbGwpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYngtY29udHJvbHMge1xyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC5ieC1wcmV2Om5vdCguZGlzYWJsZWQpLFxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1zaXplLCBzbWFsbCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpZiAkYngtY29udHJvbHMtaWNvbi1zaGFkb3cge1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygkYngtY29udHJvbHMtaWNvbi1zaGFkb3cpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYngtY29udHJvbHMtaWNvbi1zaXplLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRieC1jb250cm9scy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ieC1wcmV2IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAuYngtcHJldjpub3QoLmRpc2FibGVkKSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYXJvdXNlbC1jb250cm9scy1wcmV2aW91cyk7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0je3NtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSl9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtI3tsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pfTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJ4LW5leHQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmJ4LW5leHQ6bm90KC5kaXNhYmxlZCkge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2Fyb3VzZWwtY29udHJvbHMtbmV4dCk7XHJcbiAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtaWNvbi1zaGltKSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHNtYWxsLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1pY29uLXNoaW0pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWljb24tc2hpbSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmJ4LXByZXYsIC5ieC1uZXh0IHtcclxuICAgIC8vIE1ha2UganVzdCB0aGUgYnV0dG9ucyBvdmVybGFwIHRoZSB0aGUgY2Fyb3VzZWwgY29udGVudHMuXHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRjb2xsZWN0aW9uLWNvbnRyb2xzLWJvcmRlci1yYWRpdXMpO1xyXG59XHJcblxyXG4uYngtcHJldiB7XHJcbiAgICBAaWYgc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtcHJldi1wYWRkaW5nKSB7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtcHJldi1wYWRkaW5nKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBAaWYgbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtcHJldi1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRjb2xsZWN0aW9uLWNvbnRyb2xzLXByZXYtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5ieC1uZXh0IHtcclxuICAgIEBpZiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1uZXh0LXBhZGRpbmcpIHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1uZXh0LXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIEBpZiBsYXJnZS12YWx1ZSgkY29sbGVjdGlvbi1jb250cm9scy1uZXh0LXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJGNvbGxlY3Rpb24tY29udHJvbHMtbmV4dC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFByZXZlbnRzIGZsYXNoaW5nIGNvbnRlbnQgb24gcGFnZSBsb2FkLlxyXG5kaXZbZGF0YS1ieFNsaWRlcl0ge1xyXG4gICAgLy8gR2V0IGNvbHVtbiBjb3VudC5cclxuICAgIC8vIEF0IHRoZSB0aW1lIG9mIHdyaXRpbmcgdGhpcyB0aGUgQ1NTIGZ1bmN0aW9uIGF0dHIoKSBpcyBpbiBtYWluc3RyZWFtIHN1cHBvcnQgYnV0IHR5cGUoKSBpcyBub3Qgd2hpY2ggd2UgbmVlZCB0byBjb252ZXJ0IHRoZSB2YWx1ZSBmcm9tIHN0cmluZyB0byBpbnRlZ2VyIHRvIGJlIHVzZWQgaW4gY2FsYygpIGZ1bmN0aW9uLiBcclxuICAgIEBmb3IgJGNvbHVtbnMgZnJvbSAxIHRocm91Z2ggMTIge1xyXG4gICAgICAgICZbYngtY29sdW1uLWNvdW50PVwiI3skY29sdW1uc31cIl0ge1xyXG4gICAgICAgICAgICAtLWNvbHVtbnM6ICN7JGNvbHVtbnN9O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vICY6bm90KFtieC1zbGlkZXItaWRdKSB7XHJcbiAgICAvLyAgICAgbWF4LWhlaWdodDogNDAwcHg7XHJcbiAgICAvLyB9XHJcbiAgICAmOm5vdChbZGF0YS1pbml0aWFsaXNlZD1cInRydWVcIl0pIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLy8gUHJlLWluaXRpYWxpc2VkIGNvbHVtbiBhcnJhbmdlbWVudCwgdGhpcyBpcyBmb2xsb3dpbmcgdGhlIHNhbWUgcnVsZXMgYXMgZ3JpZCBtb2R1bGVzIGluIF9tb2R1bGVzLXYyLnNjc3MgLmNvbGxlY3Rpb24gJiAuZ3JpZC1jb2xsZWN0aW9uLXhcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIC8vIEFwcGx5IHJlc3BvbnNpdmUgY29sdW1uIGNvdW50LCB0aGlzIG1pcnJvdyBoYW5kbGViYXJzIGhlbHBlcnMgc21hbGwtY29sdW1uLWNvdW50LmpzICYgbWVkaXVtLWNvbHVtbi1jb3VudC5qcy5cclxuICAgICAgICAtLXNtYWxsLWNvbHVtbnM6IG1heChyb3VuZChkb3duLCBjYWxjKHZhcigtLWNvbHVtbnMpIC8gMiksIDEpLCAxKTtcclxuICAgICAgICAtLW1lZGl1bS1jb2x1bW5zOiBjYWxjKHZhcigtLXNtYWxsLWNvbHVtbnMpICsgMSk7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQodmFyKC0tc21hbGwtY29sdW1ucyksIG1pbm1heCgwLCAxZnIpKTtcclxuICAgICAgICAvLyBBcHBseSBnYXAuXHJcbiAgICAgICAgZ2FwOiB2YXIoLS1tb2R1bGUtZ3V0dGVyLCAje3NtYWxsLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KHZhcigtLW1lZGl1bS1jb2x1bW5zKSwgbWlubWF4KDAsIDFmcikpO1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7bWVkaXVtLXZhbHVlKCRtb2R1bGVzLWdyaWQtZ3V0dGVyLWZhbGxiYWNrKX0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCh2YXIoLS1jb2x1bW5zKSwgbWlubWF4KDAsIDFmcikpO1xyXG4gICAgICAgICAgICBnYXA6IHZhcigtLW1vZHVsZS1ndXR0ZXIsICN7bGFyZ2UtdmFsdWUoJG1vZHVsZXMtZ3JpZC1ndXR0ZXItZmFsbGJhY2spfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gKiB7XHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbnRlbnQtaW5pdGlhbGlzaW5nLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgY29udGVudC1sb2FkaW5nLXNwaW5uZXIoJGNvbnRlbnQtaW5pdGlhbGlzaW5nLXNwaW5uZXItY29sb3VyKTtcclxuICAgICAgICAuY29sbGVjdGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYngtdmlld3BvcnQge1xyXG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcclxufVxyXG4vLyBNYWtlcyBldmVyeSBzbGlkZSBkaXNwbGF5OiBibG9jayBvdGhlcndpc2UgeW91IGxvc2UgdGhlIGFuaW1hdGlvbiBlZmZlY3QgZm9yIHRyYW5zaXRpb25pbmcuXHJcbi5jYXJvdXNlbCAuYngtdmlld3BvcnQge1xyXG4gICAgLmNvbGxlY3Rpb24taXRlbSB7XHJcbiAgICAgICAgLy8gU3VwcHJlc3NpbmcgYXMgdGhpcyBub3cgZ2V0cyBoYW5kbGVkIGJ5IHRoZSAudHJhbnNpdGlvbi1tb2RlLSBjbGFzc2VzLCBoZWlnaHQ6IDEwMCUgYWxzbyBjYXVzZSBieHNsaWRlciB0byBpbmNvcnJlY3RseSBjYWxjdWxhdGUgdGhlIHNsaWRlIGhlaWdodCB3aGVuIGluIGZhZGUgbW9kZS5cclxuICAgICAgICAvLyBOZWVkIHRvIHNldCAxMDAlIGluIG1vYmlsZSB0byBrZWVwIGFsbCBjZWxscyB0aGUgc2FtZSBoZWlnaHQuXHJcbiAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxufVxyXG4vLyAtLS0gUGFnZXIgLS0tIFxyXG4uYngtcGFnZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgLmJ4LXBhZ2VyLWl0ZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB3aWR0aDogKCRieC1wYWdlci1idXR0b24tZGltZW50aW9ucyAqIDEuNSk7XHJcbiAgICAgICAgaGVpZ2h0OiAoJGJ4LXBhZ2VyLWJ1dHRvbi1kaW1lbnRpb25zICogMS41KTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgNy41cHg7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAkYngtcGFnZXItYnV0dG9uLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGJ4LXBhZ2VyLWJ1dHRvbi1kaW1lbnRpb25zO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkYngtcGFnZXItYnV0dG9uLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIGJvcmRlcjogJGNvbGxlY3Rpb24tcGFnZXItYnV0dG9uLWJvcmRlci13aWR0aCBzb2xpZCBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IG1hcC1nZXQoJGNvbGxlY3Rpb24tcGFnZXItYnV0dG9uLW9wYWNpdHksIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICBAaWYgKCRieC1wYWdlci1idXR0b24tdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICRieC1wYWdlci1idXR0b24tdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHksIGJvcmRlci1jb2xvciwgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvOyAgIFxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRieC1wYWdlci1idXR0b24tYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBUaGlzIGNsYXNzIGdldCBhc3NpZ25lZCB3aGVuIHRoZSBzbGlkZSBpcyBhY3RpdmUgTk9UIHdoZW4gdGhlIGJ1dHRvbiBpcyBhY3RpdmUuXHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGJ4LXBhZ2VyLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYngtcGFnZXItYnV0dG9uLWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiBtYXAtZ2V0KCRjb2xsZWN0aW9uLXBhZ2VyLWJ1dHRvbi1vcGFjaXR5LCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBTbGlkZXJzIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gVGhpcyBpcyAqTk9UKiBjYXJvdXNlbCBmdW5jdGlvbmFsaXR5IHBsZWFzZSByZWZlciB0byBieHNsaWRlci5zY3NzIGZvciB0aGF0LlxyXG4tIFRoaXMgaXMgZm9ybSBmb3JtIGNvbnRyb2xzIHdoZXJlIHlvdSByZXF1aXJlIGFuIGlucHV0IHR5cGUgPSBzbGlkZXIuXHJcbi0gVGhlIHN0bHllcyBoZXJlIHdpbGwgYWxzbyBoYXZlIGEgaGVhdnkgaW5mbHVlbmNlIG9uIHRoZSBwcmljZSBzbGlkZXIgZm9yIGZpbHRlcnMuXHJcbiovXHJcblxyXG4uc2xpZGVyIHtcclxuICAgIGhlaWdodDogJHNsaWRlci1yYWlsLWhlaWdodDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYWlsLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJHNsaWRlci1yYWlsLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRzbGlkZXItcmFpbC1ib3JkZXItcmFkaXVzKTtcclxuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFpbC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhaWwtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgLnVpLXNsaWRlci1yYW5nZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFuZ2UtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhaWwtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzbGlkZXItcmFpbC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIC51aS1zbGlkZXItcmFuZ2U6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc2xpZGVyLXJhbmdlLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBBZGQgZXJyb3Igc3R5bGVzLlxyXG4gICAgJi5zbGlkZXItaW52YWxpZCB7XHJcbiAgICAgICAgLnVpLXNsaWRlci1yYW5nZSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnVpLXNsaWRlci1oYW5kbGUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gLS0tLS0gU2xpZGVyIEhhbmRsZSAtLS0tIFxyXG4vLyBUaGUgdGhpbmdzIHRoYXQgeW91IHB1bGwgb24uXHJcbi51aS1zbGlkZXItaGFuZGxlIHtcclxuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1kaW1lbnRpb25zO1xyXG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1kaW1lbnRpb25zO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogLS41ZW07XHJcbiAgICAvLyBJZiB0aGUgaGFuZGxlIGlzIGluIHRoZSBtaW4gcG9zaXRpb24gdGhlIHJhaWwgYmVsb3cgaXMgc3RpbGwgZXhwb3NlZC5cclxuICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3VyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1oYW5kbGUtYm9yZGVyLXJhZGl1cztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWljb24tY29sb3VyO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItaGFuZGxlLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGNvbG91cjE7XHJcblxyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcblxyXG4udWktc3RhdGUtYWN0aXZlIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNsaWRlciBSYW5nZSAtLS0tLSBcclxuLy8gVGhlIGNvbG91cmVkIGFyZWEgKCB0aGUgc2VsZWN0ZWQgc2VjdGlvbiApXHJcbi51aS1zbGlkZXItcmFuZ2Uge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIC8vIEFkZGluZyBhZGR0aW9uYWwgd2lkdGggKyBoZWlnaHQgc28gdGhlIHJhbmdlIG92ZXJmbG93cyB0aGUgcmFpbCdzIGJvcmRlci5cclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlICsgNHB4KTtcclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNsaWRlci1yYW5nZS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgIC8vIFRvIG92ZXJsYXAgdGhlIHJhbmdlIGNvbG91cmluZyBvdmVyIHRoZSByYWlsJ3MgYm9yZGVyLlxyXG4gICAgJi51aS1zbGlkZXItcmFuZ2UtbWluIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi51aS1zbGlkZXItcmFuZ2UtbWF4IHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYudWktc2xpZGVyLWhvcml6b250YWwge1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbn1cclxuLy8gLS0tLS0gRXJyb3IgY29udGFpbmVyIC0tLS0tIFxyXG4uc2xpZGVyLWVycm9ycyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMjVweCAzcHggNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICBcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH0gICAgXHJcbn0iLCJcclxuW2RhdGEtdG9vbHRpcF0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG59XHJcblxyXG5zcGFuLnRvb2x0aXAtdHJpZ2dlciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IGhlbHA7XHJcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7ICAvLyBkaXNhYmxlcyB0aGUgaU9TIGNhbGxvdXQgbWVudVxyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgICAgLy8gZGlzYWJsZXMgdGV4dCBzZWxlY3Rpb25cclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgIC8vIGJvbnVzOiBraWxscyB0aGUgdGFwIGZsYXNoLlxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBpbmZvKTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgcGFkZGluZzogKCR0b29sdGlwLWluZm8taWNvbi1zaXplIC0gNSkgKCR0b29sdGlwLWluZm8taWNvbi1zaXplIC0gMik7XHJcbiAgICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtaW5mby1pY29uLXNpemU7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgY29sb3I6IG1hcC1nZXQoJHRvb2x0aXAtaWNvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6aG92ZXI6YmVmb3JlIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tY29sb3VyLCBob3Zlcik7XHJcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICY6YWN0aXZlOmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkdG9vbHRpcC1pY29uLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0b29sdGlwLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgfVxyXG59XHJcblxyXG4udG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgLy8gTmVlZCB0byBzZXQgYmFzZWxpbmUgaWYgbXVsdGlwbGUgdGV4dCBzdHJpbmdzIHdyYXBwZWQgaW4gaHRtbCBlbGVtZW50cyB0byBlbnN1cmUgdGhleSBhbGwgZm9sbG93IHRoZSBzYW1lIHZlcnRpY2FsIGFsaWdubWVudCAoIGkuZSBTT0ggbm90aWZpY2F0aW9ucyApLlxyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgLy8gU3VwcHJlc3NpbmcgZHVlIHRvIGhhdmUgYSB0b29sdGlwIGRpcmVjdGx5IHVuZGVyIGFuZCBpbnN0YW5jZSBjYXVzZSB0aGUgYnV0dG9ucyB0byBvdmVybGFwIHRoZSBjb250ZW50IGFyZWEuXHJcbiAgICAvLyB6LWluZGV4OiA1MDA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmLndhcm5pbmcsICYuYWxlcnQge1xyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgc3VjY2Vzcyk7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNvbnRlbnQtbm90aWZpY2F0aW9uLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi53YXJuaW5nIHtcclxuICAgICAgICAudG9vbHRpcC10cmlnZ2VyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc3BlZWNoLWJ1YmJsZShcInRvcFwiLCAkdG9vbHRpcC1jb250ZW50LXRpcC1zaXplLCBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCksIG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCA5KSk7XHJcbiAgICAgICAgICAgIC5jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgd2FybmluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHdhcm5pbmctY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR3YXJuaW5nLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jb250ZW50LW5vdGlmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFsZXJ0IHtcclxuICAgICAgICAudG9vbHRpcC10cmlnZ2VyIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYWxlcnQpO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwZWVjaC1idWJibGUoXCJ0b3BcIiwgJHRvb2x0aXAtY29udGVudC10aXAtc2l6ZSwgIG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCksIG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgOSkpO1xyXG4gICAgICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHRvb2x0aXAtY29udGVudC1ub3RpZmljYXRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgXHJcbiAgICB9XHJcblxyXG4gICAgJi5zdGF0ZS1pbmRpY2F0b3Ige1xyXG4gICAgICAgIC50b29sdGlwLXRyaWdnZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB1bnJlYWQtc3RhdGUtb24pO1xyXG4gICAgICAgICAgICAgICAgLy8gZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICRidWJibGUtYXJyb3ctcG9zaXRpb24tb2Zmc2V0OiA4cHg7XHJcblxyXG4gICAgJi5hbGlnbi1yaWdodCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gI3skYnViYmxlLWFycm93LXBvc2l0aW9uLW9mZnNldH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIG92ZXJmbG93aW5nIGxlZnQgdGhlbiBvdmVycmlkZS5cclxuICAgICYucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1yaWdodCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6ICN7JGJ1YmJsZS1hcnJvdy1wb3NpdGlvbi1vZmZzZXR9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5hbGlnbi1sZWZ0IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6ICN7JGJ1YmJsZS1hcnJvdy1wb3NpdGlvbi1vZmZzZXR9O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gSWYgb3ZlcmZsb3dpbmcgcmlnaHQgdGhlbiBvdmVycmlkZS5cclxuICAgICYucmVzcG9uc2l2ZS1vdmVycmlkZS1hbGlnbi1sZWZ0IHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgLnRvb2x0aXAtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgbGVmdDogdW5zZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgLSAjeyRidWJibGUtYXJyb3ctcG9zaXRpb24tb2Zmc2V0fSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICAvLyBBZGRpbmcgdGhlIHRpcCB0byB0aGUgdG9vbHRpcC5cclxuICAgICAgICBAaW5jbHVkZSBzcGVlY2gtYnViYmxlKFwidG9wXCIsICR0b29sdGlwLWNvbnRlbnQtdGlwLXNpemUsICR0b29sdGlwLWNvbnRlbnQtYm9yZGVyLCAkdG9vbHRpcC1jb250ZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi8vIFRvIHN0b3AgdGhlIGNvbnRlbnQgZnJvbSBmbGFzaGluZyBvbiBwYWdlIGxvYWQuXHJcbi50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIC50b29sdGlwLWNvbnRlbnQge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICB9XHJcbn1cclxuLnRvb2x0aXAtY29udGVudCB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgIEBpbmNsdWRlIHRvb2x0aXAtY29udGVudC1wb3NpdGlvbmluZygpO1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIC8vdG9wOiAoJHRvb2x0aXAtaW5mby1pY29uLXNpemUgKiAzKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC1jb250ZW50IHtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogI3skdG9vbHRpcC1jb250ZW50LXRpcC1zaXplfXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgYm9yZGVyOiAjeyR0b29sdGlwLWNvbnRlbnQtYm9yZGVyLXdpZHRofXB4IHNvbGlkICR0b29sdGlwLWNvbnRlbnQtYm9yZGVyO1xyXG4gICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lOyBcclxuICAgICAgICB9XHJcbiAgICAgICAgbGksIGEsIHAge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCR0b29sdGlwLWNvbnRlbnQtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWNvbnRlbnQtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZGVmYXVsdC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICR0b29sdGlwLWNvbnRlbnQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBSZWFkIG1vcmUgLS0tLS1cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBSZXZlYWxpbmcgYWRkaXRpb25hbCBtYXJrdXAsIHRoaXMgY2FuIGluY2x1ZGUgdGV4dCBvciBpbWFnZXMuXHJcbi0gSG93IHRoZSBmYWRlIC8gZ3JhZGlhbnQgZ2V0cyB1c2VkIHdoZW4gY3V0dGluZyBvZiB0aGUgb3ZlcmZsb3dpbmcgY29udGVudC5cclxuKi9cclxuXHJcbi5yZWFkLW1vcmUge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJi5jb250YWluZXItY2FsY3VsYXRpb24td2FpdGluZyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAvLyBvdmVycmlkZSBjbG9zZWQgaGVpZ2h0LlxyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDsgXHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZE1vcmVCdXR0b24ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByZWFkLW1vcmUtb3Blbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm1vYmlsZS1vbmx5IHtcclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYubW9iaWxlLW9ubHkge1xyXG4gICAgICAgIC5yZWFkTW9yZUJ1dHRvbiB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyAmW3JtLXJldmVhbD10cnVlXSB7XHJcbiAgICAvLyAgICAgcGFkZGluZzogMCAwIDUwcHg7XHJcbiAgICAvLyB9XHJcbiAgICAucmVhZC1tb3JlLWNvbnRlbnQge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAucmVhZE1vcmVCdXR0b24ge1xyXG4gICAgICAgIC8vIExldHRpbmcgdGhpcyBmYWxsIG5hdHVyYWxseSBvbiB0aGUgcGFnZS5cclxuICAgICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgLy8gcmlnaHQ6IDA7XHJcbiAgICAgICAgLy8gYm90dG9tOiAwO1xyXG4gICAgICAgIC8vIGxlZnQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4IDI0cHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHJlYWQtbW9yZS1jbG9zZWQpO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBib3R0b206IDVweDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuXHJcbi5yZWFkLW1vcmUge1xyXG4gICAgLy8gUnVsZXMgdG8gc2hvdyBmYWRlLlxyXG4gICAgLy8gSWYgdGhlIGZhZGUgaXMgbm90IGRpc2FibGVkIGJ5IHRoZSBKUyBkdWUgdG8gbG93IGNvbnRlbnQuXHJcbiAgICAmOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xyXG4gICAgICAgIC8vIElmIHRoaXMgaXMgYSByZWFkIG1vcmUgZWxlbWVudCB0aGF0IGFsbG93cyB0aGUgZmFkZSBlZmZlY3QgYW5kIG5vdCBqdXN0IHVzaW5nIHRoIHJldmVhbCBmdW5jdGlvbmFsaXR5LlxyXG4gICAgICAgIC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2ltcGxlLWZhZGUoJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgdGhpcyBpcyBqdXN0IGEgbW9iaWxlIG9ubHkgcmVhZCBtb3JlIGR1ZSB0byBsYXJnZSBhbW91bnRzIG9mIGNvbnRlbnQgYnV0IGxvb2tzIG9rIG9uIGRlc2t0b3AuXHJcbiAgICAgICAgJi5tb2JpbGUtb25seSAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hc2staW1hZ2U6IHVuc2V0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElmIGFjdGl2ZSB0aGVuIGRpc2FibGUgZmFkZS5cclxuICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiB1bnNldDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucmVhZC1tb3JlLWNvbnRlbnQuY29udGVudC10cnVuY2F0ZS1lbmFibGVkIHtcclxuICAgICAgICAgICAgJiA+IHAge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAgICAgICAgICAgICAvLyBBcyAxNy4xMC4yMDI1IHRoZXJlIGlzIG5vIG9mZmljaWFsIHN1cHBvcnQgbGluZS1jbGFtcCBpbiBDU1MncyBzcGVjIGJ1dCBoYXMgZ29vZCBnZW5lcmFsIGJyb3dzZXIgc3VwcG9ydCBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9DU1MvbGluZS1jbGFtcC5cclxuICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogdmFyKC0tcmVhZC1tb3JlLWxpbmUtY2xhbXApO1xyXG4gICAgICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuICAgICAgICAgICAgICAgICYgKyBwIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIG5vdCBtb2JpbGUgb25seS5cclxuICAgIC8vICY6bm90KC5hY3RpdmUpOm5vdCgubW9iaWxlLW9ubHkpOm5vdCguZmFkZS1kaXNhYmxlZC1sb3ctY29udGVudCkge1xyXG4gICAgLy8gICAgIC8vIElmIGZhZGUgaXMgbm90IGRpc2FibGVkLlxyXG4gICAgLy8gICAgIC5yZWFkLW1vcmUtY29udGVudDpub3QoLm5vLWZhZGUpIHtcclxuICAgIC8vICAgICAgICAgQGluY2x1ZGUgc2ltcGxlLWZhZGUoJGRlZmF1bHQtcm0tZmFkZS1vcGFjaXR5KTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyBJZiBtb2JpbGUgb25seS5cclxuICAgIC8vICY6bm90KC5hY3RpdmUpLm1vYmlsZS1vbmx5IHtcclxuICAgIC8vICAgICAvLyBJZiBmYWRlIGlzIG5vdCBkaXNhYmxlZC5cclxuICAgIC8vICAgICAucmVhZC1tb3JlLWNvbnRlbnQ6bm90KC5uby1mYWRlKSB7XHJcbiAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgIC8vICAgICAgICAgICAgIEBpbmNsdWRlIHNpbXBsZS1mYWRlKCRkZWZhdWx0LXJtLWZhZGUtb3BhY2l0eSk7XHJcbiAgICAvLyAgICAgICAgIH1cclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9ICAgXHJcbiAgICAvLyBCZWZvcmUgaW5pdGlhbGlzYXRpb24gaGlkZSBjb250ZW50IHRvIHByZXZlbnQgY29udGVudCBmcm9tIGZsYXNoaW5nIHVwLlxyXG4gICAgJjpub3QoW3JtLWlkXSkge1xyXG4gICAgICAgIC8vIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgfSBcclxufVxyXG5cclxuIiwiLypcclxuLS0tLS0gQXV0byBDb21wbGV0ZSAoIFByZWRpY3RpdmUgU2VhcmNoICkgLS0tLS0tIFxyXG5UaGUgZHJvcGRvd24geW91IHNlZSB3aGVuIHlvdSBzdGFydCB0eXBpbmcgaW4gYSBxdWVyeSB3aXRoaW4gdGhlIHNlYXJjaCBiYXIgaW4gdGhlIGhlYWRlci5cclxuKi9cclxuXHJcblxyXG4jaGVhZGVyU2VhcmNoRm9ybSAuYWMtcmVzdWx0cyB7XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCBzbW9vdGgtZWRnZXMoKSBzbW9vdGgtZWRnZXMoKTtcclxuICAgIH1cclxuICAgIHBhZGRpbmc6IG1hcC1nZXQoJGFjLXJlc3VsdHMtcGFkZGluZywgdG9wKSBtYXAtZ2V0KCRhYy1yZXN1bHRzLXBhZGRpbmcsIHNpZGUpIG1hcC1nZXQoJGFjLXJlc3VsdHMtcGFkZGluZywgYm90dG9tKTtcclxuICAgID4gdWwge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICRhYy1yZXN1bHRzLXdpZHRoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNiU7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRhYy1yZXN1bHRzLWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiA1cHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDUwMDAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFjLXJlc3VsdHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAvLyBJbmNyZWFzZWQgei1pbmRleCB0byBiZSBvbnRvcCBvZiBiYXNrZXQgc3VtbWFyeS5cclxuICAgICAgICB6LWluZGV4OiAyMDAwMDE7XHJcbiAgICB9XHJcbiAgICAvLyBPcGVuaW5nIGFuZCBjbG9zaW5nLlxyXG4gICAgJi5zY3JvbGxlciB7XHJcbiAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICA+IHVsLCAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciA+IHVsIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA3MHZoO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIG1heC13aWR0aDogJGhlYWRlci1zZWFyY2gtd2lkdGg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hYy1jb2xsZWN0aW9uLXRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICBwYWRkaW5nOiAkYWMtdGl0bGUtY29sbGVjdGlvbi1wYWRkaW5nO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjLXRpdGxlLWNvbGxlY3Rpb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICBAaWYgKHNtb290aC1lZGdlcygkYWMtdGl0bGUtY29sbGVjaXRvbi1ib3JkZXItcmFkaXVzKSkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkYWMtdGl0bGUtY29sbGVjaXRvbi1ib3JkZXItcmFkaXVzKTtcclxuICAgIH1cclxuICAgIEBpZiAoJGFjLXRpdGxlLWNvbGxlY3Rpb24tYm9yZGVyKSB7XHJcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYWMtdGl0bGUtY29sbGVjdGlvbi1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICB9XHJcbiAgICAuYWMtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAkYWMtdGl0bGUtY29sbGVjdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJGFjLXRpdGxlLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIEBpZiAoJGFjLXRpdGxlLWxldHRlci1zcGFjaW5nKSB7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAkYWMtdGl0bGUtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkYWMtdGl0bGUtY29sbGVjdGlvbi1mb250LWZhbWlseTtcclxuICAgIH1cclxuICAgIC52aWV3LWFsbCB7XHJcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBhOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhYy12aWV3LWFsbC1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRhYy12aWV3LWFsbC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFjLXZpZXctYWxsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgYXV0by1jb21wbGV0ZS12aWV3LWFsbCk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDkpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGFjLXZpZXctYWxsLWljb24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuLmFjLXRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46ICRhYy10aXRsZS1tYXJnaW47XHJcbiAgICBmb250LXN0eWxlOiAkYWMtdGl0bGUtZm9udC1zdHlsZTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkYWMtdGl0bGUtZm9udC13ZWlnaHQ7XHJcbiAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgIEBpZiAoJGFjLXRpdGxlLWZvbnQtc2l6ZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGFjLXRpdGxlLWZvbnQtc2l6ZSk7XHJcbiAgICB9XHJcbiAgICBAaWYgKCRhYy10aXRsZS1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkYWMtdGl0bGUtbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbn1cclxuLmFjLWl0ZW0tbGlzdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgcGFkZGluZzogJGFjLWl0ZW0tbGlzdC1wYWRkaW5nO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICYuY29sdW1uIHtcclxuICAgICAgICAuYWMtaXRlbSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZmxleDogMSAwIDUwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOm5vdCguY29sdW1uKSB7XHJcbiAgICAgICAgLmFjLWl0ZW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAmLnJvdyB7XHJcbiAgICAgICAgLmFjLWl0ZW0ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4uYWMtaXRlbSB7XHJcbiAgICBtYXJnaW46ICRhYy1pdGVtLW1hcmdpbjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGEgc3BhbiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhYy1pdGVtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UsIC5hYy1pdGVtLW11bHRpbWVkaWEtY29udGVudCB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGFjLWl0ZW0taW1hZ2UtZGltZW50aW9ucywgd2lkdGgpO1xyXG4gICAgICAgIGhlaWdodDogbWFwLWdldCgkYWMtaXRlbS1pbWFnZS1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAvLyBtYXJnaW46ICRhYy1pdGVtLWltYWdlLW1hcmdpbjtcclxuICAgICAgICBib3JkZXI6ICRhYy1pdGVtLWJvcmRlcjtcclxuICAgIH1cclxuICAgIC8vIFRvbyBhYmlndW91cyBub3cgdGhhdCB3ZSBuZWVkIHRvIGFsc28gZGlzcGxheSByZWZlcmVuY2UgYXMgd2VsbCBhcyBkZXNjcmlwdGlvbi5cclxuICAgIC8vIHNwYW4ge1xyXG4gICAgLy8gICAgIGZsZXgtYmFzaXM6IDEzMHB4O1xyXG4gICAgLy8gICAgIGZsZXgtZ3JvdzogMTtcclxuICAgIC8vIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMCAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6ICRhYy1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIEBpZiAoJGFjLWl0ZW0tZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRhYy1pdGVtLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkYWMtaXRlbS1mb250LXdlaWdodCkge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRhYy1pdGVtLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhYy1pdGVtLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pdGVtLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICBAaWYgKCRhYy1pdGVtLWRlc2NyaXB0aW9uLWxpbmUtaGVpZ2h0KSB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkYWMtaXRlbS1kZXNjcmlwdGlvbi1saW5lLWhlaWdodDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmFjLWl0ZW0tY29udGVudCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkYWMtaXRlbS1jb250ZW50LWdhcCkpIHtcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkYWMtaXRlbS1jb250ZW50LWdhcCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pdGVtLXJlZmVyZW5jZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjLWl0ZW0tcmVmZXJlbmNlLWNvbG91cik7XHJcbiAgICB9XHJcblxyXG4gICAgLml0ZW0tc25pcHBldCB7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMCAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cigkYWMtaXRlbS1zbmlwcGV0LWNvbG91cik7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFNlYXJjaCBjb250YWluZXIgd2hlbiByZXN1bHQgaGF2ZSBiZWVuIGZvdW5kLlxyXG4uYXV0b2NvbXBsZXRlLXJlc3VsdHMtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICAuYWpheC1zZWFyY2gge1xyXG4gICAgICAgIGhlaWdodDogJGhlYWRlci1zZWFyY2gtaGVpZ2h0O1xyXG4gICAgICAgICsgYnV0dG9uIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiAkaGVhZGVyLXNlYXJjaC1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIFRoZSBjb250YWluZXIgZm9yIGVudGlyZSBhdXRvIGNvbXBsZXRlIGNvbXBvbmVudHMuXHJcbi5hdXRvY29tcGxldGUtY29udGFpbmVyIHtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAuYWMtcmVzdWx0cyB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwMHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgLy90cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjLXJlc3VsdHMge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDBweDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIC8vIERvbid0IGhpZGUgb3ZlcmZsb3cgZHVlIHRvIHVzaW5nIGJveC1zaGFkb3dzLlxyXG4gICAgICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgLy90cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICB9XHJcbiAgICAucmVzdWx0cy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjE7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tZm9vdGVyO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIGxpOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgLmFjLWl0ZW0tbGlzdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCJcclxuLy8gT3JpZ2luYWwgU291cmNlOlxyXG4vLyBodHRwczovL2NvZGVwZW4uaW8vaWFtbnV4dC9wZW4vZFJ4Qlh4XHJcbi8vIGh0dHBzOi8vY29kZXBlbi5pby9pYW1udXh0L3Blbi92Wm9KUGFcclxuXHJcbi5zYSB7XHJcbiAgICB3aWR0aDogKCRzYS1kaW1lbnRpb25zICsgMTApO1xyXG4gICAgaGVpZ2h0OiAoJHNhLWRpbWVudGlvbnMgKyAxMCk7XHJcbiAgICBtYXJnaW46ICRzYS1tYXJnaW47XHJcbiAgICAmLXdhcm5pbmcge1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRzYS13YXJuaW5nLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHNhLXdhcm5pbmctZGltZW50aW9ucywgaGVpZ2h0KTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJHNhLXdhcm5pbmctY29sb3VyO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGFuaW1hdGlvbjogc2NhbGVXYXJuaW5nIDAuNzVzIGluZmluaXRlIGFsdGVybmF0ZTtcclxuICAgICAgICAmOmFmdGVyLFxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgLy8gYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmcgMnMgbGluZWFyIGluZmluaXRlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtYm9keSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDdweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0ycHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS13YXJuaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IHB1bHNlV2FybmluZ0lucyAwLjc1cyBpbmZpbml0ZSBhbHRlcm5hdGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYtZG90IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXdhcm5pbmctY29sb3VyO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA3cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0zcHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDdweDtcclxuICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgYW5pbWF0aW9uOiBwdWxzZVdhcm5pbmdJbnMgMC43NXMgaW5maW5pdGUgYWx0ZXJuYXRlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYtZXJyb3Ige1xyXG4gICAgICAgIHdpZHRoOiBtYXAtZ2V0KCRzYS1hbGVydC1kaW1lbnRpb25zLCB3aWR0aCk7XHJcbiAgICAgICAgaGVpZ2h0OiBtYXAtZ2V0KCRzYS1hbGVydC1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAkc2EtYWxlcnQtY29sb3VyO1xyXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZUVycm9ySWNvbiAuNXM7XHJcbiAgICAgICAgJjphZnRlcixcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHggMCAwIDQwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICAgIHRvcDogLTE3cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDVweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNjBweCA2MHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTIwcHggMTIwcHggMDtcclxuICAgICAgICAgICAgbGVmdDogMzBweDtcclxuICAgICAgICAgICAgdG9wOiAtMTFweDtcclxuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCA2MHB4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgICAgICAgICBhbmltYXRpb246IHJvdGF0ZVBsYWNlaG9sZGVyIDQuMjVzIGVhc2UtaW47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXgge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1wbGFjZWhvbGRlciB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgICAgLy8gYm9yZGVyOiA0cHggc29saWQgJHNhLWFsZXJ0LWNvbG91cjtcclxuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICAgICAgICAgIGhlaWdodDogODBweDtcclxuICAgICAgICAgICAgbGVmdDogLTRweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IC00cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi1maXgge1xyXG4gICAgICAgICAgICB3aWR0aDogNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDkwcHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDI4cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiA4cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWxlZnQsXHJcbiAgICAgICAgJi1yaWdodCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS1hbGVydC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRvcDogMzdweDtcclxuICAgICAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWxlZnQge1xyXG4gICAgICAgICAgICBsZWZ0OiAxN3B4O1xyXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZVhMZWZ0IC43NXM7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLXJpZ2h0IHtcclxuICAgICAgICAgICAgcmlnaHQ6IDE2cHg7XHJcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogYW5pbWF0ZVhSaWdodCAuNzVzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRXJyb3IgQW5pbWF0aW9uIC0tLS0tXHJcblxyXG5Aa2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcclxuXHJcbiAgICAwJSxcclxuICAgIDUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUsXHJcbiAgICAxMiUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVFcnJvckljb24ge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgxMDBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpO1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYW5pbWF0ZVhMZWZ0IHtcclxuXHJcbiAgICAwJSxcclxuICAgIDY1JSB7XHJcbiAgICAgICAgbGVmdDogODJweDtcclxuICAgICAgICB0b3A6IDk1cHg7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICBsZWZ0OiAxNHB4O1xyXG4gICAgICAgIHRvcDogMzNweDtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBsZWZ0OiAxN3B4O1xyXG4gICAgICAgIHRvcDogMzdweDtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlWFJpZ2h0IHtcclxuXHJcbiAgICAwJSxcclxuICAgIDY1JSB7XHJcbiAgICAgICAgcmlnaHQ6IDgycHg7XHJcbiAgICAgICAgdG9wOiA5NXB4O1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgcmlnaHQ6IDE0cHg7XHJcbiAgICAgICAgdG9wOiAzM3B4O1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHJpZ2h0OiAxNnB4O1xyXG4gICAgICAgIHRvcDogMzdweDtcclxuICAgICAgICB3aWR0aDogNDdweDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gV2FybmluZyBBbmltYXRpb24gIC0tLS0tXHJcblxyXG5Aa2V5ZnJhbWVzIHNjYWxlV2FybmluZyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICAzMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwdWxzZVdhcm5pbmcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XHJcbiAgICAgICAgb3BhY2l0eTogMC41O1xyXG4gICAgfVxyXG5cclxuICAgIDMwJSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxuICAgICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhLXdhcm5pbmctY29sb3VyO1xyXG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMik7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBwdWxzZVdhcm5pbmdJbnMge1xyXG4gICAgMCUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzYS13YXJuaW5nLWNvbG91cjtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etd2FybmluZy1jb2xvdXJcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gU3VjY2VzcyB0aWNrXHJcbi5jaGVja19tYXJrIHtcclxuICAgIHdpZHRoOiAobWFwLWdldCgkc2Etc3VjY2Vzcy1kaW1lbnRpb25zLCB3aWR0aCkgKyAxMCk7XHJcbiAgICBoZWlnaHQ6IChtYXAtZ2V0KCRzYS1zdWNjZXNzLWRpbWVudGlvbnMsIGhlaWdodCkgKyAxMCk7XHJcbiAgICBtYXJnaW46ICRzYS1tYXJnaW47XHJcbn1cclxuXHJcbi5zYS1pY29uIHtcclxuICAgIHdpZHRoOiBtYXAtZ2V0KCRzYS1zdWNjZXNzLWRpbWVudGlvbnMsIHdpZHRoKTtcclxuICAgIGhlaWdodDogbWFwLWdldCgkc2Etc3VjY2Vzcy1kaW1lbnRpb25zLCBoZWlnaHQpO1xyXG4gICAgYm9yZGVyOiA0cHggc29saWQgJHNhLXN1Y2Nlc3MtY29sb3VyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2VzcyB7XHJcbiAgICBib3JkZXItY29sb3I6ICRzYS1zdWNjZXNzLWNvbG91cjtcclxufVxyXG5cclxuLnNhLWljb24uc2Etc3VjY2Vzczo6YmVmb3JlLFxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzOjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogNjBweDtcclxuICAgIGhlaWdodDogMTIwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmJlZm9yZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMjBweCAwIDAgMTIwcHg7XHJcbiAgICB0b3A6IC03cHg7XHJcbiAgICBsZWZ0OiAtMzNweDtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2MHB4IDYwcHg7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3M6OmFmdGVyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgMTIwcHggMTIwcHggMDtcclxuICAgIHRvcDogLTExcHg7XHJcbiAgICBsZWZ0OiAzMHB4O1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDBweCA2MHB4O1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1wbGFjZWhvbGRlciB7XHJcbiAgICB3aWR0aDogODBweDtcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIC8vIGJvcmRlcjogNHB4IHNvbGlkICRzYS1zdWNjZXNzLWNvbG91cjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC00cHg7XHJcbiAgICB0b3A6IC00cHg7XHJcbiAgICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1maXgge1xyXG4gICAgd2lkdGg6IDVweDtcclxuICAgIGhlaWdodDogOTBweDtcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMjhweDtcclxuICAgIHRvcDogOHB4O1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MuYW5pbWF0ZTo6YWZ0ZXIge1xyXG4gICAgYW5pbWF0aW9uOiByb3RhdGVQbGFjZWhvbGRlciA0LjI1cyBlYXNlLWluO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnRcXDk7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtdGlwIHtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKSBcXDk7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtbG9uZyB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIFxcOTtcclxufVxyXG5cclxuLmFuaW1hdGVTdWNjZXNzVGlwIHtcclxuICAgIGFuaW1hdGlvbjogYW5pbWF0ZVN1Y2Nlc3NUaXAgMC43NXM7XHJcbn1cclxuXHJcbi5hbmltYXRlU3VjY2Vzc0xvbmcge1xyXG4gICAgYW5pbWF0aW9uOiBhbmltYXRlU3VjY2Vzc0xvbmcgMC43NXM7XHJcbn1cclxuXHJcbkAtd2Via2l0LWtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc0xvbmcge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIHJpZ2h0OiA0NnB4O1xyXG4gICAgICAgIHRvcDogNTRweDtcclxuICAgIH1cclxuXHJcbiAgICA2NSUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIHJpZ2h0OiA0NnB4O1xyXG4gICAgICAgIHRvcDogNTRweDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIHdpZHRoOiA1NXB4O1xyXG4gICAgICAgIHJpZ2h0OiAwcHg7XHJcbiAgICAgICAgdG9wOiAzNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHdpZHRoOiA0N3B4O1xyXG4gICAgICAgIHJpZ2h0OiA4cHg7XHJcbiAgICAgICAgdG9wOiAzOHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgYW5pbWF0ZVN1Y2Nlc3NUaXAge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGxlZnQ6IDFweDtcclxuICAgICAgICB0b3A6IDE5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNTQlIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBsZWZ0OiAxcHg7XHJcbiAgICAgICAgdG9wOiAxOXB4O1xyXG4gICAgfVxyXG5cclxuICAgIDcwJSB7XHJcbiAgICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgICAgbGVmdDogLThweDtcclxuICAgICAgICB0b3A6IDM3cHg7XHJcbiAgICB9XHJcblxyXG4gICAgODQlIHtcclxuICAgICAgICB3aWR0aDogMTdweDtcclxuICAgICAgICBsZWZ0OiAyMXB4O1xyXG4gICAgICAgIHRvcDogNDhweDtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB3aWR0aDogMjVweDtcclxuICAgICAgICBsZWZ0OiAxNHB4O1xyXG4gICAgICAgIHRvcDogNDVweDtcclxuICAgIH1cclxufVxyXG5cclxuQGtleWZyYW1lcyBhbmltYXRlU3VjY2Vzc1RpcCB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgbGVmdDogMXB4O1xyXG4gICAgICAgIHRvcDogMTlweDtcclxuICAgIH1cclxuXHJcbiAgICA1NCUge1xyXG4gICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgIGxlZnQ6IDFweDtcclxuICAgICAgICB0b3A6IDE5cHg7XHJcbiAgICB9XHJcblxyXG4gICAgNzAlIHtcclxuICAgICAgICB3aWR0aDogNTBweDtcclxuICAgICAgICBsZWZ0OiAtOHB4O1xyXG4gICAgICAgIHRvcDogMzdweDtcclxuICAgIH1cclxuXHJcbiAgICA4NCUge1xyXG4gICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgIGxlZnQ6IDIxcHg7XHJcbiAgICAgICAgdG9wOiA0OHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDEwMCUge1xyXG4gICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgIGxlZnQ6IDE0cHg7XHJcbiAgICAgICAgdG9wOiA0NXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIGFuaW1hdGVTdWNjZXNzTG9uZyB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDQ2cHg7XHJcbiAgICAgICAgdG9wOiA1NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDY1JSB7XHJcbiAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgcmlnaHQ6IDQ2cHg7XHJcbiAgICAgICAgdG9wOiA1NHB4O1xyXG4gICAgfVxyXG5cclxuICAgIDg0JSB7XHJcbiAgICAgICAgd2lkdGg6IDU1cHg7XHJcbiAgICAgICAgcmlnaHQ6IDBweDtcclxuICAgICAgICB0b3A6IDM1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgd2lkdGg6IDQ3cHg7XHJcbiAgICAgICAgcmlnaHQ6IDhweDtcclxuICAgICAgICB0b3A6IDM4cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUge1xyXG4gICAgaGVpZ2h0OiA1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Etc3VjY2Vzcy1jb2xvdXI7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHotaW5kZXg6IDI7XHJcbn1cclxuXHJcbi5zYS1pY29uLnNhLXN1Y2Nlc3MgLnNhLWxpbmUuc2EtdGlwIHtcclxuICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgbGVmdDogMTRweDtcclxuICAgIHRvcDogNDZweDtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG59XHJcblxyXG4uc2EtaWNvbi5zYS1zdWNjZXNzIC5zYS1saW5lLnNhLWxvbmcge1xyXG4gICAgd2lkdGg6IDQ3cHg7XHJcbiAgICByaWdodDogOHB4O1xyXG4gICAgdG9wOiAzOHB4O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxufVxyXG5cclxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZVBsYWNlaG9sZGVyIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDUlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xyXG4gICAgfVxyXG5cclxuICAgIDEyJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgNSUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcbiAgICB9XHJcblxyXG4gICAgMTIlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIE5vdGlmaWNhdGlvbnMgKCBDYWxsb3V0cyApIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gT24gcGFnZSBub3RpY2F0aW9ucyAoIG5vIGl0ZW1zIGZvdW5kICkgXHJcbi0gSGVhZGVyIG5vdGlmaWNhdGlvbnMuXHJcbi0gQ29va2llIG5vdGlmaWNhdGlvbi5cclxuLSBDYWxsb3V0cyAoIHRoaW5ncyB0aGF0IHNsaWRlIG91dCBmcm9tIHRoZSBlZGdlZCBvZiBhIHdpbmRvdyApIFxyXG4tIE5vIEphdmFzY3JpcHQgbm90aWZpY2F0aW9uXHJcbi0gQnJvd3NlciBjb21wYXRpYmxpdHkgbm90aWZpY2F0aW9uIFxyXG5cclxuKi9cclxuXHJcbi5oZWFkZXItbm90aWZpY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC5jYWxsb3V0IHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDM1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHggMCAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlci1zdGF0dXMtbWVzc2FnZXMtY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGVyLXN0YXR1cy1tZXNzYWdlcy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRoZWFkZXItc3RhdHVzLW1lc3NhZ2VzLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICAmOm5vdCguY2xvc2UtYnV0dG9uKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hbGVydCB7XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBhbGVydCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAud2FybmluZyB7XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuc3VjY2VzcyB7XHJcbiAgICAgICAgaDUge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDAgMDtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigyMHB4LCAkY29sb3VyMSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ub3RpZmljYXRpb24tY29udGFpbmVyLmNhbGxvdXQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLy8gVGhlc2Ugbm9ybWFsbHkgc2xpZGUgb3V0IGZyb20gdGhlIHRvcCBvciBzaXplLlxyXG5cclxuLmNhbGxvdXQtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAzMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHotaW5kZXg6IDk5OTk5OTk5OTk5OTtcclxuICAgICYuc2lkZSB7XHJcbiAgICAgICAgLmNhbGxvdXQge1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgMCAwIHNtb290aC1lZGdlcygpOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5jYWxsb3V0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAxcmVtIDA7XHJcbiAgICAgICAgcGFkZGluZzogMjVweDtcclxuICAgICAgICBmb250LXdlaWdodDogJG5vdGlmaWNhdGlvbi1jYWxsb3V0LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUgKyAxKTtcclxuICAgICAgICBAaWYgKCRub3RpZmljYXRpb24tY2FsbG91dC10ZXh0LXRyYW5zZm9ybSkge1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG5vdGlmaWNhdGlvbi1jYWxsb3V0LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgIH0gICBcclxuICAgICAgICAvLyBGYWtlIGJhY2tncm91bmQgdG8gcHJldmVudCB3aGF0ZXZlciBpcyBiZWhpbmQgdGhlIG5vdGlmaWNhdGlvbiBzaG93aW5nIHRocm91Z2guXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc3VjY2VzcyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCBzdWNjZXNzKTtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHN1Y2Nlc3MpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYud2FybmluZyB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIHdhcm5pbmcpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWJhY2tncm91bmQtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgd2FybmluZyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hbGVydCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLWNvbG91ciwgYWxlcnQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGg1IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDI1cHggMCAwO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplICsgMSk7XHJcbiAgICAgICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiA0cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigyMHB4LCAkY29sb3VyMy0yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhlc2UgYXJlIHR5cGljYWxseSBlbWJlZGRlZCBpbiB0aGUgbWFpbiBjb250ZW50LlxyXG4ub24tcGFnZS1ub3RpZmljYXRpb25zLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG59XHJcbi5vbi1wYWdlLW5vdGlmaWNhdGlvbiB7XHJcbiAgICBAaW5jbHVkZSBvbi1wYWdlLW5vdGlmaWNhdGlvbnMoJG5vLWl0ZW1zLWZvdW5kLXBhZGRpbmcsICRuby1pdGVtcy1mb3VuZC1tYXJnaW4sICRuby1pdGVtcy1mb3VuZC1mb250LXNpemUsICRuby1pdGVtcy1mb3VuZC1pY29uLXNpemUpO1xyXG59XHJcblxyXG5cclxuLm5vLWl0ZW1zLWZvdW5kLWNvbnRhaW5lciB7XHJcbiAgIEBpbmNsdWRlIG9uLXBhZ2Utbm90aWZpY2F0aW9ucygkbm8taXRlbXMtZm91bmQtcGFkZGluZywgJG5vLWl0ZW1zLWZvdW5kLW1hcmdpbiwgJG5vLWl0ZW1zLWZvdW5kLWZvbnQtc2l6ZSwgJG5vLWl0ZW1zLWZvdW5kLWljb24tc2l6ZSk7XHJcbn1cclxuXHJcbi5pbnRlcm5hbC1lcnJvci1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgb24tcGFnZS1ub3RpZmljYXRpb25zKCRpbnRlcm5hbC1lcnJvci1wYWRkaW5nLCAkaW50ZXJuYWwtZXJyb3ItbWFyZ2luLCAkaW50ZXJuYWwtZXJyb3ItZm9udC1zaXplLCAkaW50ZXJuYWwtZXJyb3ItaWNyb24tc2l6ZSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLCBhbGVydCk7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgIHAge1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRvbi1wYWdlLW5vdGlmaWNhdGlvbi1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkb24tcGFnZS1ub3RpZmljYXRpb24tY29sb3VyLCBhbGVydCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuI25vSnNCYXNrZXROb3RpZmljYXRpb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMTBweCAzMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEgeyBcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgfVxyXG59XHJcbi5ub3RpZmljYXRpb24tY29udGFpbmVyLmNvbXBhdGliaWxpdHkge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvLyBPdmVycmlkZSBhY3RpdmUgY2xhc3MgYXMgeW91IGFsd2F5cyB3YW50IHRoaXMgdG8gYmUgYWN0aXZlLlxyXG4gICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMSwgMiksIDAuOSk7XHJcbiAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMTtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XHJcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NlbnQtY29sb3VyLTEsIDIpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJGlucHV0LXRyYW5zaXRpb247XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vIC0tLS0tIE5vdGlmaWNhdGlvbnMgLS0tLS0gXHJcbi5ub3RpZmljYXRpb25zLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgei1pbmRleDogMjAwMDtcclxufVxyXG5cclxuLm5vdGlmaWNhdGlvbi1jb250YWluZXIge1xyXG4gICAgbWF4LWhlaWdodDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHotaW5kZXg6ICRub3RpZmljYXRpb25zLXotaW5kZXg7XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgcGFkZGluZzogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1wYWRkaW5nLCBzbWFsbCk7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogNDUwbXM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAzcztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbi1pY29uIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBtYXJnaW46IGF1dG8gc21hbGwtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpIGF1dG8gMDtcclxuICAgICAgICBwYWRkaW5nOiAkbm90aWZpY2F0aW9ucy1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5vdGlmaWNhdGlvbnMtaWNvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG5vdGlmaWNhdGlvbnMtaWNvbi1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0byBsYXJnZS12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcikgYXV0byAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogJG5vdGlmaWNhdGlvbnMtaWNvbi13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBmbGV4LWJhc2lzOiAxODBweDtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgY29sb3I6ICRjb29raWUtbm90aWZpY2F0aW9uLWNvbG91cjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgbWFyZ2luLXRvcDogKHNtYWxsLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKSArIDUpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgW2NsYXNzJD1cIi1idXR0b25cIl0ge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogc21hbGwtdmFsdWUoJG5vdGlmaWNhdGlvbnMtYnV0dG9ucy1ndXR0ZXIpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGxhcmdlLXZhbHVlKCRub3RpZmljYXRpb25zLWJ1dHRvbnMtZ3V0dGVyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZWFkLW1vcmUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXRvcCAycywgbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nLXRvcCAkdHJhbnNpdGlvbkludHJvLCBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIC5yZWFkLW1vcmUtY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvb2tpZS1ub3RpZmljYXRpb24tY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlYWQtbW9yZS1jb250ZW50IHtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJG5vdGlmaWNhdGlvbnMtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtaGVhZGluZ3MoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaCgpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtbGlzdHMoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJlYWQtbW9yZS10cmlnZ2VyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBzbWFsbC12YWx1ZSgkbm90aWZpY2F0aW9ucy1idXR0b25zLWd1dHRlcik7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXdlaWdodDogJG5vdGlmaWNhdGlvbnMtcmVhZC1tb3JlLXRyaWdnZXItZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbm90aWZpY2F0aW9ucy1yZWFkLW1vcmUtdHJpZ2dlci1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlLCAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRub3RpZmljYXRpb25zLXJlYWQtbW9yZS10cmlnZ2VyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wd2Ege1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRub3RpZmljYXRpb25zLWFwcC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgICYuY29va2llIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29va2llLW5vdGlmaWNhdGlvbi1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxufSIsIi8qXHJcblxyXG4tLS0tIEltYWdlIE92ZXJsYXlzIC0tLS0gXHJcblxyXG5JbWFnZSBvdmVybGF5cyBmb3IgZXNzZW50aWFsbHkgaGlnaGxpZ2h0ZWQgaXRlbXM6XHJcbi0gU3BlY2lhbCBPZmZlcnNcclxuLSBGZWF0dXJlZCBJdGVtc1xyXG4tIEJlc3QgU2VsbGVyc1xyXG4tIFByZXZpb3VzbHkgUHVyY2hhc2VkXHJcblxyXG5UaGVzZSBub3JtYWxseSBhcmUgdGhlIHNpemUgb2YgdGhlIHByb2R1Y3QgaW1hZ2Ugd2hldGhlciBpdHMgb24gYSBsaXN0aW5nIG9yIHByb2R1Y3QgcGFnZSB3aXRoIGEgdHJhbnNwYXJlbnQgYmFja2dyb3VuZC5cclxuXHJcbldlIGFsbG93IGZvciBkaWZmZXJlbnQgaW1hZ2VzIHRvIGJlIGRpc3BsYXllZCBpZiBhIGdyb3VwIGlzIG1hcmtlZCBhcyBhIGhpZ2hsaWdodGVkIGl0ZW0gb3Igd2hldGhlciBpdHMgYW4gaW5kaXZpZHVhbCBwcm9kdWN0LlxyXG5cclxuKi9cclxuXHJcbi8vIFN1cHByZXNzIG92ZXJsYXlzIGlmIHlvdSdyZSBvbiB0aGUgZGVkaWNhdGVkIHBhZ2UuXHJcbiNzcGVjaWFsLW9mZmVycyB7XHJcbiAgICAub3ZlcmxheS5zdG9jay5zcGVjaWFsT2ZmZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuI2ZlYXR1cmVkLWl0ZW1zIHtcclxuICAgIC5vdmVybGF5LnN0b2NrLmZlYXR1cmVke1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuI2Jlc3Qtc2VsbGVycyB7XHJcbiAgICAub3ZlcmxheS5zdG9jay5iZXN0U2VsbGVye1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyBTcGVjaWZpY2FsbHkgbm90IGZvciBjb21wYWN0IGNhcm91c2VscyBvdmVybGF5IHBvc2l0aW9uaW5nLlxyXG4uY29udGVudC1jb250YWluZXI6bm90KC5jb21wYWN0KSB7XHJcbiAgICAub3ZlcmxheSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGltYWdlLW92ZXJsYXktcG9zaXRpb247XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENlbnRlcmFsaXNlIHRoZSBwcm9kdWN0IG92ZXJsYXkgb3ZlciB0aGUgbWFpbiBwcm9kdWN0IGltYWdlLlxyXG4jbWFpbkltYWdlQ29udGFpbmVyIHtcclxuICAgIC5vdmVybGF5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkaW1hZ2Utb3ZlcmxheS1wb3NpdGlvbjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5pbWFnZSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgcGxhY2UtY29udGVudDogY2VudGVyO1xyXG4gICAgYXNwZWN0LXJhdGlvOiB2YXIoLS1tZWRpYS1hc3BlY3QtcmF0aW8sIGF1dG8pO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICY6aGFzKGltZ1tzcmMkPVwiLnBuZ1wiXSkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbWFnZS1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5vdmVybGF5IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gQWx3YXlzIHNjYWxlIGRvd24gdGhlIGltYWdlIHRvIGZpdCB3aXRoaW4gdGhlIGNvbnRhaW5lci5cclxuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgIC8vIFNWRydzIG1heSBub3QgaGF2ZSBhIHdpZHRoICBhdHRyaWJ1dGUgc2V0LCBzbyB3ZSBuZWVkIHRvIGFzc3VtZSB0byBzY2FsZSB0byB0aGUgbWF4IGF2YWlsYWJsZSB3aWR0aC5cclxuICAgICAgICAmW3NyYyQ9XCIuc3ZnXCJdLCAmW3NyYyQ9XCIuU1ZHXCJdIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgLy8gRXhwYW5kIHRvIDEwMCUgb2YgdGhlIGF2YWlsYWJsZSB3aWR0aC5cclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBNYWtlIHN1cmUgY29udGVudCBpcyBhbGlnbmVkIGNlbnRlciwgeW91IGNhbm5vdCByZWx5IG9uIHRoZSBpbWFnZSBiZWluZyBwcm92aWRlZCBhdCB0aGUgY29ycmVjdCBzaXplLlxyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5vdmVybGF5IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIC8vIFNldHRpbmcgc2l6ZSB0byBjb250YWluIG90aGVyd2lzZSBpbWFnZSB3aWxsIG92ZXJmbG93IHRoZSBwcm9kdWN0IGltYWdlIGluIGNhcm91c2Vscy5cclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJi5ncm91cC5zcGVjaWFsT2ZmZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgICdncm91cC9zYXNoLXNwZWNpYWwtZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgc3BlY2lhbC1vZmZlcik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZ3JvdXAuZmVhdHVyZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgICdncm91cC9zYXNoLWZlYXR1cmVkLWViZy5wbmcnKTtcclxuICAgICAgICAgICAgLy8gei1pbmRleDogbWFwLWdldCgkZ3JvdXAtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGZlYXR1cmVkLWl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmdyb3VwLmJlc3RTZWxsZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgICdncm91cC9zYXNoLWJlc3RzZWxsZXItZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRncm91cC1pbWFnZS1vdmVybGF5cy1vcmRlciwgYmVzdC1zZWxsZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0b2NrLnNwZWNpYWxPZmZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAncHJvZHVjdC9zYXNoLXNwZWNpYWwtZWJnLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyLCBzcGVjaWFsLW9mZmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdG9jay5mZWF0dXJlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAgJ3Byb2R1Y3Qvc2FzaC1mZWF0dXJlZC1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGZlYXR1cmVkLWl0ZW0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnN0b2NrLmJlc3RTZWxsZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgICdwcm9kdWN0L3Nhc2gtYmVzdHNlbGxlci1lYmcucG5nJyk7XHJcbiAgICAgICAgICAgIC8vIHotaW5kZXg6IG1hcC1nZXQoJHByb2R1Y3QtaW1hZ2Utb3ZlcmxheXMtb3JkZXIsIGJlc3Qtc2VsbGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zdG9jay5wcmV2aW91c2x5LXB1cmNoYXNlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkaW1hZ2Utb3ZlcmxheS11cmwgKyAncHJvZHVjdC9zYXNoLXByZXZpb3VzbHktcHVyY2hhc2VkLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyLCBwcmV2aW91c2x5LXB1cmNoYXNlZCk7XHJcbiAgICAgICAgfSBcclxuICAgICAgICAmLnN0b2NrLmNvbnRyYWN0LWl0ZW0ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltYWdlLW92ZXJsYXktdXJsICsgJ3Byb2R1Y3Qvc2FzaC1jb250cmFjdC1pdGVtLnBuZycpO1xyXG4gICAgICAgICAgICAvLyB6LWluZGV4OiBtYXAtZ2V0KCRwcm9kdWN0LWltYWdlLW92ZXJsYXlzLW9yZGVyLCBjb250cmFjdC1pdGVtKTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG59IiwiXHJcblxyXG5cclxuW2RhdGEtY291bnRkb3duLXRpbWVdIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG5cclxuLmNvdW50ZG93bi1jb250YWluZXIge1xyXG4gICAgcCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcHJvZHVjdC1lbnF1aXJ5LWRlbGl2ZXJ5LWNvdW50ZG93bik7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgcGFkZGluZzogMCA3cHggMCAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIG1heC1oZWlnaHQ6IDEwMDBweDtcclxuICAgIC5jb3VudGRvd24tZGlzcGxheSwgLmRpc3BsYXktbGFiZWwge1xyXG4gICAgICAgIG1hcmdpbjogMCA1cHggMDtcclxuICAgICAgICBmb250LXdlaWdodDogJGNvdW50ZG93bi1kaXNwbGF5LWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb3VudGRvd24tZGlzcGxheS1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJiArIC5kaXNwbGF5LWxhYmVsIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJltjb3VudGRvd24tc3RhdHVzPWFsZXJ0XSB7XHJcbiAgICAgICAgLmNvdW50ZG93bi1kaXNwbGF5LCAuZGlzcGxheS1sYWJlbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRjb3VudGRvd24tZGlzcGxheS1jb2xvdXIsIGFsZXJ0KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmW2NvdW50ZG93bi1zdGF0dXM9d2FybmluZ10ge1xyXG4gICAgICAgIC5jb3VudGRvd24tZGlzcGxheSwgLmRpc3BsYXktbGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkY291bnRkb3duLWRpc3BsYXktY29sb3VyLCB3YXJuaW5nKTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIFRyYW5zaXRpb25zIC0tLVxyXG4gICAgJi5jb3VudGRvd24taW5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG4gICAgJi5jb3VudGRvd24tYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCA1cztcclxuICAgIH1cclxuICAgIFxyXG59IiwiXHJcbi8qXHJcblxyXG4tLS0tLSBQV0EgKCBQcm9ncmVzc2l2ZSBXZWIgQXBwbGljYXRpb24gKSAtLS0tLSBcclxuLSBJbnN0YWxsYXRpb24gcHJvbXB0LlxyXG5cclxuKi9cclxuIiwiLypcclxuLS0tLS0gUGF5bWVudCBNZXRob2RzIC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gSG93IHBheW1lbnQgbWV0aG9kcyBzdWNoIG9mIG9wYXlvIGlmcmFtZSBsb29rcyBpbiB0aGUgY2hlY2tvdXQuXHJcbiovXHJcblxyXG4vLyBBdCB0aGUgdGltZSBvZiB3cml0aW5nIHRoZSBzcGFjaW5nIHdhcyBmYWlybHkgY29uc2lzdGVudCBkdWUgdG8gYSBcIiBzaW1wbGlzaCBcIiBVSSB0aGlzIG1pZ2h0IGNoYW5nZSBpbiB0aGUgZnV0dXJlLlxyXG4kcGF5bWVudC1jb250YWluZXItZWxlbWVudC1zcGFjaW5nOiAyMHB4O1xyXG5cclxuLnBheW1lbnQtY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAvLyBUaGUgOm5vdCBjaGVjayB3YXMgcHV0IGluIHBsYWNlIGFzIHRoZXNlIHN0eWxlcyBjb25mbGljdCB3aXRoIG9sZCBDU1MgcnVsZXMsIG9uY2Ugd2UgbW92ZSBhd2F5IGZyb20gb2xkIG9wYXlvIHNlcnZlciBmcmFtZXMgdGhpcyBjaGVjayBjYW4gZ28gYXMgd2VsbCBhcyB0aGUgLnBheW1lbnQtbWV0aG9kIGNsYXNzLiBcclxuICAgICY6bm90KDpoYXMoPiAucGF5bWVudC1tZXRob2QpKSB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIHdpZHRoOiBzbWFsbC12YWx1ZSgkcGF5bWVudC1jb250YWluZXItd2lkdGgpO1xyXG4gICAgICAgIC8vIHdpZHRoOiA2MDBweDtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAjeyRwYXltZW50LWNvbnRhaW5lci1lbGVtZW50LXNwYWNpbmd9O1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAkcGF5bWVudC1jb250YWluZXItYm9yZGVyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybywgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIC8vIHdpZHRoOiBsYXJnZS12YWx1ZSgkcGF5bWVudC1jb250YWluZXItd2lkdGgpO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZnJhbWUge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICY6aGFzKC5jb250YWluZXItcmVzaXplZCkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy8gT2xkIE9wYXlvIFNlcnZlciBQYXltZW50IG1ldGhvZC5cclxuICAgIC5wYXltZW50LW1ldGhvZCB7XHJcbiAgICAgICAgLy8gQWRkaW5nIG92ZXJmbG93LXkgcHJvcGVydHkgdG8gdGhlIHBheW1lbnQgbWV0aG9kIGNvbnRhaW5lciBhcyBiZWx0IGFuZCBicmFjZXMgaWYgdGhlIHNjYWxpbmcgZm9yIHRoZSBoZWlnaHQgb24gdGhlIGlmcmFtZSBmYWlscyB0byBzY2FsZSB1cCBkdWUgdG8gcGFyZW50IGNvbnRhaW5lciBoZWlnaHQgcmVzdHJpY3Rpb25zLlxyXG4gICAgICAgICRib3JkZXItd2lkdGg6IDJweDtcclxuICAgICAgICBtYXgtd2lkdGg6ICRwYXltZW50LWNvbnRhaW5lci1tYXgtd2lkdGg7XHJcbiAgICAgICAgbWluLWhlaWdodDogKDUwMHB4ICsgKCRib3JkZXItd2lkdGggKiAyKSk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIGJvcmRlcjogI3skYm9yZGVyLXdpZHRofSBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmcmFtZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHBheW1lbnQtbWV0aG9kLWlmcmFtZS1oZWlnaHQsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAvLyBTZXR0aW5nIGRpc3BsYXkgdG8gcmVtb3ZlIHdoaXRlc3BhY2UgYXQgdGhlIGJvdHRvbSBvZiB0aGUgZnJhbWUuXHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAmI29wYXlvLWlmcmFtZSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IG1hcC1nZXQoJHBheW1lbnQtbWV0aG9kLWlmcmFtZS1oZWlnaHQsIG9wYXlvKTtcclxuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwMHB4OyAvLyBTZXR0aW5nIG1pbi1oZWlnaHQgZHVlIHRvIGZvbnQtc2NhbGluZy5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIENsYXNzZXMgZm9yIE9wYXlvIFBJXHJcbiAgICAucGktY2FyZC1wYXltZW50IHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgJi5zbWFsbCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNTBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tZWRpdW0ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzkwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubGFyZ2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogNTAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNjAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZXh0cmEtbGFyZ2Uge1xyXG4gICAgICAgICAgICB3aWR0aDogNjAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEV4bWFwbGUgdGhlIGlmcmFtZSB0byBhdmFpbGFibGUgc3BhY2UsIHRoaXMgbWF5IGdldCBvdmVyd3JpdHRlbiBieSBPcGF5bydzIEphdmFzY3JpcHQuXHJcbiAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyAtLS0tLSBQYXltZW50IE1ldGhvZCBTZWxlY3RvciAtLS0tLVxyXG5mb3JtICsgLnBheW1lbnQtbWV0aG9kLXNlbGVjdG9yIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuXHJcbi5wYXltZW50LW1ldGhvZC1zZWxlY3RvciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgLnBheW1lbnQtbWV0aG9kLWNvbnRhaW5lciB7XHJcbiAgICAgICAgLy8gSWYgb25seSBvbmUgb3B0aW9uIHRoZW4gaGlkZSB0aXRsZS5cclxuICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYXJkLXBheW1lbnQgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhcmQtcGF5bWVudCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnBheXBhbCAudGl0bGUtaWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIHBheXBhbCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmdvb2dsZS1wYXkge1xyXG4gICAgICAgICAgICAvLyBXZSBoYXZlIHRvIGFiaWRlIGJ5IEdvb2dsZSBCcmFuZCBndWlkZSBsaW5lcy4uLlxyXG4gICAgICAgICAgICAvLyBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9wYXkvYXBpL2FuZHJvaWQvZ3VpZGVzL2JyYW5kLWd1aWRlbGluZXMjZ29vZ2xlLXBheS1sb2dvLW1hcmtcclxuICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAgMCAje3NwYWNpbmctdmFsdWUoJHBheW1lbnQtbWV0aG9kLXRpdGxlLXBhZGRpbmcsIDIsIHNtYWxsKX0gMCAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMTVweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNzJweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBnb29nbGUtcGF5KSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hcHBsZS1wYXkgLnRpdGxlLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFwcGx5LXBheSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkcGF5bWVudC1tZXRob2QtdGl0bGUtcGFkZGluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FyZC1wYXltZW50IHtcclxuICAgICAgICAgICAgJi5vcGF5byB7XHJcbiAgICAgICAgICAgICAgICAtLWNvbnRhaW5lci1mb250LWZhbWlseTogc2Fucy1zZXJpZjtcclxuICAgICAgICAgICAgICAgIC0tY29udGFpbmVyLWZvbnQtc2l6ZTogI3tyZW0tY2FsYygxNil9O1xyXG4gICAgICAgICAgICAgICAgLS1jb250YWluZXItbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAjeyRwYXltZW50LWNvbnRhaW5lci1lbGVtZW50LXNwYWNpbmd9O1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIEF0dGVtcHRpbmcgdG8gbWF0Y2ggT3BheW8ncyBzdHlsZXMgZm9yIHNhdmUgY2FyZCBwcm9tcHQuXHJcbiAgICAgICAgICAgIC5jb250cm9sLmNoZWNrYm94IHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xyXG4gICAgICAgICAgICAgICAgJi5jaGVja2JveCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmNoZWNrYm94IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tY29udGFpbmVyLWZvbnQtZmFtaWx5KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHZhcigtLWNvbnRhaW5lci1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1jb250YWluZXItbGluZS1oZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5kZXRhaWxzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwICRwYXltZW50LWNvbnRhaW5lci1lbGVtZW50LXNwYWNpbmc7XHJcbiAgICAgICAgICAgIC8vIGJvcmRlcjogJHBheW1lbnQtY29udGFpbmVyLWJvcmRlcjtcclxuICAgICAgICAgICAgJiArIC5wYXltZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAkcGF5bWVudC1jb250YWluZXItZWxlbWVudC1zcGFjaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7bGFyZ2UtdmFsdWUoJGZpZWxkLWxhYmVsLXdpZHRoKX0gKyAjeyRjaGVja2JveC1kaW1lbnRpb25zfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWZyYW1lIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wYXlwYWwtYnV0dG9uIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDM0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY2FyZC1mcmFtZS1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn0iLCJcclxuLyoqXHJcblxyXG4tLS0tIFNvY2lhbCBNZWRpYSBJY29ucyAtLS0tIFxyXG5cclxuV2hlcmUgdGhlc2UgZ2V0IHVzZWQ6XHJcbi0gT24gdGhlIHByb2R1Y3QgcGFnZSB0byBzaGFyZSBhIHNrdSBvbiBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZzpcclxuICAgIC0gRmFjZWJvb2tcclxuICAgIC0gVHdpdHRlclxyXG4gICAgLSBMaW5rZWRJbiBcclxuICAgIC0gRW1haWxcclxuLSBJbiB0aGUgZm9vdGVyIHRvIHRha2UgdGhlIHVzZXIgdG8gdGhlIG9yZ2FuaXNhdGlvbidzIHNvY2lhbCBtZWRpYSBwYWdlc1xyXG4tIFRoZXJlIGFyZSB0d28gY29sb3VyIG1vZGVzOlxyXG4gICAgLSBzaXRlLXNwZWNpZmljOiBtYXRjaGVzIHRoZSBjdXN0b21lcidzIHNpdGUgYnJhbmRpbmcuXHJcbiAgICAtIHNvY2lhbC1icmFuZGluZzogZm9sbG93cyB0aGUgYnJhbmQgZ3VpZGVsaW5lcyBvZiBlYWNoIHNvY2lhbCBwbGF0Zm9ybS5cclxuXHJcbioqL1xyXG5cclxuXHJcbi5zb2NpYWwtaWNvbnMtaGVhZGluZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6ICRjb2xvdXI0O1xyXG59XHJcblxyXG4uc29jaWFsLWljb25zIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgJi5wcm9kdWN0LCAmLm1vZHVsZSB7XHJcbiAgICAgICAgLy8gYmVjYXVzZSBwcm9kdWN0IHBhZ2UgbW9kdWxlcyBkb250IGhhdmUgYSBpY29ucy1jb250YWluZXIuXHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICBtYXJnaW46ICRwcm9kdWN0LXNvY2lhbC1pY29ucy1tYXJnaW47XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbG9hdDogJHByb2R1Y3Qtc29jaWFsLWljb25zLWZsb2F0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucmV2aWV3IHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGdhcDogOHB4O1xyXG4gICAgfVxyXG4gICAgJi5mb290ZXIge1xyXG4gICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IHNtYWxsLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWFyZ2luKTtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1wYWRkaW5nKTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6ICRmb290ZXItc29jaWFsLWljb25zLWp1c3RpZnk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1heC13aWR0aCkpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGZvb3Rlci1zb2NpYWwtaWNvbnMtbWF4LXdpZHRoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLW1hcmdpbik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRmb290ZXItc29jaWFsLWljb25zLXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc29jaWFsLWljb25zLWhlYWRpbmcge1xyXG4gICAgICAgICAgICAvLyBDb250cmFzdCBjaGVja2VyLlxyXG4gICAgICAgICAgICAkaGVhZGluZy1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIoJGZvb3Rlci1zb2NpYWwtaWNvbnMtaGVhZGluZy1jb2xvdXIsICRmb290ZXItb3V0ZXItY29udGFpbmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgaDMge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb290ZXItc29jaWFsLWljb25zLWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb290ZXItcGFyZW50LXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkZm9vdGVyLXNvY2lhbC1pY29ucy1oZWFkZXItbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeSA9PSBcImZsZXgtZW5kXCIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcsIG1ha2Ugc3VyZSBpY29uIGNvbG91cnMgZG8gbm90IGNvbmZsaWN0IHdpdGggZm9vdGVyIGJhY2tncm91bmQuXHJcbiAgICAgICAgQGlmICRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQgYW5kICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSBcInNpdGUtc3BlY2lmaWNcIiB7XHJcbiAgICAgICAgICAgIC8vIERlZmF1bHRcclxuICAgICAgICAgICAgJGZvb3Rlci1zb2NpYWwtaWNvbi1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtY29sb3VyLCBkZWZhdWx0KSwgJGZvb3Rlci1vdXRlci1jb250YWluZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAvLyBIb3ZlclxyXG4gICAgICAgICAgICAkZm9vdGVyLXNvY2lhbC1pY29uLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGZvb3Rlci1zb2NpYWwtaWNvbnMtY29sb3VyLCBob3ZlciksICRmb290ZXItc29jaWFsLWljb24tZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIC8vIEFjdGl2ZS5cclxuICAgICAgICAgICAgJGZvb3Rlci1zb2NpYWwtaWNvbi1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkZm9vdGVyLXNvY2lhbC1pY29ucy1jb2xvdXIsIGFjdGl2ZSksICRmb290ZXItc29jaWFsLWljb24taG92ZXIpO1xyXG5cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBiYWNrZ3JvdW5kIHN0eWxlcyBkdWUgdG8gc3VwcHJlc3NpbmcgdGhlIGJhY2tncm91bmQgZmxhZyBiZWluZyBzZXQuXHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1zb2NpYWwtaWNvbi1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1zb2NpYWwtaWNvbi1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGZvb3Rlci1zb2NpYWwtaWNvbi1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgQGlmICRmb290ZXItc29jaWFsLWljb25zLXN1cHByZXNzLWJhY2tncm91bmQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6ICgkc29jaWFsLWljb25zLWRpbWVudGlvbnMgKyAyMCk7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICgkc29jaWFsLWljb25zLWRpbWVudGlvbnMgKyAyMCk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogKCRzb2NpYWwtaWNvbnMtc2l6ZSArIDIwKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogKCRzb2NpYWwtaWNvbnMtZGltZW50aW9ucyArIDEwKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogKCRzb2NpYWwtaWNvbnMtZGltZW50aW9ucyArIDEwKTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICgkc29jaWFsLWljb25zLXNpemUgKyA1KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuaWNvbnMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogJGZvb3Rlci1zb2NpYWwtaWNvbnMtanVzdGlmeTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhIHtcclxuXHJcbiAgICAgICAgLy8gQ29sb3VyIHByb2Nlc3NpbmcuXHJcbiAgICAgICAgLy8gRGVmYXVsdFxyXG4gICAgICAgICRkZWZhdWx0LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtY29sb3VyLCBkZWZhdWx0KSwgbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KSk7XHJcbiAgICAgICAgLy8gSG92ZXJcclxuICAgICAgICAkaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGhvdmVyKSwgbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBob3ZlcikpO1xyXG4gICAgICAgIC8vIEFjdGl2ZVxyXG4gICAgICAgICRhY3RpdmUtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJHNvY2lhbC1pY29ucy1jb2xvdXIsIGFjdGl2ZSksIG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKSk7XHJcblxyXG4gICAgICAgIHdpZHRoOiAkc29jaWFsLWljb25zLWRpbWVudGlvbnM7XHJcbiAgICAgICAgaGVpZ2h0OiAkc29jaWFsLWljb25zLWRpbWVudGlvbnM7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29jaWFsLWljb25zLWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRzb2NpYWwtaWNvbnMtYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRzb2NpYWwtaWNvbnMtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8gaWYoJHNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5LCAje1wiLFwifSBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm8sIFwiXCIpO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkc29jaWFsLWljb25zLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVCcmFuZHM7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICBAaWYgKCRzb2NpYWwtaWNvbnMtaG92ZXItb3BhY2l0eSkge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogJHNvY2lhbC1pY29ucy1ob3Zlci1vcGFjaXR5O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgY29sb3IgJHRyYW5zaXRpb25JbnRybyBpZigkc29jaWFsLWljb25zLWhvdmVyLW9wYWNpdHksICN7XCIsXCJ9IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybywgXCJcIik7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvY2lhbC1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRzb2NpYWwtaWNvbnMtYm9yZGVyLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmZhY2Vib29rIHtcclxuICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMxODc3ZjI7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTg3N2YyO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCMxODc3ZjIsIDAuNik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogc29jaWFsLWljb24oJ2ZhY2Vib29rJyk7XHJcbiAgICAgICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzE4NzdmMjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnR3aXR0ZXIge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogIzFEQTFGMjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxREExRjI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoIzFEQTFGMiwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbigndHdpdHRlcicpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMxREExRjI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5saW5rZWRJbiB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMEE2NkMyO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBBNjZDMjtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjMEE2NkMyLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdsaW5rZWRJbicpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwQTY2QzI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbnN0YWdyYW0ge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjZDYyNDlmO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDYyNDlmO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgMzAlIDEwNyUsICNmZGY0OTcgMCUsICNmZGY0OTcgNSUsICNmZDU5NDkgNDUlLCNkNjI0OWYgNjAlLCMyODVBRUIgOTAlKTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkNjI0OWY7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzMCUgMTA3JSwgI2ZkZjQ5NyAwJSwgI2ZkZjQ5NyA1JSwgI2ZkNTk0OSA0NSUsI2Q2MjQ5ZiA2MCUsIzI4NUFFQiA5MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdpbnN0YWdyYW0nKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkNjI0OWY7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBhdCAzMCUgMTA3JSwgI2ZkZjQ5NyAwJSwgI2ZkZjQ5NyA1JSwgI2ZkNTk0OSA0NSUsI2Q2MjQ5ZiA2MCUsIzI4NUFFQiA5MCUpO1xyXG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xyXG4gICAgICAgICAgICAgICAgICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnlvdXR1YmUge1xyXG4gICAgICAgICAgICBAaWYgJHNvY2lhbC1pY29uLWNvbG91ci1tb2RlID09ICdzb2NpYWwtYnJhbmRpbmcnIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoI0ZGMDAwMCwgMC42KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbigneW91dHViZScpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5nb29nbGUtcGx1cywgJi5nb29nbGVfcGx1cyB7XHJcbiAgICAgICAgICAgIEBpZiAkc29jaWFsLWljb24tY29sb3VyLW1vZGUgPT0gJ3NvY2lhbC1icmFuZGluZycge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRkYwMDAwO1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGMDAwMDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjRkYwMDAwLCAwLjYpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdnb29nbGUtcGx1cycpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRzb2NpYWwtaWNvbi1jb2xvdXItbW9kZSA9PSAnc29jaWFsLWJyYW5kaW5nJyB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNGRjAwMDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5lbWFpbCB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHNvY2lhbC1pY29uKCdlbWFpbCcpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDhweDtcclxuICAgIH1cclxufVxyXG5cclxuLnJldmVhbC1zb2NpYWwtaWNvbnMtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC5zb2NpYWwtaWNvbnMge1xyXG4gICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICYucmV2ZWFsLW5leHQtdG8tdG9nZ2xlIHtcclxuICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgJiArIC5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJldmVhbC1vdmVyLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICAgICAgICAgICAgICAmICsgLnNvY2lhbC1pY29ucy1zaGFyZS10b2dnbGUge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZXZlYWwtY2xvc2UtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogODAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnJldmVhbC1jbG9zZS1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oMjBweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi5zb2NpYWwtaWNvbnMtc2hhcmUtdG9nZ2xlIHtcclxuICAgIC5zaGFyZS1idXR0b24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBzb2NpYWwtaWNvbignc2hhcmUnKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyLCAmOmhvdmVyOmFmdGVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSwgJjphY3RpdmU6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gRXF1aXBtZW50IHNlbGVjdG9yICggUHJpbnRlciB3aXphcmQgKSAtLS0tLS0gXHJcbi0gVGhlIGVxdWlwbWVudCBzZWxlY3RvciBkcm9wIGRvd24gc2VsZWN0aW9uLlxyXG4tIEVxdWlwbWVudCBzZWxlY3RvciBsaXN0IHdoaWNoIGlzIGVzc2VudGlhbGx5IGEgbGlzdCBvZiBhbmNob3JzLlxyXG4qL1xyXG5cclxuLmVxdWlwbWVudC1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBAaWYgJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWVuYWJsZS1ncmFkaWVudCB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3VyNCwgMSk7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEobWFwLWdldCgkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQsIGNvbG91ci0xKSwgMSkgNSUsIHJnYmEobWFwLWdldCgkZXF1aXBtZW50LXNlbGVjdG9yLWJhY2tncm91bmQtZ3JhZGlhbnQsIGNvbG91ci0yKSwgMSkgNjUlKTtcclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGVxdWlwbWVudC1zZWxlY3Rvci1iYWNrZ3JvdW5kLWdyYWRpYW50LCBjb2xvdXItMSk7XHJcbiAgICB9XHJcbiAgICBAaWYgJGVxdWlwbWVudC1zZWxlY3Rvci1ib3gtc2hhZG93IHtcclxuICAgICAgICBib3gtc2hhZG93OiAkZXF1aXBtZW50LXNlbGVjdG9yLWJveC1zaGFkb3c7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgMDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLXNpemUpO1xyXG4gICAgZm9udC1zdHlsZTogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXdlaWdodDogJGVxdWlwbWVudC1zZWxlY3Rvci1oZWFkaW5nLWZvbnQtd2VpZ2h0O1xyXG4gICAgY29sb3I6ICRlcXVpcG1lbnQtc2VsZWN0b3ItaGVhZGluZy1jb2xvdXI7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmVxdWlwbWVudC1zZWxlY3RvcnMge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZmxleDogMTtcclxuICAgIHBhZGRpbmc6IDEwcHggMTBweCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxuICAgIGZvcm0ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgbGFiZWwuY29udHJvbCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyAgXHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgICBtYXJnaW46IDVweCBhdXRvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gRXF1aXBtZW50IHNlbGVjdG9yIGxpc3QgKCB0aGlzIHNpdHMgdW5kZXIgdGhlIGRyb3Bkb3duIHNlbGVjdG9ycyApIC0tLS0tIFxyXG4uZXF1aXBtZW50LXNlbGVjdG9yLWxpc3Qge1xyXG4gICAgbWFyZ2luLXRvcCA6IDIwcHg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICAvLyBEZWR1Y3QgdGhlIGxpc3QgaXRlbSBwYWRkaW5nIGZyb20gdGhlIG1hcmdpbiBvdGhlcndpc2UgdGhlcmUgd2lsbCBiZSBhIGxhcmdlIGFtb3VudCBvZiB3aGl0ZXNwYWNlIGJlZW4gdGhlIGhlYWRpbmcgYW5kIGxpc3QgaXRlbXMuXHJcbiAgICAgICAgbWFyZ2luOiAwIDAgKHNwYWNpbmctdmFsdWUobWFwLWdldCgkaGVhZGluZy0yLW1hcmdpbiwgcHJlc2V0LTEpLCAzKSAtICRlcXVpcG1lbnQtc2VsZWN0b3ItbGlzdC1pdGVtLXBhZGRpbmcpO1xyXG4gICAgfVxyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogJGVxdWlwbWVudC1zZWxlY3Rvci1saXN0LWl0ZW0tcGFkZGluZyAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBQaWNrICYgTWl4IC0tLS0tLSBcclxuLSBBIHNlbGVjdGlvbiBvZiBtdWx0aXBsZSBpdGVtcyB0byBjcmVhdGUgYSBwYWNrLlxyXG4qL1xyXG5cclxuLnBpY2stbi1taXgtY29udGFpbmVyIHtcclxuICAgIC8vIFN1cHByZXNzaW5nIGFzIHRoaXMgaXMgY2F1c2luZyB1bmV2ZW4gc3BhY2luZyBmb3IgbW9kdWxlcy5cclxuICAgIC8vIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICBtYXJnaW46IDE1cHggMDtcclxuICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwaWNrLW4tbWl4LXBhZGRpbmcpO1xyXG4gICAgQGlmICRwaWNrLW4tbWl4LWJhY2tncm91bmQtZW5hYmxlLWdyYWRpZW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjb2xvdXI0LCAxKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYShtYXAtZ2V0KCRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudCwgY29sb3VyLTEpLCAxKSA1JSwgcmdiYShtYXAtZ2V0KCRlcXVpcG1lbnQtc2VsZWN0b3ItYmFja2dyb3VuZC1ncmFkaWFudCwgY29sb3VyLTIpLCAxKSA2NSUpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICB9XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwaWNrLW4tbWl4LXBhZGRpbmcpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBQaWNrICYgTWl4IEhlYWRlciAtLS0tLVxyXG4ucGljay1uLW1peC1oZWFkZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1jb2xvdXI7XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwaWNrLW4tbWl4LWhlYWRpbmctc2l6ZSk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRwaWNrLW4tbWl4LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zdHlsZTogJHBpY2stbi1taXgtaGVhZGluZy1mb250LXN0eWxlO1xyXG4gICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtaGVhZGluZy1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICBoNCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNyk7XHJcbiAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWNvbG91cjtcclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLWJhY2tncm91bmQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJHBpY2stbi1taXgtaGVhZGVyLWJhY2tncm91bmQtcGFkZGluZyk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcGljay1uLW1peC1oZWFkZXItYmFja2dyb3VuZC1wYWRkaW5nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGlmICgkcGljay1uLW1peC1oZWFkZXItY29udGVudC1zZXBlcmF0b3IpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIxOyAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLS0gUGljayAmIE1peCBzZWxlY3RvcnMgKCBtYWluIGNvbnRlbnQgKSAtLS0tLVxyXG4ucGljay1uLW1peC1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogJHBpY2stbi1taXgtc2VsZWN0b3ItY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgIC5waWNrLW4tbWl4LWl0ZW0ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgbWFyZ2luOiA3LjVweCAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgLS1tZWRpYS1hc3BlY3QtcmF0aW86ICN7JHByb2R1Y3QtaW1hZ2UtYXNwZWN0LXJhdGlvfTtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIGFzcGVjdC1yYXRpbzogdmFyKC0tbWVkaWEtYXNwZWN0LXJhdGlvLCBhdXRvKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGljay1uLW1peC1pdGVtLWRlc2NyaXB0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tY29sb3VyO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2xpZGVyIHtcclxuICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIG1hcmdpbjogc21hbGwtdmFsdWUoJHBpY2stbi1taXgtc2xpZGVyLW1hcmdpbik7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI0MHB4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZmxleDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiBsYXJnZS12YWx1ZSgkcGljay1uLW1peC1zbGlkZXItbWFyZ2luKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5wdXQtZ3JvdXAge1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucGljay1uLW1peC10b3RhbC1yb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIyLjVweDtcclxuICAgICAgICBjb2xvcjogJHBpY2stbi1taXgtc2VsZWN0b3ItZGVzY3JpcHRpb24tY29sb3VyO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkcGljay1uLW1peC1zZWxlY3Rvci1kZXNjcmlwdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIsIC5yZW1haW5pbmctY29udGFpbmVyIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9IFxyXG4gICAgICAgIC50b3RhbC1zZWxlY3RlZC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBtYXJnaW46IDE3LjVweCAwO1xyXG4gICAgICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwaWNrLW4tbWl4LWhlYWRlci1jb250ZW50LWhpZ2hsaWdodGVkLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIHNwYWNpbmctdmFsdWUoJHBpY2stbi1taXgtc2xpZGVyLW1hcmdpbiwgMik7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIHNwYWNpbmctdmFsdWUoJHBpY2stbi1taXgtc2xpZGVyLW1hcmdpbiwgMiwgJ2xhcmdlJyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNlbGVjdGVkLWNvdW50IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAkcXVhbnRpdHktZnJlZS10ZXh0LWlucHV0LWhlaWdodDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgLy8gVG8gYnJpbmcgdGhlIGNvdW50IGlubGluZSB3aXRoIHRoZSBxdWFudGl0eSBzZWxlY3RvcnNcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAkcXVhbnRpdHktZnJlZS10ZXh0LWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBpY2stbi1taXgtaGVhZGVyLWNvbnRlbnQtaGlnaGxpZ2h0ZWQtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJlbWFpbmluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAucmVtYWluaW5nLWNvdW50LW1lc3NhZ2Uge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5yZW1haW5pbmctY291bnQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkcGljay1uLW1peC1oZWFkZXItY29udGVudC1oaWdobGlnaHRlZC1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybS1lcnJvciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5waWNrLW4tbWl4LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAuYWRkLXRvLWJhc2tldC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJ1dHRvblt0eXBlPXN1Ym1pdF0ge1xyXG4gICAgICAgICAgICAvLyBPdmVycmlkZSBtYXJnaW4gZm9yIG1vYmlsZSBkZXZpY2VzLlxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlndGg6IDA7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4vLyBXaGVuIHRoZSBzbGlkZXIgaXMgYWN0aXZlIGEgY2xhc3MgZ2V0cyBhZGRlZCB0byB0aGUgcmVsZXZhbnQgaW5wdXQuXHJcbmlucHV0LnVpLXN0YXRlLWFjdGl2ZSwgLmlucHV0LW51bWJlci51aS1zdGF0ZS1hY3RpdmUge1xyXG4gICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzE7XHJcbiAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGFjY2VudC1jb2xvdXItMywgMCk7XHJcbiAgICBib3JkZXItd2lkdGg6IDJweDtcclxuICAgIHRyYW5zaXRpb246IGJveC1zaG9kYXcgJHRyYW5zaXRpb25JbnRybztcclxufVxyXG5cclxuLy8gSWYgeW91IGhhdmUgc29tZSBsZWFkIGluIHRleHQuXHJcbi5jbXMtY29udGVudC1jb250YWluZXIgKyAucGljay1uLW1peC1jb250YWluZXIge1xyXG4gICAgbWFyZ2luLXRvcDogc3BhY2luZy12YWx1ZSgkbW9kdWxlcy1jb250ZW50LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcsIDEpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZywgMSwgbWVkaXVtKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWNvbnRlbnQtYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZywgMSwgbGFyZ2UpO1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBQcm9kdWN0IGxpc3QgZWRpdCBidXR0b24gLS0tLSBcclxuI3Byb2R1Y3RMaXN0SXRlbXMge1xyXG4gICAgJi5saXN0IHtcclxuICAgICAgICAucGljay1uLW1peC1idXR0b24ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJHRhYmxlLWl0ZW0tY29udHJvbHMtY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBCYXNrZXQgc3R5bGVzIC0tLS0tIFxyXG4vLyAtLS0gRGlzcGxheSBzZWxlY3Rpb24gLS0tIFxyXG4ucGljay1uLW1peC1zZWxlY3Rpb24ge1xyXG4gICAgbWFyZ2luOiA1cHggMDtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcbn0iLCIvKiBcclxuXHJcbi0tLS0tIEFuaW1hdGlvbnMgLS0tLS0gXHJcblRPRE86IFRoaXMgaXMgdGhlIHZlcnkgZmlyc3QgZGV2IGN5Y2xlIG9mIGp1c3QgdHJpbmcgdG8gZ2V0IEhUTUw1IENhbnZhcydzIGV4cG9ydGVkIGZyb20gYWRvYmUgYW5pbWF0ZSB0byB3b3JrIGluc2lkZSBvZiBleHByZXNzIGFuZCB0byBoYXZlIG11bHRpcGxlIGFuaW1hdGlvbnMgb24gdGhlIHBhZ2UgYXQgb25jZSwgc28gdGhlcmUgaXMgc3RpbGwgbXVjaCB3b3JrIHRvIGJlIGRvbmUgaGVyZSBpdHMgbW9yZSBvZiBhIHByb29mIG9mIGNvbmNlcHQgYXQgdGhpcyBwb2ludC5cclxuLSBBbmltYXRlZCBIVE1MNSBDYW52YXMnc1xyXG4tIEludGVyYWN0aXZlIEFuaW1hdGlvbnMuXHJcbiovXHJcblxyXG5cclxuY2FudmFzIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufSIsIlxyXG5cclxuLmNsaWVudC1zZWFyY2gtbm8tcmVzdWx0cyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgaDMge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBUb3AgYmFyIC0tLS0tXHJcblRoaXMgaGFzIGhhZCB0byBiZSB3cml0dGVuIGR1ZSB0byBmb3VuZGF0aW9uJ3MgdG9wLWJhciBjdXJyZW50bHkgZG9lc24ndCBzdXBwb3J0IGNlbnRlcmVkIGl0ZW1zLCB5b3Ugb25seSBnZXQgdGhlIG9wdGlvbiB0b3AtYmFyLWxlZnQgJiB0b3AtYmFyLXJpZ2h0LCB0aGUgZGVzaWduIGNhbGxzIGZvciB0aGUgY3VycmVuY3kgc2VsZWN0b3IgdG8gYmUgaW4gdGhlIG1pZGRsZS5cclxuKi9cclxuXHJcbi50b3AtYmFyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbiAgICAmLnVwcGVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiAgICAgICAgLy8gaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgIC50b3AtYmFyLWxlZnQsIC50b3AtYmFyLXJpZ2h0IHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgID51bCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRoZWFkZXItdXBwZXItcGFkZGluZywgMSkgMTVweDtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50b3AtYmFyLWNlbnRlciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbiAgICAudG9wLWJhci1yaWdodCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0gSGVhZGVyIFVwcGVyIGNvbG91ciBjb250cmFzdCBwcm9jZXNzaW5nIC0tLS0tIFxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRtZW51LWNvbG91ci1kZWZhdWx0OiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci11cHBlci1jb2xvdXIsIGRlZmF1bHQpLCAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEhvdmVyLlxyXG4gICAgJG1lbnUtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci11cHBlci1jb2xvdXIsIGhvdmVyKSwgJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBBY3RpdmUuXHJcbiAgICAkbWVudS1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhlYWRlci11cHBlci1jb2xvdXIsIGFjdGl2ZSksICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG5cclxuICAgIC5tZW51LCAuZHJvcGRvd24ubWVudSB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgLy8gU28gaXQgYXBwZWFycyBhYm92ZSB0aGUgc2VhcmNoIGJhciBpbiB0aGUgaGVhZGVyLlxyXG4gICAgICAgIC8vIHotaW5kZXg6IDEwMDAwMDtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogJGhlYWRlci11cHBlci1wYWRkaW5nO1xyXG4gICAgICAgICAgICBAaWYgKCRoZWFkZXItdXBwZXItcGFyZW50LXN1cHByZXNzLW91dGVyLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG1lbnUtY29sb3VyLWFjdGl2ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIC8vIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBnZXQtdHlwb2dyYXBoeS1mb250LWZhbWlseShcInNlY29uZGFyeS1mb250XCIpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRoZWFkZXItdXBwZXItZm9udC1zdHlsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogJGhlYWRlci11cHBlci1mb250LXN0eWxlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkaGVhZGVyLXVwcGVyLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJGhlYWRlci11cHBlci1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkaGVhZGVyLXVwcGVyLXRleHQtdHJhbnNmb3JtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci11cHBlci1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zaXRlLXNldHRpbmctbWVudSB7XHJcbiAgICAgICAgICAgICAgICAvLyBUaGlzIGlzIGEgYml0IGhlYXZ5IGhhbmRlZCBhbmQgbWF5IG5lZWQgdG8gYmUgbWFkZSBtb3JlIGZsZXhpYmxlIGluIHRoZSBmdXR1cmUgYnV0IGp1c3QgbWFraW5nIHN1cmUgdGhhdCBidXR0b24gLyB0ZXh0IGNvbG91ciBpcyBsZWdpYmxlICYgY29uc2lzdGVuY3kuXHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1kZWZhdWx0O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuY3VycmVuY3ktaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbWVudS1jb2xvdXItZGVmYXVsdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRtZW51LWNvbG91ci1ob3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3RvcEJhclVwcGVyT3V0ZXJDb3VudGFpbmVyLCAuaGVhZGVyLXRvcC1iYXItY29udGFpbmVyIHtcclxuICAgIEBpZiAkaGVhZGVyLXVwcGVyLWdyYWRpYW50IHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLXVwcGVyLWdyYWRpYW50O1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhlYWRlci11cHBlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGlmICRoZWFkZXItdXBwZXItYm9yZGVyIHtcclxuICAgICAgICBib3JkZXItd2lkdGg6ICRoZWFkZXItdXBwZXItYm9yZGVyLXdpZHRoO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGhlYWRlci11cHBlci1ib3JkZXItY29sb3VyO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICB9XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbn1cclxuIiwiXHJcblxyXG5AbWl4aW4gc2V0LXN0eWxlLWd1aWRlLWNvbG91cigkY29sb3VyLW5hbWUsICRjb2xvdXJzKSB7XHJcbiAgICAvLyBDaGVjayBpZiB2YXJpYWJsZSBleGlzdC5cclxuICAgIEBpZiBub3QgKHZhcmlhYmxlLWV4aXN0cygkY29sb3VyLW5hbWUpKSB7XHJcbiAgICAgICAgQGRlYnVnIFwiQ29sb3VyIG1hcCBcIiAjeyRjb2xvdXItbmFtZX0gXCIgZG9lc24ndCBleGlzdCBmb3Igc2l0ZSAjeyRzaXRlfVwiO1xyXG4gICAgfVxyXG4gICAgQGVhY2ggJGxpZ2h0bmVzcywgJGNvbG91ciBpbiAkY29sb3VycyB7XHJcbiAgICAgICAgLiN7JGNvbG91ci1uYW1lfS1saWdodG5lc3MtI3skbGlnaHRuZXNzfSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctcGFnZS1oZWFkZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcclxuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG5cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgMTVweCAzNXB4IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1zZWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDAgMTVweCAxNXB4IDA7XHJcblxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAxNXB4IDI1cHggMDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWhlYWRpbmcge1xyXG4gICAgcGFkZGluZzogMTVweCAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMztcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgY29sb3I6ICM1ZjdiMjc7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1pbnRybyB7XHJcbiAgICBwYWRkaW5nOiAwIDVweDtcclxufVxyXG5cclxuLnNnLXN1Yi1oZWFkaW5nIHtcclxuICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMztcclxuXHJcbiAgICBoMyB7XHJcbiAgICAgICAgY29sb3I6ICM1ZjdiMjc7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLXN1Yi1kZXNjcmlwdGlvbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uc2ctY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjMtNTtcclxufVxyXG5cclxuLnNnLWRlbW8tbGlzdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2ctaXRlbS1pbmZvcm1hdGlvbi1jb250YWluZXIsXHJcbi5jc3MtcHJvcGVydHktdmlldyB7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luOiAzcHggMDtcclxuICAgIH1cclxuXHJcbiAgICBwLFxyXG4gICAgbGkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAuaXRlbS1pbmZvLWxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1pdGVtLXNlcGVyYXRvciB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxufVxyXG5cclxuLnNnLWNlbGwtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgbWFyZ2luOiAxMHB4IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbn1cclxuXHJcbi5zZy1jb2xvdXItcGFsZXR0ZSB7XHJcbiAgICAuZ3JpZC1jb2xsZWN0aW9uLXgge1xyXG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcclxuXHJcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbG91ci1ibG9jayB7XHJcbiAgICAkY29sb3VyLWJsb2NrLW1hcmdpbjogNXB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIG1hcmdpbjogJGNvbG91ci1ibG9jay1tYXJnaW4gMDtcclxuICAgIHBhZGRpbmc6IDhweCA4cHggNnB4O1xyXG4gICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgLmxpZ2h0ZW5lZC1wZXJjZW50YWdlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5saWdodGVuZWQtcGVyY2VudGFnZSB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogJGNvbG91ci1ibG9jay1tYXJnaW47XHJcbiAgICAgICAgbGVmdDogJGNvbG91ci1ibG9jay1tYXJnaW47XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgfVxyXG5cclxuICAgIFtkYXRhLWNvbG91ci1wcmV2aWV3XSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjQyODU3cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXItaGV4LWxhYmVsIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIwIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIyXHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy0zIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjMtNSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyMy02IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXIzLTcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTc7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTE7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtMjtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC0zIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC0zO1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjQtNSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQtNTtcclxuICAgIH1cclxuXHJcbiAgICAuY29sb3VyNC02IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNC02O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI0LTcge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTc7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb2xvdXI2LTEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2LTE7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbG91cjYtMiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjYtMjtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBzZXQtc3R5bGUtZ3VpZGUtY29sb3VyKFwiYWNjZW50LWNvbG91ci0xXCIsICRhY2NlbnQtY29sb3VyLTEpO1xyXG4gICAgQGluY2x1ZGUgc2V0LXN0eWxlLWd1aWRlLWNvbG91cihcImFjY2VudC1jb2xvdXItMlwiLCAkYWNjZW50LWNvbG91ci0yKTtcclxuICAgIEBpbmNsdWRlIHNldC1zdHlsZS1ndWlkZS1jb2xvdXIoXCJhY2NlbnQtY29sb3VyLTNcIiwgJGFjY2VudC1jb2xvdXItMyk7XHJcbiAgICBAaW5jbHVkZSBzZXQtc3R5bGUtZ3VpZGUtY29sb3VyKFwiYWNjZW50LWNvbG91ci00XCIsICRhY2NlbnQtY29sb3VyLTQpO1xyXG5cclxuICAgIC5zdWNjZXNzLWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc3VjY2Vzcy1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIC53YXJuaW5nLWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkd2FybmluZy1jb2xvdXIsIDApO1xyXG4gICAgfVxyXG5cclxuICAgIC5hbGVydC1jb2xvdXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgLnByaWNlLWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWNvbG91cjtcclxuICAgIH1cclxuXHJcbiAgICAuc2F2aW5nLWNvbG91ciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNhdmluZ3MtY29sb3VyO1xyXG4gICAgfVxyXG5cclxuICAgIC5ycnAtY29sb3VyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcnJwLWNvbG91cjtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWJ1dHRvbnMge1xyXG4gICAgLnNnLWNvbXBhcmlzb24tdGFibGUgLmFjdGlvbi1idXR0b24ge1xyXG4gICAgICAgIC8vIEZvcmNlIHRoZSBhbGlnbm1lbnQgaW4gdGhlIGNvbnRleHQgb2YgdGhlIHN0eWxlXHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLW9uLXBhZ2Utbm90aWZpY2F0aW9uc3tcclxuICAgIHRkIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbi10eXBlIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAmICsgLm5vdGlmaWNhdGlvbi1zdHlsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXIzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5ub3RpZmljYXRpb24tc3R5bGUge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5zZy1xdWFudGl0eS1zZWxlY3RvcnMge1xyXG4gICAgLnByb2R1Y3QtZ3JpZC1tb2R1bGUge1xyXG4gICAgICAgIG1hcmdpbjogYXV0byAwIDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZy1jYWxsb3V0cyB7XHJcbiAgICAuY2FsbG91dC1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNnLWNvbXBhcmlzb24tdGFibGUge1xyXG4gICAgdGgge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGQge1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgW2NsYXNzKj1cIi1idXR0b25cIl0ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI3RhYmxlLW9mLWNvbnRlbnRzLXN0aWNreS1jb250YWluZXIgLnN0aWNreSB7XHJcbiAgICB6LWluZGV4OiAyO1xyXG59XHJcblxyXG4udGFibGUtb2YtY29udGVudHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgfVxyXG4gICAgLmhlYWRpbmcge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XHJcbiAgICAgICAgY29sb3I6ICM1ZjdiMjc7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZjNiMztcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VjdGlvbnMge1xyXG4gICAgICAgIC8vIFF1aWNrIGFuZCBkaXJlY3R5IHNvbHV0aW9uIGFzIGZvdW5kYXRpb24ncyBzdGljayBpcyBjYWxjdWxhdGluZyB0aGUgaGVpZ2h0IG9mIHRoZSBzdGlja3kgY29udGFpbmVyIGJhc2VkIG9uIHRoZSBjb250ZW50IHdoaWNoIGdvZXMgb2ZmIHRoZSB2aWV3cG9ydCBkdWUgdG8gdGhlIHN0aWNreSBoZWFkZXIsIHRoaXMgd2lsbCBuZWVkIHF1aXRlIGEgYml0IG9mIHdvcmsgdG8gdGFrZSB0aGUgc3RpY2t5IGhlYWRlciBpbnRvIGFjY291bnQgd2hpY2ggY3VycmVudGx5IHdlIGRvbnQgaGF2ZSB0aW1lIGZvci5cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwdmg7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC42cyBlYXNlLWluO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYzYjM2NTtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC40cyBlYXNlLW91dDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtd2VpZ2h0IC42cyBlYXNlLWluO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGZvbnQtd2VpZ2h0IC40cyBlYXNlLW91dDtcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLyogVGhpcyBzdHlsZXMgdGhlIGV4YW1wbGUgcm93cyB1c2VkIGluIHRoZSBncmlkIGRvY3VtZW50YXRpb24uICovXHJcbi5ncmlkLXguZGlzcGxheSB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2M2YzZjNjtcclxuICAgIG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdyaWQteC5kaXNwbGF5IC5jZWxsOm50aC1jaGlsZCgyKSxcclxuLmdyaWQteC5kaXNwbGF5IC5jZWxsLnNtYWxsLWNlbnRlcmVkLFxyXG4uZ3JpZC14LmRpc3BsYXkgLmNlbGwubGFyZ2UtY2VudGVyZWQge1xyXG4gICAgYmFja2dyb3VuZDogI2UxZTFlMTtcclxufVxyXG5cclxuLmdyaWQteC5kaXNwbGF5IC5jZWxsLmNvbG9yLWVuZCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZDRkNGQ0O1xyXG59XHJcblxyXG4uc2ctaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbiAgICBwYWRkaW5nOiAycmVtO1xyXG59XHJcblxyXG4uZ3JpZC1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxNDAwcHg7XHJcbn1cclxuXHJcbi5zZy1zaWRlLW1lbnUge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XHJcbn1cclxuXHJcbi5ncmlkLWNvbnRhaW5lci5wYWRkZWQge1xyXG4gICAgcGFkZGluZy10b3A6IDJyZW07XHJcbn1cclxuXHJcbi5zZy1zaWRlLW1lbnUgYSB7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbjtcclxufVxyXG5cclxuLnNnLXNpZGUtbWVudSBhOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNlZWU7XHJcbn1cclxuXHJcbi5zZy1zaWRlLW1lbnUgYTpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTQ2OGEwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuXHJcbi5zZy1zaWRlLW1lbnUubWVudSB7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICAgIGhlaWdodDogMTAwdmg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcclxufSIsIi8qXHJcbi0tLS0tIEFkbWluIC0tLS0tXHJcblRoaXMgd2lsbCBwb3RlbnRpYWwgaGFuZCB2bUFkbWluIHYyLlxyXG4qL1xyXG5cclxuXHJcblxyXG4udm1hZG1pbi1lZGl0b3Ige1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMDtcclxuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgICYuaW5saW5lLWVkaXRvciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvdHRvbTogLTMwcHg7XHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNrLWNvbnRlbnQge1xyXG4gICAgICAgICYuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUge1xyXG4gICAgICAgICAgICA+IHAge1xyXG4gICAgICAgICAgICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBja2VkaXRvcidzIHN0eWxlcy5cclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIFRlbXAgZml4IGZvciBvdmVycmlkaW5nIGNrZWRpdG9yIHN0eWxlcy5cclxuICAgICAgICAmLmNrLmNrLWVkaXRvcl9fZWRpdGFibGUge1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBFZGl0b3IgaW5pdGlhbCBjb250cm9scy5cclxuICAgIC5lZGl0b3ItdHJpZ2dlci1jb250cm9scyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAvLyBUT0RPOiBqdXN0IHRlbXAgdXNpbmcgdGhpcyB2YXIuXHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvb2tpZS1ub3RpZmljYXRpb24tYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgei1pbmRleDogMTAwMDAwO1xyXG4gICAgICAgIC8vIENvbW1vbiBidXR0b24gc3R5bGluZy5cclxuICAgICAgICAuYWRtaW4tYnV0dG9uIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweDtcclxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICsgZGl2IHtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgfVxyXG4gICAgLnByb3BlcnR5LWVkaXRvciB7XHJcbiAgICAgICBcclxuICAgIH1cclxufVxyXG4vLyBQcm9wZXJ0eSBlZGl0b3IgdHJpZ2dlciBidXR0b24uXHJcbi5wcm9wZXJ0eS1lZGl0b3ItdHJpZ2dlciB7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogJ1xcZjAxMyc7XHJcbiAgICB9XHJcbn1cclxuLy8gQ29udGVudCBlZGl0b3IgdHJpZ2dlciBidXR0b24uXHJcbi5jb250ZW50LWVkaXRvci10cmlnZ2VyIHtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnXFxmMDQ0JztcclxuICAgIH1cclxufVxyXG4vLyBFZGl0b3Igc2F2ZSBidXR0b24uXHJcbi5lZGl0b3Itc2F2ZS1idXR0b24ge1xyXG4gICAgJi5pbmxpbmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJ1xcZjBjNyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi8vIEVkaXRvciBjYW5jZWwgYnV0dG9uLlxyXG4uZWRpdG9yLWNhbmNlbC1idXR0b24ge1xyXG4gICAgJi5pbmxpbmUge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogJ1xcZjAwZCc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiXHJcblxyXG5cclxuXHJcblxyXG5cclxuLm9mZi1jYW52YXMtaGVhZGVyIHtcclxuICAgIC5jbG9zZS1idXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNsb3NlQnV0dG9uKCk7XHJcbiAgICB9XHJcbiAgICAub2ZmLWNhbnZhcy1oZWFkaW5nIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcclxuICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgfVxyXG4gICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIDEpO1xyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQWNjb3JkaW9uIFRhYnMgLS0tLS0tIFxyXG4tIFRPRE86IFRoZSBuYW1pbmcgY29udmVudGlvbnMgbmVlZCB0byBiZSByZS13cml0ZW4gYXQgc29tZSBwb2ludCBhcyB0aGlzIHdhcyBvcmlnaW5hbGx5IGJ1aWxkIGZvciBvbiBiZWluZyB1c2VkIG9uIHRoZSBwcm9kdWN0IHBhZ2UgaGVuc2UgdGhlIHZlcnkgc3BlY2lmaWMgbmFtaW5nIG9mIGlkJ3MgYW5kIGNsYXNzZXMuXHJcbi0gVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGJhc2VkIG9uIEZvdW5kYXRpb24ncyBSZXNwb25zaXZlIEFjY29yZGlvbiBUYWJzIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9yZXNwb25zaXZlLWFjY29yZGlvbi10YWJzLmh0bWxcclxuLSBUaGUgc3R5bGluZyBmb3IgcHJvZHVjdCB0YWJiZWQgbm90ZXMgaXMgZGVmaW5lZCBoZXJlXHJcbiAgLSBBdHRhY2htZW50c1xyXG4gIC0gU3BlY2lmaWNhdGlvbidzXHJcbiAgLSBSZXZpZXdzXHJcbiAgLSBDb21wb25hbnRzLlxyXG5cclxuKi9cclxuXHJcbi8vIC0tLS0tIFJlc3BvbnNpdmUgVGFicyBoZWFkZXIgLS0tLS0gXHJcbi5yZXNwb25zaXZlLXRhYnMtaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgIC5yZXNwb25zaXZlLXRhYnMtY29udHJvbHMge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi10b2dnbGUtYWxsLWJ1dHRvbiB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRyZWUtbWVudS1leHBhbmQtYWxsLWljb24tZm9udC1zaXplO1x0XHRcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1jbG9zZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0gR2VuZXJhbCBzdHlsaW5ncyAtLS0tXHJcbi8vIElEIHJlZmVyZW5jZSBjYW4gZ28gYWZ0ZXIgODIzOTQzIGlzIGNvbXBsZXRlLlxyXG4jdGFiYmVkLW5vdGVzLWNvbnRhaW5lciB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAmLmNvbXBvbmVudC1yZWFkeSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG5cclxuLnJlc3BvbnNpdmUtdGFicyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAmLmNvbXBvbmVudC1yZWFkeSB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxuICAgICY6aGFzKC50YWJzLnZlcnRpY2FsKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgICYuYWNjb3VudC1hcmVhIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMtcGFuZWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkYWNjb3VudC10YWJzLXBhbmVsLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkYWNjb3VudC10YWJzLXBhbmVsLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucGFja2FnZS1yZWZlcmVuY2UtY29udGFpbmVyLCAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wYWNrYWdlLXJlZmVyZW5jZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLWNvbHVtbjogMjtcclxuICAgICAgICAgICAgICAgICAgICBncmlkLXJvdzogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGhpcmQtcGFydHktdHJhY2tpbmctcmVmZXJlbmNlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudGhpcmQtcGFydHktdHJhY2tpbmctYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4cHggMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQgIHtcclxuICAgICAgICAgICAgJlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuc2VhcmNoLXJlc3VsdHMge1xyXG4gICAgICAgIC50YWJzLXRpdGxlIGEge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDM1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRhYnMtcGFuZWwge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA0NXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCA1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMge1xyXG4gICAgICAgICYudmVydGljYWwge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50YWJzLXRpdGxlIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMXB4IDAgMDtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoICR0cmFuc2l0aW9uT3V0cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0LTY7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgM3B4IDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bm90KC5pcy1hY3RpdmUpOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAzcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAuMnMsIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAxMHB4IDIwcHggMTVweDtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5mb3VuZC1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBQdXQgdGFicyBjb250ZW50IGludG8gY29udGV4dC5cclxuICAgICAgICAgICAgJiArIC50YWJzLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgIC50YWJzLXBhbmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHggMTBweCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzLXRpdGxlIHtcclxuICAgICAgICB3aWR0aDogJHByb2R1Y3QtdGFicy10aXRsZS1kZXNrdG9wLXdpZHRoO1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAkcHJvZHVjdC10YWJzLXRpdGxlLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRwcm9kdWN0LXRhYnMtdGl0bGUtdGV4dC1hbGlnbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmZvdW5kLWNvdW50IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJygnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyknO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzLXBhbmVsLCAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnRhYnMtcGFuZWwge1xyXG4gICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCR0YWJzLWNvbnRlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkdGFicy1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkYWNjb3JkaW9uLXBhbmUtY29udGVudC1wYWRkaW5nKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRhY2NvcmRpb24tcGFuZS1jb250ZW50LXBhZGRpbmcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWJzLWNvbnRlbnQge1xyXG4gICAgICAgIGZsZXg6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLmFjY29yZGlvbi1pdGVtIHtcclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgJlthcmlhLWhpZGRlbj10cnVlXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQWRkZWQgdGhpcyBydWxlIGFzIHdoZW4gaW4gYWNjb3JkaW9uIHZpZXcgb24gdGhlIHByb2R1Y3QgZW5xdWlyeSBwYWdlIHRoZXJlIHdhcyB0d28gcnVsZXMgYmVpbmcgYWRkZWQsIHRoaXMgb25lIGFuZCB0aGUgYWNjb3JkaW9uIHRpdGxlIGFzIHdlbGwsIHRoaXMgaXMgb3ZlcnJpZGluZyBmb3VuZGF0aW9uJ3MgY3NzLlxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnRhYnMtY29udGVudCxcclxuICAgIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICAmOm5vdChbY2xhc3MqPVwicHJlc2V0XCJdKSB7XHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHByb2R1Y3QtdGFiLXNwZWNpZmljaWF0aW9uLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZyBwYWRkaW5nIGR1ZSB0byBjb25mbGljdGluZyB3aXRoIHRoZSBwYWRkaW5nIGZvciBzdGFyIHJhdGluZy5cclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICAvLyBzcGFuIHtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIHBhZGRpbmcgZHVlIHRvIGNvbmZsaWN0aW5nIHdpdGggdGhlIHBhZGRpbmcgZm9yIHN0YXIgcmF0aW5nLlxyXG4gICAgICAgICAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgLy8gU3VwcmVzc2luZyB0byBtYWtlIG1vcmUgZ2VuZXJhbCBwdXJwb3NlLCB1c2UgY29udGFpbmVyIGNsYXNzZXMgaWYgbmVlZGVkLlxyXG4gICAgICAgICAgICAgICAgLy9mb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIE9ubHkgZWZmZWN0IHRoZSBwcm9kdWN0IHBhZ2UsIHRoaXMgc2hvdWxkIGJlIHJlZmFjdG9yZWQgdG8gdXNlIGRlZmF1bHQgdGFibGUgY2xhc3NpbmcgKCBwcmVzZXQtMSApIGFuZCB0ZXh0LWVxdWFsaXNlciAoIGNvbHVtbiBhbGlnbm1lbnQgKS5cclxuI3RhYmJlZC1ub3Rlcy1jb250YWluZXIge1xyXG4gICAgLnRhYnMtcGFuZWwsIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgLnRhYmJlZC1jbXMtZW50cnksIC50YWJiZWQtc3BlY2lmaWNhdGlvbi1jb250YWluZXIsIC50YWJiZWQtbm90ZXMtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLy8gT25seSBkbyB0aGlzIGZvciB0YWJiZWQgbm90ZXMsIG90aGVyd2lzZSB0aGUgcnVsZXMgZ2V0IGluIHRoZSB3YXkgb2Ygb3RoZXIgY2xhc3NlcyAoIGkuZSBwcmljaW5nIClcclxuICAgICAgICAgICAgQGluY2x1ZGUgY21zLWhlYWRpbmdzKCk7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGNtcy1wYXJhZ3JhcGgobnVsbCwgbnVsbCwgJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBjbXMtbGlzdHMobnVsbCwgbnVsbCwgJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBjbXMtdGFibGUoKTtcclxuICAgIH1cclxuICAgIC8vIEhhbmRsZSB0aGUgZmlyc3QgY29sdW1uIGxpa2UgaXQgaXMgdGhlIGhlYWRlciBpbiB0ZXJtcyBvZiB0eXBvZ3JhcGh5ICggd2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBjb2xvdXIuLi4uICkuXHJcbiAgICAudGFiYmVkLXNwZWNpZmljYXRpb24tY29udGFpbmVyIHtcclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIHRib2R5IHtcclxuICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnRhYnMtcGFuZWwsIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAuY29tcG9uZW50cy1pbnRyby1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgJjpoYXMoLmNvbXBvbmVudHMtaW50cm8tY29udGFpbmVyKSB7XHJcbiAgICAgICAgQGluY2x1ZGUgY21zLXRhYmxlKCk7XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uLWNvbCwgLnJlZmVyZW5jZS1jb2wge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gLS0tLSBUYWJzIHN0eWxpbmcgLS0tLVxyXG4udGFicyB7XHJcbiAgICAkdGFic0JvcmRlckJvdHRvbTogMXB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBtYXJnaW4tdG9wOiA4MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlci1ib3R0b206ICR0YWJzQm9yZGVyQm90dG9tIHNvbGlkICRjb2xvdXIzLTEgIWltcG9ydGFudDsgLy8gT3ZlcnJpZGluZyBGb3VuZGF0aW9uXHJcbiAgICAmLnZlcnRpY2FsIHtcclxuICAgICAgICB3aWR0aDogMjAlO1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMCAhaW1wb3J0YW50OyAvLyBPdmVycmlkaW5nIEZvdW5kYXRpb24gJiB0aGUgSlMgZG9lc24ndCBhcHBseSBcIiBob3Jpem9udGFsIFwiIGNsYXNzIHNvIHdlIGhhdmUgdG8gb3ZlcnJpZGUgb3VyICBkZWZhdWx0LlxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudGFicy10aXRsZSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBib3JkZXItd2lkdGg6IDFweCAxcHggMCAxcHg7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCkgMCAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjMtMTtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGUgdGhlIHJ1bGUgdGhhdCBnb2VzIGFjcm9zcyBhbGwgb2YgdGhlIHRhYnMuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogJHRhYnNCb3JkZXJCb3R0b207XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogLSN7JHRhYnNCb3JkZXJCb3R0b219O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTsgICAgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHRhYnMtdGl0bGUtaWNvbi1zaXplOyAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJzLXRpdGxlLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdGFicy10aXRsZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGFicy10aXRsZS1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkdGFicy10aXRsZS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0gQWNjb3JkaW9ucyAtLS0tLVxyXG4uYWNjb3JkaW9uIHtcclxuICAgICRhY2NvcmRpb24tc3BhY2luZzogMTBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIC8vIEFkZCBzbWFsbCBhbW91bnQgb2YgcGFkZGluZyB3aGVuIGluIG1vYmlsZSBmb3IgdGhlIHByb2R1Y3QgcGFnZS5cclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gRm9yIHRoaXMgdG8gd29yayB5b3UgaGF2ZSB0byB3cmFwIHRoZSB0aXRsZSB0ZXh0IGluIGEgc3Bhbi50aXRsZS5cclxuICAgICYucGFuZWwtc3RhdGUtaW5kaWNhdG9yLWZpcnN0IHtcclxuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC50aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYucmFkaW8taW5kaWNhdG9ycyB7XHJcbiAgICAgICAgLmFjY29yZGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgIC5hY2NvcmRpb24tdGl0bGU6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFjY29yZGlvbi1yYWRpby1pbmRpY2F0b3ItZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgfSBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuYWNjb3JkaW9uLXRpdGxlOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFjY29yZGlvbi1yYWRpby1pbmRpY2F0b3ItZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuXHJcbiAgICB9XHJcbiAgICAvLyBJZiBvbmx5IG9uZSBjaGlsZCB0aGVuIHN1cHByZXNzIHRpdGxlICggZS5nLiBwYXltZW50IG1ldGhvZHMgKS5cclxuICAgICYuc3VwcHJlc3MtdGl0bGUtc2luZ2xlLWNoaWxkIHtcclxuICAgICAgICAuYWNjb3JkaW9uLWl0ZW0ge1xyXG4gICAgICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAjeyRhY2NvcmRpb24tcGFuZS1jb250ZW50LWJvcmRlci13aWR0aH07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1jb2xvdXJzIHtcclxuICAgICAgICAvLyBDb2xvdXIgcHJvY2Vzc2luZy5cclxuICAgICAgICAkZGVmYXVsdC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91ciwgZGVmYXVsdCksIG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpO1xyXG4gICAgICAgICRob3Zlci1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91ciwgaG92ZXIpLCBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKSk7XHJcbiAgICAgICAgJGFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWNvbG91ciwgYWN0aXZlKSwgbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpKTtcclxuXHJcbiAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRlZmF1bHQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGVmYXVsdC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25PdXRybywgYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGFjY29yZGlvbi10aXRsZS1pbnZlcnRlZC1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkaG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob3Zlci1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb24tdGl0bGUtaW52ZXJ0ZWQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhLmFjY29yZGlvbi10aXRsZS1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjY29yZGlvbi1pdGVtIHtcclxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9uLXRpdGxlLWludmVydGVkLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRhY3RpdmUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi10aXRsZS1jb250YWluZXIge1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBmb250LXdlaWdodDogJGFjY29yZGlvbnMtdGl0bGUtZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYWNjb3JkaW9ucy10aXRsZS10ZXh0LXRyYW5zZm9ybTtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgIEBpZiAobWFwLWdldCgkYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCkpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkYWNjb3JkaW9ucy10aXRsZS1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaGlnaGxpZ2h0ZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyLCBoaWdobGlnaHRlZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJGFjY29yZGlvbnMtdGl0bGUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRhY2NvcmRpb25zLXRpdGxlLWNvbG91cik7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcclxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgIC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC40O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1yZXZlYWwtY2xvc2VkKTtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbnMtYXJyb3ctZm9udC1zaXplO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJGFjY29yZGlvbnMtYXJyb3ctY29sb3VyKTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC50aXRsZS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE3NXB4OyAvLyBkZWZhdWx0LlxyXG4gICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5mb3VuZC1jb3VudCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgb3JkZXI6IC0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGEuYWNjb3JkaW9uLXRpdGxlIHtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pcy1hY3RpdmUge1xyXG4gICAgICAgIC5hY2NvcmRpb24tdGl0bGUge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKCRhY2NvcmRpb25zLXRpdGxlLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0YWJsZS1yZXZlYWwtb3Blbik7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkYWNjb3JkaW9ucy10aXRsZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFjY29yZGlvbi1pdGVtIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYWNjb3JkaW9uLXNwYWNpbmc7XHJcbiAgICAgICAgJjpub3QoLmlzLWFjdGl2ZSkge1xyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQgLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21vb3RoLWVkZ2VzKCkgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIHdlaXJkIGJvcmRlciB0aGF0IGlzIGZvdW5kIGVtaXR0aW5nIHdoZW4gd2Ugcm91bmQgb3ZlciB0aGUgY29ybmVycyBvZiB0aGUgbGFzdCBpdGVtLlxyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogMCAjeyRhY2NvcmRpb24tcGFuZS1jb250ZW50LWJvcmRlci13aWR0aH0gI3skYWNjb3JkaW9uLXBhbmUtY29udGVudC1ib3JkZXItd2lkdGh9ICN7JGFjY29yZGlvbi1wYW5lLWNvbnRlbnQtYm9yZGVyLXdpZHRofTtcclxuICAgIH1cclxufVxyXG5cclxuLmFjY29yZGlvbi1jb250ZW50IHtcclxuICAgIGhlaWdodDogMDtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgJlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgcGFkZGluZzogc3BhY2luZy12YWx1ZSgkdGFicy1jb250ZW50LXBhZGRpbmcsIDAsIHNtYWxsKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJHRhYnMtY29udGVudC1wYWRkaW5nLCAwLCBsYXJnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYWNjb3JkaW9uLXRpdGxlLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4vLyBEaXNwbGF5cyB0aGUgdmFyaW91cyBmaWxlIGF0dGFjaG1lbnRzIHRoYXQgY2FuIGJlIGFzc2lnbmVkIHRvIGEgc3RvY2sgaXRlbS5cclxuLmF0dGFjaG1lbnRzLWNvbnRhaW5lciB7XHJcbiAgICB1bCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDAgNTAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDEgMCAzMyU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYXR0YWNobWVudCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAkZmlsZS1hdHRhY2htZW50LXBhZGRpbmc7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtYW5jaG9yLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRmaWxlLWFuY2hvci1mb250LXdlaWdodDtcclxuICAgICAgICBmb250LXNpemU6ICRmaWxlLWFuY2hvci1mb250LXNpemU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtYW5jaG9yLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgdW5rbm93bik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVSZWd1bGFyO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCB1bmtub3duKTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRmaWxlLWljb25zLXNpemU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmJyb2NodXJlIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgYnJvY2h1cmUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgYnJvY2h1cmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC51c2VyLWd1aWRlIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgdXNlci1ndWlkZSk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgdXNlci1ndWlkZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBhcnRzLWRpYWdyYW0ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBwYXJ0cy1kaWFncmFtKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBwYXJ0cy1kaWFncmFtKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAud29yZCwgW2hyZWYkPScuZG9jJ10sIFtocmVmJD0nLmRvY3gnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHdvcmQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHdvcmQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5wb3dlcnBvaW50LCBbaHJlZiQ9Jy5wcHQnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHBvd2VycG9pbnQpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHBvd2VycG9pbnQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5leGNlbCwgW2hyZWYkPScueGxzJ10sIFtocmVmJD0nLnhsc3gnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIGV4Y2VsKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZmlsZS1pY29ucy1jb2xvdXJzLCBleGNlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnBkZiwgW2hyZWYkPScucGRmJ10ge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZmlsZS10eXBlLWljb25zLCBwZGYpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lUmVndWxhcjtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgcGRmKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuY3N2LCBbaHJlZiQ9Jy5jc3YnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIGNzdik7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgY3N2KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtYXR0YWNobWVudCwgW2hyZWYkPScuanBnJ10sIFtocmVmJD0nLnBuZyddLCBbaHJlZiQ9Jy5naWYnXSwgW2hyZWYkPScud2VibSddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgaW1hZ2UpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIGltYWdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmlkZW8tYXR0YWNobWVudCwgW2hyZWYkPScubW92J10sIFtocmVmJD0nLm1wNCddIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGZpbGUtdHlwZS1pY29ucywgdmlkZW8pO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmaWxlLWljb25zLWNvbG91cnMsIHZpZGVvKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuemlwLCBbaHJlZiQ9Jy56aXAnXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRmaWxlLXR5cGUtaWNvbnMsIHppcCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZpbGUtaWNvbnMtY29sb3VycywgemlwKTtcclxuICAgICAgICB9IFxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gU3RpY2t5IC0tLS0tLSBcclxuU3RpY2t5IGZ1bmN0aW9uYWxpdHkgdGhhdCBpcyBidWlsZCBvbnRvcCBvZiBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3Mvc3RpY2t5Lmh0bWwuXHJcblxyXG5bSU1QT1JUQU5UXSAtIFRoaXMgQ1NTIGlzIG5vdCBmb3IgdGhlIGJhc2tldCBzdW1tbWFyeSBvciB0aGUgaGVhZGVyIHBsZWFzZSB2aWV3IGhlYWRlci5zY3NzIGFuZCBiYXNrZXQuc2NzcyBmb3IgdGhhdC5cclxuKi9cclxuXHJcblxyXG5cclxuLnN0aWNreSB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgJi5pcy1zdHVjayB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgfVxyXG4gICAgJi5pcy1hbmNob3JlZCB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgfVxyXG4gICAgJi5pcy1zdHVjazpub3QoLm5vLWFuaW1hdGUpIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiBtYXJnaW4tdG9wICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICB9XHJcbiAgICAmLmlzLWFuY2hvcmVkOm5vdCgubm8tYW5pbWF0ZSkge1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1hcmdpbi10b3AgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICYuZWxlbWVudC1ub3QtaW4tdmlld3BvcnQge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldCAhaW1wb3J0YW50XHJcbiAgICB9XHJcbn1cclxuXHJcbltkYXRhLWF4aXMtc3RpY2t5LWNvbnRhaW5lcl0ge1xyXG4gICAgLy8gU2NhbGUgZnVsbCB3aWR0aCBvZiBjb250YWluZXIgdG8gYWxsb3cgZm9yIHN0aWNreSBidXR0b25zIGFsd2F5cyBiZSBwaW5uZWQgdG8gdGhlIHJpZ2h0LlxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuY2FsbGJhY2tDb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG4gICAgfVxyXG59XHJcblxyXG5bZGF0YS1heGlzLXN0aWNreV0ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbltkYXRhLXN0aWNreS1jb250YWluZXJdIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5cclxuJHN0aWNreS1zaWRlLWJ1dHRvbnMtd2lkdGg6IChcclxuICAgIGxhcmdlOiAxMjhweFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHM6IChcclxuICAgIGxhcmdlOiAobWFwLWdldCgkYnJlYWtwb2ludHMsIGxhcmdlKSArIChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy13aWR0aCkgKiAyKSlcclxuKTtcclxuXHJcbi5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogYXV0bztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgLy8gYm94LXNoYWRvdzogMHB4IDJweCAyMHB4IDRweCByZ2JhKDEyLCAxMiwgMTMsIDAuNSk7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDk1JTtcclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1heC13aWR0aDogODAlO1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAvLyBTcGVjaWZpY2FsbHkgZm9yIG1hbmFnZSBjYWxscyB0byBwcmV2ZW50IGxhcmdlIGJyZWFrcyBpbiB0aGUgbWFpbiBjb250ZW50LlxyXG4gICAgICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLXdpZHRoKTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IHVuc2V0O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIC5zdGlja3kge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIEZpeCBpbnRvIHBsYWNlIHN0b3AgZGVmYXVsdCBiZWhhdm91ciBmcm9tIHRha2luZyBvdmVyIG9uIG1vYmlsZS5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgLy8gICAgIHRvcDogYXV0byAhaW1wb3J0YW50OyBcclxuICAgICAgICAvLyAgICAgYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykgZG93bikge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtc3R1Y2sge1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgLy8gICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zdGlja3ktc2lkZS1idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAuc3RpY2t5LXNpZGUtYnV0dG9ucyB7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG5cclxuLnN0aWNreS1zaWRlLWJ1dHRvbnMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgZ2FwOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGxpIHtcclxuICAgICAgICBmbGV4OiAxIDEgMDtcclxuXHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgJHJhZGl1czogc21vb3RoLWVkZ2VzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgLy8gUmVzZXQgcmFkaXVzIGlmIG5vdCBmaXJzdCBvciBsYXN0IGl0ZW0uXHJcbiAgICAgICAgICAgIGJ1dHRvbixhIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAkcmFkaXVzIDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgJHJhZGl1cyAwIDA7ICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uLCBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgJHJhZGl1cztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOm9ubHktY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbiwgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXMgMCAwICRyYWRpdXM7ICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnN0aWNreS1zaWRlLWJ1dHRvbiB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy13aWR0aCk7XHJcbiAgICAgICAgICAgIGhlaWdodDogbGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtd2lkdGgpO1xyXG4gICAgICAgICAgICBhLCBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIC8vICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBob3Zlci1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWRlc2NyaXB0aW9uXCJdIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGEsIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBhY3RpdmUtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UtdmFsdWUoJHN0aWNreS1zaWRlLWJ1dHRvbnMtYnJlYWtwb2ludHMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWN0aXZlLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWljb24tY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzcGFuW2NsYXNzKj1cIi1kZXNjcmlwdGlvblwiXSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBkZWZhdWx0LWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl0ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlLXZhbHVlKCRzdGlja3ktc2lkZS1idXR0b25zLWJyZWFrcG9pbnRzKSkge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgICAgICAgICAgLy8gRW5mb3JjZSBmb250LXdlaWdodCA0MDAgYXMgb3VyIGZvbnRlbGxvIGxpYnJhcnkgb25seSBoYXMgb25lIHdlaWdodC5cclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIobGFyZ2UtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1pY29uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhLCBidXR0b24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRlZmF1bHQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIpKTtcclxuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGNvbG91cjE7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZS12YWx1ZSgkc3RpY2t5LXNpZGUtYnV0dG9ucy1icmVha3BvaW50cykpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cihsYXJnZS12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA0cHggMTRweDtcclxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRpc2FibGVkLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWJhY2tncm91bmQtY29sb3VyKSk7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vLWRyb3A7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IGRpc2FibGVkLWNvbG91cihzbWFsbC12YWx1ZSgkc3RpY2t5LWJ1dHRvbnMtYnV0dG9uLWNvbG91cikpO1xyXG4gICAgICAgICAgICAgICAgc3BhbltjbGFzcyo9XCItZGVzY3JpcHRpb25cIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoc21hbGwtdmFsdWUoJHN0aWNreS1idXR0b25zLWJ1dHRvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHNwYW5bY2xhc3MqPVwiLWljb25cIl06YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKHNtYWxsLXZhbHVlKCRzdGlja3ktYnV0dG9ucy1idXR0b24taWNvbi1jb2xvdXIpKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIExpc3QgU29ydGluZyBPcHRpb25zICAtLS0tLVxyXG4tIEhvbGRzIHRoZSBzdHlsZXMgZm9yIHRoZSBmb2xsb3dpbmc6IFxyXG4gIC0gUHJvZHVjdCBsaXN0KHMpXHJcbiAgLSBBY2NvdW50IGFyZWEgc29ydGluZyAoIGhpc3RvcmljYWwgdHJhbnNhY3Rpb25zLCBjYWxsIHN5c3RlbSwgb3JkZXJzIClcclxuLSBUaGUgZm9sbG93aW5nIGNvbXBvbmVudHMgd2lsbCBiZSBmb3VuZCBoZXJlOiBcclxuICAtIExpc3QgaXRlbSBjb3VudFxyXG4gIC0gU29ydCBieSBcclxuICAtIEZpbHRlcnMgdG9nZ2xlICggSWYgb3BlbmluZyBhIHBvcHVwIClcclxuICAtIFZpZXcgc3dpdGNoZXIgKCBHcmlkIG9yIFRhYmxlIClcclxuICAtIFBhZ2luYXRpb24gXHJcbiAgLSBJdGVtcyBwZXIgcGFnZS5cclxuKi9cclxuXHJcblxyXG4uQVhJU1Jlc3VsdHNDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIHtcclxuICAgIC8vIC5jb250cm9sLnNlbGVjdCAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgLy8gICAgIGhlaWdodDogKCRzZWxlY3QtZHJvcGRvd24tZGVmYXVsdC1oZWlnaHQgLSAxMCk7XHJcbiAgICAvLyB9XHJcbiAgICAuY29udHJvbCAubGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxNjBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtbGFiZWwtbWFyZ2luLXJpZ2h0O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWNvbG91cjtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG4uQVhJU1Jlc3VsdHNDb250YWluZXIsIC5saXN0LXNvcnQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGdhcDogc21hbGwtdmFsdWUoJHNvcnRpbmctb3B0aW9ucy1jb250YWluZXItZ2FwKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICBwYWRkaW5nOiA1cHggMCAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGdhcDogbWVkaXVtLXZhbHVlKCRzb3J0aW5nLW9wdGlvbnMtY29udGFpbmVyLWdhcCk7XHJcbiAgICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICA+IGRpdiB7XHJcbiAgICAgICAgQGlmICRmaWVsZHNldC1pbnB1dC1oZWlnaHQgPD0gNDBweCB7XHJcbiAgICAgICAgICAgIGhlaWdodDogJGZpZWxkc2V0LWlucHV0LWhlaWdodDtcclxuICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIC8vIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIC8vICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG5cclxuICAgIC5zb3J0LW9wdGlvbiB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kb3dubG9hZC1vcHRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWxlLWRvd25sb2FkKTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkc29ydGluZy1vcHRpb25zLWljb24tY29sb3VyO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6bm90KDpvbmx5LWNoaWxkKTpub3QoOmZpcnN0LWNoaWxkKTpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLXNlcGVyYXRvci13aWR0aDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogLSN7KCgkc29ydGluZy1kb3dubG9hZC1vcHRpb24tZ2FwICsgJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLXNlcGVyYXRvci13aWR0aCkgLyAyKX07XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29tbW9uLXJ1bGUtY29sb3VyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5idXR0b25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogI3soJHNvcnRpbmctZG93bmxvYWQtb3B0aW9uLWdhcCArICRzb3J0aW5nLWRvd25sb2FkLW9wdGlvbi1zZXBlcmF0b3Itd2lkdGgpfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8tLS0gUmVzdWx0cyBkaXNwbGF5IC0tLVxyXG4gICAgLkFYSVNSZXN1bHREaXNwbGF5Q29udGFpbmVyLCAuaXRlbS1jb3VudC1jb250YWluZXIge1xyXG4gICAgICAgIC8vIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIGNvdW50KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAvLyBTdXBwcmVzc2luZywgdXNpbmcgZ2FwIHByb3BlcnR5IG9uIHBhcmVudCBpbnN0ZWFkLlxyXG4gICAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgY291bnQpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuQVhJU1Jlc3VsdERpc3BsYXksIC5pdGVtLWNvdW50IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgLy8gcGFkZGluZzogMCAxMHB4IDAgMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzb3J0aW5nLWl0ZW1zLWZvdW5kLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIEZpbHRlciB0b2dnbGUgLS0tXHJcbiAgICAuZmlsdGVyLXRvZ2dsZS1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItbW9iaWxlLCBmaWx0ZXItdG9nZ2xlKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDsgXHJcbiAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcsIHVzaW5nIGdhcCBwcm9wZXJ0eSBvbiBwYXJlbnQgaW5zdGVhZC5cclxuICAgICAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIGZpbHRlci10b2dnbGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZmlsdGVyLXRvZ2dsZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtaWNvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFjdGl2ZS1maWx0ZXItY291bnQge1xyXG4gICAgICAgICAgICB0b3A6IC02cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBDYWxsIHNlYXJjaCAtLS0gXHJcbiAgICAuY2FsbC1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgY2FsbC1zZWFyY2gpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgY2FsbC1zZWFyY2gpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udHJvbC5zZWFyY2gge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBpbnB1dCwgaW5wdXQgKyBidXR0b24sIC5jb250cm9sLnNlYXJjaCB7XHJcbiAgICAgICAgLy8gICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDM0MHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICArIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJHNvcnRpbmctb3B0aW9ucy1sYWJlbC1tYXJnaW4tcmlnaHQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogJHNvcnRpbmctb3B0aW9ucy1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgY29sb3I6ICRzb3J0aW5nLW9wdGlvbnMtY29sb3VyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0gQnJhbmNoIFNlbGVjdG9yIC0tLSBcclxuICAgIC5icmFuY2gtZmlsdGVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDkwcHg7XHJcbiAgICAgICAgICAgIC8vIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBzZWxlY3QsIC5jb250cm9sLXNlbGVjdC1kcm9wZG93biB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gXHJcbiAgICAgICAgLnRvb2x0aXAtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLy0tLSBTb3J0IGRyb3AgZG93biAtLS1cclxuICAgIC5BWElTU29ydEZvcm0sIC5saXN0LXNvcnQtYnktY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgc29ydC1ieSk7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCBzb3J0LWJ5KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250cm9sLnNlbGVjdCB7XHJcbiAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIHotaW5kZXggZHVlIHRvIG92ZXJsYXBwaW5nIHByaW50ZXIgd2l6YXJkIGRyb3Bkb3ducyA4MTM2MDhcclxuICAgICAgICAgICAgLy8gei1pbmRleDogMTA7XHJcbiAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAkc29ydGluZy1zb3J0LXNlbGVjdC1kZXNrdG9wLXdpZHRoO1xyXG4gICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJHNvcnRpbmctc29ydC1zZWxlY3QtZGVza3RvcC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJHNvcnRpbmctc29ydC1zZWxlY3QtZGVza3RvcC13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvLyBUbyBicmluZyBoZWlnaHQgaW5saW5lIHdpdGggb3RoZXIgc29ydGluZyBidXR0b25zLlxyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vLS0tIFBhZ2UgdmlldyAtLS1cclxuICAgIC5BWElTVmlld0NvbnRhaW5lciwgLmxpc3Qtdmlldy1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAyNSU7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIHZpZXcpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwJTtcclxuICAgICAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1kZXNrdG9wLCB2aWV3KTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGdhcDogc21hbGwtdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXApO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXApO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSwgLnZpZXctY29udHJvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCA4cHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgLy8gVmFyaW91cyBzdGF0ZXMuIFxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIC5pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRpc2FibGVkLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyBGYWxsYmFjayBjYW4gYmUgcmVtb3ZlZCBhZnRlciA4NDAxOTkgaGFzIGJlZW4gY29tcGxldGVkICggZXNzZW50aWFsbHkgcmV2ZXJzaW5nIGxvZ2ljIHdoaWNoIGlzIGluY29uc2lzdGFueSB3aXRoIEl0ZW1zIFBlciBMaXN0IGFuZCBQYWdpbmF0aW9uICkuXHJcbiAgICAgICAgICAgICAgICAmLkFYSVNWaWV3R3JpZCwgJi5BWElTVmlld0xpc3Qge1xyXG4gICAgICAgICAgICAgICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBhY3RpdmUtY29sb3VyKCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIC8vIEdlbmVyYWxpc2VkIGljb24gc3R5bGVzLlxyXG4gICAgICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJGxpc3Qtdmlldy10eXBlLWljb25zLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJGxpc3Qtdmlldy10eXBlLWljb25zLWRpbWVudGlvbnM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbGlzdC12aWV3LXR5cGUtaWNvbnMtZGltZW50aW9ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gSWNvbiBzcGVjaWZpYyBzdHlsZXMuXHJcbiAgICAgICAgICAgICAgICAmLkFYSVNWaWV3R3JpZCwgJi5ncmlkIHtcclxuICAgICAgICAgICAgICAgICAgICAuaWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBsaXN0LWdyaWQtdmlldyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5BWElTVmlld0xpc3QsICYubGlzdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbGlzdC10YWJsZS12aWV3KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLy0tLSBQZXIgUGFnZSAtLS1cclxuICAgIC5BWElTUGVyUGFnZUNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgcGVyLXBhZ2UpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDAgMjVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgcGVyLXBhZ2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgLkFYSVNQZXJQYWdlQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHNvcnQtb3B0aW9ucy1idXR0b24tcGFkZGluZy10b3AtYm90dG9tKSAxNnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHNvcnRpb24tb3B0aW9ucy1idXR0b24tZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGVmYXVsdC1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE5FVyBWRVJTSU9OIE9GIEFYSVNQZXJQYWdlQ29udGFpbmVyICggZm9sbG93aW5nIGV4cHJlc3MgbmFtaW5nIGNvbnZlbnNpb25zICsgcmVkdWNlZCBtYXJrdXAgKS5cclxuICAgIC8vIElmIGl0ZW0gcGVyIGxpc3QgaXMgdGhlIGZpcnN0IGl0ZW0gaW4gc29ydGluZyBiYXIgdGhlbiBwdXNoIHRvIHRoZSByaWdodC5cclxuICAgIGRpdjpmaXJzdC1jaGlsZC5pdGVtcy1wZXItbGlzdC1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLml0ZW1zLXBlci1saXN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRpdGVtcy1wZXItbGlzdC13aWR0aCk7XHJcbiAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCk7XHJcbiAgICAgICAgLy8gb3JkZXI6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1vcmRlci1tb2JpbGUsIHBlci1wYWdlKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogbGFyZ2UtdmFsdWUoJGl0ZW1zLXBlci1saXN0LXdpZHRoKTtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGdhcDogbGFyZ2UtdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXApO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgLy8gU3VwcHJlc3NpbmcsIHVzaW5nIGdhcCBwcm9wZXJ0eSBvbiBwYXJlbnQgaW5zdGVhZC5cclxuICAgICAgICAgICAgLy8gbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLWRlc2t0b3AsIHBlci1wYWdlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZsZXg6IDEgMSAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkc29ydC1vcHRpb25zLWJ1dHRvbi1wYWRkaW5nLXRvcC1ib3R0b20pIDhweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGlvbi1vcHRpb25zLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybywgY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvLCBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGRpc2FibGVkKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWNvbG91ciwgZGlzYWJsZWQpO1xyXG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmICsgLnBhZ2luYXRpb24tY29udGFpbmVyLCAmICsgLkFYSVNQYWdlTnVtYmVyaW5nIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNvcnQtYnktZGF5cy1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgb3JkZXI6IDY7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjMlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNvbnRyb2wuc2VsZWN0IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLy0tLSBQYWdpbmF0aW9uIC0tLVxyXG4uQVhJU1BhZ2VOdW1iZXJpbmcsIC5wYWdpbmF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNTBweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgLy9qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBnYXA6IDAgc3BhY2luZy12YWx1ZSgkc29ydGluZy1vcHRpb24tYnV0dG9uLWdhcCwgMik7XHJcbiAgICAvLyBvcmRlcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLW9yZGVyLW1vYmlsZSwgcGFnaW5hdGlvbik7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gbWF4LXdpZHRoOiAyNSU7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyBEb24ndCBzZXQgZmxleDogMTsgYXMgdGhhdCBwdXNoZXMgYWxsIHRoZSBwcmVjZWVkaW5nIGNvbnRlbnQgdG8gbGVmdCBubyBpZGVhIGZvciB0aGUgc29ydGluZyBiYXIgYXQgdGhlIGJvdHRvbSBvZiBhIGxpc3QgYXMgaXQgY2F1c2VzIGFsaWdubWVudCBpc3N1ZXMuXHJcbiAgICAgICAgLy8gZmxleDogMTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgIGdhcDogMCAje3NwYWNpbmctdmFsdWUoJHNvcnRpbmctb3B0aW9uLWJ1dHRvbi1nYXAsIDIsIGxhcmdlKX07XHJcbiAgICAgICAgLy8gbWFyZ2luOiAwIDAgMCAyNXB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIC8vIG9yZGVyOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtb3JkZXItZGVza3RvcCwgcGFnaW5hdGlvbik7XHJcbiAgICB9XHJcbiAgICBhIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHNvcnQtb3B0aW9ucy1idXR0b24tcGFkZGluZy10b3AtYm90dG9tKSAxMHB4O1xyXG4gICAgICAgIC8vbWFyZ2luOiAwIDIuNXB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGlvbi1vcHRpb25zLWJ1dHRvbi1mb250LXdlaWdodDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tYmFja2dyb3VuZCwgZGVmYXVsdCk7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgLy8gICAgIC8vIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAvLyAgICAgbWFyZ2luOiAwIDVweDtcclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAvLyBtYXJnaW46IDAgMnB4O1xyXG4gICAgICAgICAgICAvLyBwYWRkaW5nOiAwIDEwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRzb3J0aW5nLW9wdGlvbnMtYnV0dG9uLWJhY2tncm91bmQsIGhvdmVyKTtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpO1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1jb2xvdXIpXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuc2VsZWN0ZWQsICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkc29ydGluZy1vcHRpb25zLWJ1dHRvbi1iYWNrZ3JvdW5kLCBkaXNhYmxlZCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBkaXNhYmxlZC1jb2xvdXIoJHNvcnRpbmctb3B0aW9ucy1idXR0b24tY29sb3VyKTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLkFYSVNQYWdlTnVtYmVySm9pbmVyLCAucGFnaW5hdGlvbi1vcHRpb24tam9pbmVyIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG4ucGFnaW5hdGlvbkxhYmVsLCAucGFnaW5hdGlvbi1sYWJlbCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtbGFiZWwtbWFyZ2luLXJpZ2h0O1xyXG4gICAgZGlzcGxheTogJHBhZ2luYXRpb24tbGFiZWwtZGlzcGxheTtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNvcnRpbmctb3B0aW9ucy1mb250LXNpemUpO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRzb3J0aW5nLW9wdGlvbnMtZm9udC13ZWlnaHQ7XHJcbiAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcbn0iLCJcclxuLyoqXHJcblxyXG4tLS0tIE1hbmFnZSBDYWxscyAtLS0tIFxyXG5cclxuLSBGb3JtYWxseSBrbm93IGFzIHRoZSBjYWxsIHBvcnRhbCBiZWZvcmUgaXQgZ290IGVtYmVkZGVkIGluIGV4cHJlc3MsIG1hbmFnZSBjYWxscyBpcyBhY2NvdW50IGZ1bmN0aW9uYWxpdHkgdGhhdCBkaXNwbGF5cyBjYWxscyBpbiBhIGxpc3QgaW4gZXhwcmVzcy5cclxuLSBTdHlsZXMgaW5jbHVkZWQgaGVyZTogXHJcbiAgLSBMaXN0IGZvciBjYWxsIGxpc3QgKyBldmVudHMgbGlzdC5cclxuICAtIEVucXVpcnkgc3VtbWFyeS5cclxuICAtIENhbGwgcmF0aW5nIGZvbnRzLlxyXG4gIC0gU3RpY2t5IGJ1dHRvbnMgaWNvbnMuXHJcbioqL1xyXG5cclxuLmVucXVpcnktaGVhZGVyLXNlY3Rpb24ge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYWxsLWVucXVpcnktaGVhZGVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgLy8gRW5zdXJlIGJhY2tncm91bmQtY29sb3IgZ2V0cyByZW5kZXJlZCBpbiBwcmludCBtb2RlLlxyXG4gICAgLy8gcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDsgXHJcbiAgICAvLyAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IFxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkY2FsbC1lbnF1aXJ5LWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY2FsbC1lbnF1aXJ5LWhlYWRpbmctZm9udC1zaXplKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRjYWxsLWVucXVpcnktaGVhZGluZy10ZXh0LXRyYW5zZm9ybTtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIGFsbG93aW5nIHRoZSBjb250YWluZXIgdG8gZGljdGF0ZSB0aGUgcGFkZGluZy5cclxuICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgY29sb3I6ICRjYWxsLWVucXVpcnktY29udGVudC1sYWJlbC1jb2xvdXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAudmFsdWUge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZW5xdWlyeS1oZWFkZXItaGVhZGluZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJyaWRpbmcgZGVmYXVsdCBzdHlsZXMgZHVlIHRvIGlucHV0IGJlaW5nIG9uIGEgYmFja2dyb3VuZC5cclxuICAgIC5jb250cm9sLmNoZWNrYm94Om5vdCguc21hbGwpIGlucHV0ICsgc3BhbntcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICB9XHJcbiAgICAuY29udHJvbC5yYWRpbzpub3QoLmNoZWNrYm94KSBzcGFuLnJhZGlvIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIENhbGwgUmF0aW5nIC0tLS0tXHJcbi5jYWxsLXJhdGluZy1jb250YWluZXIge1xyXG4gICAgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5wYWdlLXZpZXcge1xyXG4gICAgICAgIHdpZHRoOiAxMDBweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuICAgICYubGlzdC12aWV3IHtcclxuICAgICAgICB3aWR0aDogJGNhbGwtcmF0aW5nLWxpc3QtaWNvbi1zaXplO1xyXG4gICAgICAgIGhlaWdodDogJGNhbGwtcmF0aW5nLWxpc3QtaWNvbi1zaXplO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yYXRpbmctbGFiZWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgIH1cclxuICAgIC5yYXRpbmctaW5mb3JtYXRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIH1cclxuICAgIC5jYWxsLXJhdGluZy12YWx1ZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgc3Bhbi5yYWRpbyB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yYXRpbmctaWNvbi0wIHtcclxuICAgICAgICAgICAgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLWNhbm5vdC1yYXRlKSk7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnVucmF0ZWQgLmljb24ge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtcmF0aW5nLXVucmF0ZWQpKTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC41O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tMSAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy12ZXJ5LWJhZCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnJhdGluZy1pY29uLTIgLmljb24ge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yYXRpbmctYmFkKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tMyAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy1hdmVyYWdlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tNCAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy1nb29kKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmF0aW5nLWljb24tNSAuaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXJhdGluZy12ZXJ5LWdvb2QpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQXMgZGVmYXVsdCBzY2FsZSB0byB0aGUgZGltZW5zaW9ucyBvZiB0aGUgY29udGFpbmVyLlxyXG4gICAgICAgIC5pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSWYgdGhlIGljb24gaXMgYSByYWRpbyBidXR0b24gdGhlbiBsaW1pdCB0aGUgd2lkdGguXHJcbiAgICAgICAgLnJhZGlvIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC4yO1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC43O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBDYWxsIHVyZ2VuY3kgaWNvbnMuXHJcbi5jYWxsLXVyZ2VuY3ktaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgICYubG93IHtcclxuICAgICAgICAtLXVyZ2VuY3ktaW1hZ2UtdXJsOiB1cmwoI3ttYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXVyZ2VuY3ktbG93KX0pO1xyXG4gICAgfVxyXG4gICAgJi5tZWRpdW0ge1xyXG4gICAgICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgje21hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdXJnZW5jeS1tZWRpdW0pfSk7XHJcbiAgICB9XHJcbiAgICAmLmhpZ2gge1xyXG4gICAgICAgIC0tdXJnZW5jeS1pbWFnZS11cmw6IHVybCgje21hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdXJnZW5jeS1oaWdoKX0pO1xyXG4gICAgfVxyXG4gICAgJi5jcml0aWNhbCB7XHJcbiAgICAgICAgLS11cmdlbmN5LWltYWdlLXVybDogdXJsKCN7bWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC11cmdlbmN5LWNyaXRpY2FsKX0pO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIHdpZHRoOiAkY2FsbC1yYXRpbmctbGlzdC1pY29uLXNpemU7XHJcbiAgICAgICAgaGVpZ2h0OiAkY2FsbC1yYXRpbmctbGlzdC1pY29uLXNpemU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0tdXJnZW5jeS1pbWFnZS11cmwpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4uc3RpY2t5LXNpZGUtYnV0dG9ucyAuc3RpY2t5LXNpZGUtYnV0dG9uIHtcclxuICAgIC5idXR0b24taWNvbiB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSkge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYWxsLWJhY2stdG8tbGlzdDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLWxpc3QpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jYWxsLWxpc3QtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FsbC1yZXF1ZXN0LWFyY2hpdmU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1yZXF1ZXN0LWFyY2hpdmUpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jYWxsLXJlcXVlc3QtYXJjaGl2ZS1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYWxsLWFkZC1pbmZvcm1hdGlvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLWFkZC1pbmZvKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY2FsbC1hZGQtaW5mby1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYWxsLWNyZWF0ZTpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBuZXctY2FsbCk7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGV4cHJlc3MtZGVmYXVsdC1pY29ucywgJHNpdGUtaWNvbnMtY3VzdG9tLW5ldy1jYWxsLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxudGFibGUuY2FsbC10YWJsZSwgLnJlc3BvbnNpdmUtcmV2ZWFsLXRhYmxlIHtcclxuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICB9XHJcbiAgICAkY2FsbHMtdGFibGUtcm93LXBhZGRpbmc6IDEwcHg7XHJcbiAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6ICRjYWxscy10YWJsZS1yb3ctcGFkZGluZztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJGNhbGxzLXRhYmxlLXJvdy1wYWRkaW5nO1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB9XHJcbiAgICAmLmVucXVpcnktdGFibGUge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLm5vdGlmaWNhdGlvbi1jb2wge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogKG1hcC1nZXQoJHRhYmxlLXJvdy1ub3RpZmljYXRpb24td2lkdGgsIGRlZmF1bHQpICsgMTApO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubm90aWZpY2F0aW9uLWNvbnRlbnQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6ICRjYWxscy10YWJsZS1yb3ctcGFkZGluZztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC51bnJlYWQtY29sIHtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgfVxyXG4gICAgdGQuY2FsbC1udW1iZXItY29sLCB0aC5jYWxsLW51bWJlci1jb2wsIC5jYWxsLW51bWJlci1jb2wge1xyXG4gICAgICAgIC8vIG1heC13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgd2lkdGg6IDkwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDglO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmN1c3RvbWVyLW5hbWUtY29sLCB0aC5jdXN0b21lci1uYW1lLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTIlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aGFzKC5yYXRpbmctY29sKSB7XHJcbiAgICAgICAgdGQuc3ViamVjdC1jb2wsIHRoLnN1YmplY3QtY29sLCAuc3ViamVjdC1jb2wge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuc3ViamVjdC1jb2wsIHRoLnN1YmplY3QtY29sLCAuc3ViamVjdC1jb2wge1xyXG4gICAgICAgIHdpZHRoOiA1NSU7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDcwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjMuNyU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQuc2VydmljZS1jb250cmFjdC1jb2wsIHRoLnNlcnZpY2UtY29udHJhY3QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMS41JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5jYWxsLWNvbnRhY3QtY29sLCB0aC5jYWxsLWNvbnRhY3QtY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQudXNlci1jb250YWN0LWNvbCwgdGgudXNlci1jb250YWN0LWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAlO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmNyZWF0ZWQtY29sLCB0aC5jcmVhdGVkLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNy43JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5sYXN0LXVwZGF0ZWQsIHRoLmxhc3QtdXBkYXRlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogNy43JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5yYXRpbmctY29sLCB0aC5yYXRpbmctY29sIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC51cmdlbmN5LWNvbCwgdGgudXJnZW5jeS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDclO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnR5cGUtY29sLCB0aC50eXBlLWNvbCB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA3JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnNvdXJjZS1jb2wsIHRoLnNvdXJjZS1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDclO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmRhdGEtdGltZS1jb2wsIHRoLmRhdGUtdGltZS1jb2wge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE2JTtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0ZC5ub3Rlcy1jb2wsIHRoLm5vdGVzLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLnRpbWVzdGFtcC1jb2wsIHRoLnRpbWVzdGFtcC1jb2wge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRkLmNoYW5nZXMtY29sLCB0aC5jaGFuZ2VzLWNvbCB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGQucGVuZGluZy1jaGFuZ2VzLWluZm8tY29sIHtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEFzIHdlIGFkZCBhIHBhZGRpbmcgUiArIEwgdG8gdGhlIHRkIHdlIG5lZWQgdG8gY29tcGVuc2F0ZSBmb3IgdGhhdC5cclxuICAgIC5lbGxpcHNpcy10ZXh0OmhvdmVyIHtcclxuICAgICAgICBsZWZ0OiAtNXB4O1xyXG4gICAgfVxyXG4gICAgLy8gUHJldmVudCBsb25nIHN0cmluZ3Mgb2YgdGV4dCBmcm9tIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIuXHJcbiAgICAuY2FsbC1ub3Rlcy1jb250YWluZXIge1xyXG4gICAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xyXG4gICAgfVxyXG4gICAgdHIuY2FsbC1jbG9zZWQge1xyXG4gICAgICAgIHRkIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgbm90KFwiLnJhdGluZy1jb2xcIiwgXCIudW5yZWFkLWNvbFwiKSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5lbnF1aXJ5LWZpbHRlcnMge1xyXG4gICAgbGFiZWwge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHNwYW4uY2hlY2tib3gsIHNwYW4ucmFkaW8ge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5sYWJlbCB7XHJcbiAgICAgICAgd2lkdGg6IDgwJTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uY2FsbC10eXBlLWljb24ge1xyXG4gICAgd2lkdGg6IDE2cHg7XHJcbiAgICBoZWlnaHQ6IDE2cHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgLy8gRml4IGZvciBpY29ucyBub3cgc2hvd2luZyBpbiBwcmludGVyIG1vZGUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNjY3MDE1MS9ob3ctY2FuLWktZm9yY2UtYnJvd3NlcnMtdG8tcHJpbnQtYmFja2dyb3VuZC1pbWFnZXMtaW4tY3NzLiBcclxuICAgIHByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XHJcbiAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IFxyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZXhwcmVzcy1kZWZhdWx0LWljb25zO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogJGNhbGwtZW5xdWlyeS1pY29uLXNpemU7XHJcbiAgICAgICAgY29sb3I6ICRjYWxsLWVucXVpcnktaWNvbi1jb2xvdXI7XHJcbiAgICB9XHJcbiAgICAvLyBTcGVjaWZpY2FsbHkgZm9yIHRoZSBzdGF0aWMgYnVpbGQuXHJcbiAgICAmLmRlbW8ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAmLmF0dGFjaG1lbnQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1BdHRhY2htZW50LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmF0dGFjaG1lbnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtYXR0YWNobWVudCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNhbGwtcHJpdmFjeSB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNhbGxQcml2YWN5LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNhbGwtcHJpdmFjeTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1wcml2YWN5KTtcclxuICAgIH1cclxuICAgIC8vICYuY2FsbC10eXBlIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q2FsbFR5cGUucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY2FsbC10eXBlOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXR5cGUpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jbGFzc2lmaWNhdGlvbiB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUNsYXNzaWZpY2F0aW9uLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNsYXNzaWZpY2F0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWNsYXNzaWZpY2FpdG9uKTtcclxuICAgIH1cclxuICAgIC8vICYuY29tcGxldGVkIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q29tcGxldGVkLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNvbXBsZXRlZDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1jb21wbGV0ZSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNvbnRhY3Qge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Db250YWN0LnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNvbnRhY3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY29udGFjdCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNvbnRyYWN0IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q29udHJhY3QucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuY29udHJhY3Q6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY29udHJhY3QpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5jb250cmFjdC10eXBlIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259Q29udHJhY3RUeXBlLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNvbnRyYWN0LXR5cGU6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY29udHJhY3QtdHlwZSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmNyZWF0ZWQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1DcmVhdGVkLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLmNyZWF0ZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtY3JlYXRlZCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmRlZmVycmVkIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259RGVmZXJyZWQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuZGVmZXJyZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtZGVmZXJyZWQpO1xyXG4gICAgfVxyXG4gICAgLy8gJi5lc2NhbGF0aW9uIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259RXNjYWxhdGlvbi5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5lc2NhbGF0aW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWVzY2FsYXRpb24pO1xyXG4gICAgfVxyXG4gICAgLy8gJi5pbXBhY3Qge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1JbXBhY3QucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuaW1wYWN0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWltcGFjdCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmluYm91bmQtcGhvbmUtY2FsbCB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufUluYm91bmRQaG9uZUNhbGwucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuaW5ib3VuZC1waG9uZS1jYWxsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWluYm91bmQtcGhvbmUtY2FsbCk7XHJcbiAgICB9XHJcbiAgICAvLyAmLmluZm9ybWF0aW9uIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259SW5mb3JtYXRpb24ucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuaW5mb3JtYXRpb246YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtaW5mb3JtYXRpb24pO1xyXG4gICAgfVxyXG4gICAgLy8gJi5saW5rIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259TGluay5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5saW5rOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLWxpbmspO1xyXG4gICAgfVxyXG4gICAgLy8gJi5vdXRib3VuZC1waG9uZS1jYWxsIHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259T3V0Ym91bmRQaG9uZUNhbGwucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYub3V0Ym91bmQtcGhvbmUtY2FsbDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1vdXRib3VuZC1waG9uZS1jYWxsKTtcclxuICAgIH1cclxuICAgIC8vICYucHJpb3JpdHkge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Qcmlvcml0eS5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5wcmlvcml0eTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1wcmlvcml0eSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLnJlc3BvbnNpYmlsaXR5IHtcclxuICAgIC8vICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skY2FsbC10eXBlLWljb24tbG9jYXRpb259UmVzcG9uc2liaWxpdHkucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYucmVzcG9uc2libGl0eTpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1yZXNwb25zaWJpbGl0eSk7XHJcbiAgICB9XHJcbiAgICAvLyAmLnNob3J0Y3V0LXNlbnQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1TaG9ydGN1dFNlbnQucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuc2hvcnRjdXQtc2VudDpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS1zaG9ydGN1dC1zZW50KTtcclxuICAgIH1cclxuICAgIC8vICYuc2xhLWluY2x1c2lvbiB7XHJcbiAgICAvLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JGNhbGwtdHlwZS1pY29uLWxvY2F0aW9ufVNMQUluY2x1c2lvbi5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi5zbGEtaW5jbHVzaW9uOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXNsYS1pbmNsdXNpb24pO1xyXG4gICAgfVxyXG4gICAgLy8gJi5zdGF0dXMge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1TdGF0dXMucG5nKTtcclxuICAgIC8vIH1cclxuICAgICYuc3RhdHVzOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC10eXBlLXN0YXR1cyk7XHJcbiAgICB9XHJcbiAgICAvLyAmLnVuZGVmZXJyZWQge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1VbmRlZmVycmVkLnBuZyk7XHJcbiAgICAvLyB9XHJcbiAgICAmLnVuZGVmZXJyZWQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtdW5kZWZlcnJlZCk7XHJcbiAgICB9XHJcbiAgICAmLnVyZ2VuY3k6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXR5cGUtdXJnZW50KTtcclxuICAgIH1cclxuICAgIC8vICYud29ya2Zsb3cge1xyXG4gICAgLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRjYWxsLXR5cGUtaWNvbi1sb2NhdGlvbn1Xb3JrZmxvdy5wbmcpO1xyXG4gICAgLy8gfVxyXG4gICAgJi53b3JrZmxvdzpiZWZvcmUge1xyXG4gICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNhbGwtdHlwZS13b3JrZmxvdyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jYWxsLXNvdXJjZS1pY29uIHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgfVxyXG4gICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6ICRjYWxsLWVucXVpcnktaWNvbi1zaXplO1xyXG4gICAgICAgIGNvbG9yOiAkY2FsbC1lbnF1aXJ5LWljb24tY29sb3VyO1xyXG4gICAgfVxyXG4gICAgLy8gU3BlY2lmaWNhbGx5IGZvciB0aGUgc3RhdGljIGJ1aWxkLlxyXG4gICAgJi5kZW1vIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMzBweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnVzZXI6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXNvdXJjZS11c2VyKTtcclxuICAgIH1cclxuICAgICYucG9ydGFsOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY2FsbC1zb3VyY2UtcG9ydGFsKTtcclxuICAgIH1cclxuICAgICYuZW1haWw6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjYWxsLXNvdXJjZS1lbWFpbCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50YWJsZS1oZWFkaW5nIHtcclxuICAgIG1hcmdpbjogJG1hbmFnZS1jYWxscy10YWJsZS1oZWFkaW5nLW1hcmdpbjtcclxufSIsIi8qXHJcbi0tLS0tIEJhY2sgdG8gdG9wIC0tLS0tLSBcclxuVGhpcyBpcyB0aGUgYnV0dG9uIHRoYXQgYXBwZWFyIGF0IHRoZSBib3R0b20gb2YgdGhlIHBhZ2UgdGhhdCB0YWtlcyB5b3UgYmFjayB0byB0aGUgdG9wIG9mIHRoZSB2aWV3cG9ydC5cclxuKi9cclxuXHJcbi5iYWNrLXRvcC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IHNtYWxsLXZhbHVlKCRiYWNrLXRvLXRvcC1idXR0b24td2lkdGgpO1xyXG4gICAgaGVpZ2h0OiBzbWFsbC12YWx1ZSgkYmFjay10by10b3AtYnV0dG9uLWhlaWdodCk7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBAaWYgJGJhY2stdG8tdG9wLXBvc2l0aW9uLXJpZ2h0IHtcclxuICAgICAgICByaWdodDogbWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBzbWFsbCk7XHJcbiAgICAgICAgYm90dG9tOiAobWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBzbWFsbCkgKyA2MCk7IC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIGZvciBzdGljayBidXR0b25zIGZvciBtYW5hZ2UgY2FsbHMuXHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSB0byBhY2NvdW50IGZvciB0aGUgcmVjYXB0Y2hhIGJhZGdlLlxyXG4gICAgICAgIGJvdHRvbTogKG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgc21hbGwpICsgNjApOyAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSBmb3Igc3RpY2sgYnV0dG9ucyBmb3IgbWFuYWdlIGNhbGxzLlxyXG4gICAgICAgIGxlZnQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgc21hbGwpO1xyXG4gICAgfVxyXG4gICAgei1pbmRleDogMTUwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICB3aWR0aDogbGFyZ2UtdmFsdWUoJGJhY2stdG8tdG9wLWJ1dHRvbi13aWR0aCk7XHJcbiAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkYmFjay10by10b3AtYnV0dG9uLWhlaWdodCk7XHJcbiAgICAgICAgQGlmICRiYWNrLXRvLXRvcC1wb3NpdGlvbi1yaWdodCB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIGxhcmdlKTtcclxuICAgICAgICAgICAgYm90dG9tOiAobWFwLWdldCgkYmFjay10by10b3AtZGlzdGFuY2UtZnJvbS1lZGdlLCBsYXJnZSkgKyA2MCk7IC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIGZvciBzdGljayBidXR0b25zIGZvciBtYW5hZ2UgY2FsbHMuXHJcbiAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgIC8vIEFkZGluZyBhZGRpdGlvbmFsIHNwYWNlIHRvIGFjY291bnQgZm9yIHRoZSByZWNhcHRjaGEgYmFkZ2UuXHJcbiAgICAgICAgICAgIGJvdHRvbTogKG1hcC1nZXQoJGJhY2stdG8tdG9wLWRpc3RhbmNlLWZyb20tZWRnZSwgbGFyZ2UpICsgNjApOyAvLyBBZGRpbmcgYWRkaXRpb25hbCBzcGFjZSBmb3Igc3RpY2sgYnV0dG9ucyBmb3IgbWFuYWdlIGNhbGxzLlxyXG4gICAgICAgICAgICBsZWZ0OiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1kaXN0YW5jZS1mcm9tLWVkZ2UsIGxhcmdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYWNrLXRvcC1idXR0b24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgJ2JhY2stdG8tdG9wJyk7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoJGJhY2stdG8tdG9wLWJvcmRlci1yYWRpdXMpO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGJhY2stdG8tdG9wLWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogc21hbGwtdmFsdWUoJGJhY2stdG8tdG9wLWljb24tc2l6ZSk7IFxyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IGxhcmdlLXZhbHVlKCRiYWNrLXRvLXRvcC1pY29uLXNpemUpOyBcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyLCAmOmhvdmVyLmFjdGl2ZSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaWYgJGJhY2stdG8tdG9wLWJ1dHRvbi1ncmFkaWFudCB7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmFjay10by10b3AtYnV0dG9uLWdyYWRpYW50O1xyXG4gICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkYmFjay10by10b3AtYm9yZGVyLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybzsgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJjphY3RpdmUsICY6YWN0aXZlOmFjdGl2ZXtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGJhY2stdG8tdG9wLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRiYWNrLXRvLXRvcC1ib3JkZXItY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgb3BhY2l0eTogLjc7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBTZWN0aW9ucyAtLS0tLSBcclxuQXhpcyB0b2dnbGVyIGlzIGJ1aWxkIG9uIHRvcCBvZiBGb3VuZGF0aW9uJ3MgVG9nZ2xlciBodHRwczovL2dldC5mb3VuZGF0aW9uL3NpdGVzL2RvY3MvdG9nZ2xlci5odG1sIGFuZCBpcyBzaW1pbGFyIHRvIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb24vc2l0ZXMvZG9jcy9hY2NvcmRpb24uaHRtbCBidXQgc29tZXRpbWVzIGl0IGlzIG5vdCBwb3NzaWJsZSBjb252ZW5pZW50IHRvIGJ1aWxkIHRoZSBzZWN0aW9uKHMpIGluIDx1bD4gb3IgaW4gZGVza3RvcCB5b3UgcmVxdWlyZSB0aGUgbGF5b3V0IHRvIGJlIGNvbXBsZXRlbHkgZGlmZmVyZW50IHRvIG1vYmlsZS5cclxuKi9cclxuXHJcbi5heGlzLXNlY3Rpb24ge1xyXG4gICAgLy8gQWxsb3cgZ3JpZC1tYXJnaW4teSBoYW5kbGUgdGhpcy5cclxuICAgIG1hcmdpbjogMDtcclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmVhZC1tb3JlLW9wZW4pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5heGlzLXNlY3Rpb24tY29udGVudCB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmF4aXMtc2VjdGlvbi1idXR0b25zIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmV2ZWFsLWVuYWJsZWQge1xyXG4gICAgICAgICY6bm90KC5hY3RpdmUpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgLmF4aXMtc2VjdGlvbi1oZWFkZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWFyZ2luLWJvdHRvbSAkdHJhbnNpdGlvbkludHJvLCBwYWRkaW5nLWJvdHRvbSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy03KTtcclxuICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgIC5heGlzLXNlY3Rpb24taGVhZGVyIHtcclxuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogZGlzYWJsZWQtY29sb3VyKCRpbnB1dC1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYXhpcy1zZWN0aW9uLWhlYWRlciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByZWFkLW1vcmUtY2xvc2VkKTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpOyBcclxuICAgICAgICBmb250LXNpemU6ICRheGlzLXNlY3Rpb25zLWhlYWRlci1zdGF0dXMtaWNvbi1zaXplO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBsaW5lLWhlaWdodDogJGF4aXMtc2VjdGlvbnMtaGVhZGVyLWZvbnQtc2l6ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmF4aXMtc2VjdGlvbi1jb250ZW50IHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCgkcGFyYWdyYXBoLWZvbnQtc2l6ZSAtIDEpKTtcclxuICAgIH1cclxuICAgIC5jbXMtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5heGlzLXNlY3Rpb24tYnV0dG9ucyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59IiwiLypcclxuXHJcbi0tLS0tIEVsbGlwc2lzIC0tLS0tIFxyXG5XaGVuIHRoZSBjb250ZW50IGlzIHRvbyBsb25nZXIgdG8gZml4IHdpdGhpbiBhIHRhYmxlIGNlbGwgKCBmb3IgZXhhbXBsZSApIGFsbG93IHRoZSB1c2VyIHRvIHNob3cgb3ZlcmZsb3dpbmcgdGV4dCBieSBob3ZlcmluZy5cclxuXHJcbklNUE9SVEFOVDogVGhpcyBvbmx5IHdvcmtzIHdpdGggc2luZ2xlIGxpbmVzIG9mIHRleHQsIG11bHRpLWxpbmUgeW91IHdpbGwgbmVlZCB0byBsb29rIGludG8gLS13ZWJraXQtbGluZS1jbGFtcC5cclxuKi9cclxuXHJcbi5lbGxpcHNpcy10ZXh0LWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuXHJcbi5lbGxpcHNpcy10ZXh0IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrOyAgXHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAgXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgfVxyXG4gICAgJi5lbGxpcHNpcy1hY3RpdmUge1xyXG4gICAgICAgIG1hc2staW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgYmxhY2sgNTAlLCB0cmFuc3BhcmVudCAxMDAlKTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0O1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MztcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICBtYXNrLWltYWdlOiBub25lO1xyXG4gICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGUgYW55IGFuY2hvciBvcGFjaXR5LlxyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvKlxyXG4tLS0tLSBCbHVyIC0tLS0tLSBcclxuVGhlIGVmZmVjdCB0aGF0IGdldHMgYXBwbGllZCB0aGUgaGVhZGVyLCBtYWluICYgZm9vdGVyIHdoZW4gYSBtb2RhbCBvciBtZW51IGlzIG9wZW4sIGVzc2VudGlhbGx5IGJsdXIncyBvdXQgdGhlIGNvbnRlbnQgaW4gdGhlIGJhY2tncm91bmQgd2hlbiBzb21ldGhpbmcgaXMgb3ZlcmxheWluZyB0aGUgcGFnZSdzIG1haW4gY29udGVudC5cclxuKi9cclxuXHJcblxyXG4vLy0tLSBCbHVyIEVmZmVjdCAtLS1cclxuQGlmIG5vdCAkZW1haWxUZW1wbGF0ZSB7XHJcbiAgICAvL0RPRVNOJ1QgV09SSyBJTiBJRSBPUiBFREdFXHJcbiAgICAuYmx1ciB7XHJcbiAgICAgICAgLS1kZWZ1c2UtYW5pbWF0aW9uOiBkZWZ1c2VCbHVyIC4zcyBmb3J3YXJkcztcclxuICAgICAgICBmaWx0ZXI6IGJsdXIoMTBweCk7XHJcbiAgICAgICAgYW5pbWF0aW9uOiBibHVyIDAuNnM7XHJcbiAgICAgICAgJi5kZWZ1c2Uge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMCk7XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogZGVmdXNlQmx1ciAwLjNzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBrZXlmcmFtZXMgZGVmdXNlQmx1ciB7XHJcbiAgICAgICAgMCUge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGJsdXIoMTBweCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgMjAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDhweCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgNDAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDZweCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgNjAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDRweCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgODAlIHtcclxuICAgICAgICAgICAgZmlsdGVyOiBibHVyKDJweCk7XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgMTAwJSB7XHJcbiAgICAgICAgICAgIGZpbHRlcjogYmx1cigwcHgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhpcyBnZXRzIGNsaWNrIHRvIGRpc2FibGUgdGhlIGJsdXIgZWZmZWN0IG9uIGNvbnRlbnQuXHJcbiNwYWdlT3ZlcmxheSwgLmJsdXItb3ZlcmxheSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgb3BhY2l0eTogMC4xO1xyXG59IiwiLypcclxuXHJcbi0tLS0gU3RhdGljIC0tLS0gXHJcbkRlZGljYXRlZCBzcGVjaWZpY2FsbHkgdG93YXJkcyB0aGUgbGFuZGluZyBwYWdlIGZvciB0aGUgc3RhdGljIGxhbmRpbmcgcGFnZSBmb3IgZXhwcmVzcy5cclxuXHJcbiovXHJcblxyXG5AaWYgKCRzaXRlID09IFwic3RhdGljXCIpIHtcclxuICAgIGhlYWRlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEN1c3RvbSBzdHlsZXNoZWV0cyBsaW5rLlxyXG4gICAgLmRlbW8tbGluayB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaXRlLWxvZ28ge1xyXG4gICAgICAgICAgICAvLyBEdWUgdG8gdGhlIHZhcmlhdGlvbiBpbiBoZWlnaHRzIGJldHdlZW4gc2l0ZSBsb2dvJ3Mgd2UgbmVlZCB0byBzZXQgYSBoZWlnaHQ7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTgwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbiAgICAuc2l0ZS1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIH1cclxuICAgIC5zaXRlLWFyZWEtcGFnZXMge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gRWZmZWN0IGFsbCB1bCdzLlxyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2UtdmFyaWFudHMtY29udGFpbmVyIHtcclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnBhZ2UtdmFyaWFudCB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDIuNXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zaXRlLWFyZWEtY2VsbC1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zaXRlLWFyZWEtY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjdGVtcGxhdGUtZXhwcmVzcy1wYWdlLWxpc3Qge1xyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTmVlZCB0aGlzIHNwZWNpZmljYWxseSBmb3IgdGhlIG1vZHVsZXMgdGVzdCBwYWdlcy5cclxuXHJcbiRtb2R1bGVzLWNvbnRyb2wtYnV0dG9ucy1ndXR0ZXI6IDEwcHg7XHJcbiRtb2R1bGVzLWJ1dHRvbi1pY29uLXNpemU6IDE2cHg7XHJcbiRtb2R1bGVzLWJ1dHRvbi1wYWRkaW5nOiA1cHggMTBweDtcclxuXHJcblxyXG4ubW9kdWxlcy10ZXN0LXBhZ2UtaGVhZGVyIHtcclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy02O1xyXG59XHJcblxyXG4ucm93LWJhY2tncm91bmQuZ3JpZC1jb250YWluZXIge1xyXG4gICAgLm1vZHVsZXMtY29udHJvbC1wYW5lbC5tb2R1bGUtY29udHJvbHMge1xyXG4gICAgICAgIC8vIE1ha2luZyBzdXJlIHRoYXQgcm93IGFuZCBtb2R1bGUgY29udHJvbCBwYW5lbHMgY2FuIG5ldmVyIG92ZXJsYXAgKCBpLmUgaW4gY29udGFpbmVkIHZpZXcgKS5cclxuICAgICAgICB0b3A6ICN7KCRtb2R1bGVzLWNvbnRyb2wtYnV0dG9ucy1ndXR0ZXIgKyBzcGFjaW5nLXZhbHVlKCRtb2R1bGVzLWJ1dHRvbi1wYWRkaW5nLCAxKSArICRtb2R1bGVzLWJ1dHRvbi1pY29uLXNpemUgKyA1KX07XHJcbiAgICB9XHJcbn1cclxuXHJcbi5ncmlkLWNvbnRhaW5lciB7XHJcbiAgICAubW9kdWxlcy1jb250cm9sLXBhbmVsIHtcclxuICAgICAgICAmLm1vZHVsZS1jb250cm9scyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZXMtY29udHJvbC1wYW5lbCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAmLnJvdy1jb250cm9scyB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gU28gdGhlIGNvbnRyb2xzIGRvbid0IG92ZXJsYXAgd2hlbiB0aGVyZSBpcyBubyBncmlkLWNvbnRhaW5lci5cclxuICAgICYubW9kdWxlLWNvbnRyb2xzIHtcclxuICAgICAgICB0b3A6IDUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2R1bGVzLWNvbnRyb2wtYnV0dG9ucyB7XHJcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGdhcDogJG1vZHVsZXMtY29udHJvbC1idXR0b25zLWd1dHRlcjtcclxuICAgIHBhZGRpbmc6ICRtb2R1bGVzLWNvbnRyb2wtYnV0dG9ucy1ndXR0ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgIG9wYWNpdHk6IDAuNTtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxuICAgIC8vIEJ1dHRvbiBzdHlsZXMuXHJcbiAgICAubW9kdWxlcy1jb250cm9sLWJ1dHRvbiB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD10cnVlXSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBib3JkZXItY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubW9kdWxlLWluZm8ge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFxmMTI5JztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm1vZHVsZXMtaW5mby1jb250YWluZXIge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2lkdGg6IDMyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMTAwMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgd2lkdGg6IDUwMHB4O1xyXG4gICAgfVxyXG4gICAgLm1vZHVsZXMtaW5mby1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG91cjM7XHJcbiAgICB9XHJcbiAgICAuZ2VuZXJhbC1pbmZvcm1hdGlvbi1wYW5lbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICB9XHJcbiAgICAuY29udGVudCB7XHJcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcclxuICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXI0O1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgPiB1bCA+IGxpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMztcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBoNCwgaDUsIGg2IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygoJHBhcmFncmFwaC1mb250LXNpemUpKTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDQsIGg1IHtcclxuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBoNCwgaDUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDYge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHN0cm9uZyB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIjpcIjtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcblxyXG4tLS0tIFN0b2NraXN0IC0tLS0gXHJcblNwZWNpZmljYWxseSBmb3IgdGhlIHN0b2NraXNoIGNvbXBvbmVudDogXHJcbi0gU29ydGluZyBhcmVhXHJcbi0gU2VhcmNoIHJlc3VsdHMgXHJcbi0gSW50ZXJhY3RpdmUgbWFwXHJcblxyXG4qL1xyXG5cclxuXHJcbi8vIC0tLS0tIFNvcnRpbmcgQXJlYSAtLS0tLS1cclxuLmludGVyYWN0aXZlLW1hcC1zb3J0aW5nLW9wdGlvbnMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgfVxyXG4gICAgLnNvcnRpbmctb3B0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkc29ydGluZy1vcHRpb25zLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc29ydGluZy1vcHRpb25zLWZvbnQtd2VpZ2h0O1xyXG4gICAgICAgICAgICBjb2xvcjogJHNvcnRpbmctb3B0aW9ucy1jb2xvdXI7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wuc2VhcmNoIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbiAgICAuYWRkcmVzcy1zZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgICBpbnB1dCB7XHJcbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyOTBweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAucHJvZHVjdC1maWx0ZXItY29udGFpbmVyIHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBmaWx0ZXIpO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWZpbHRlci1pY29uKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkaW50ZXJhY3RpdmUtbWFwLWZpbHRlci1pY29uLWNvbG91cjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zZXBhcmF0b3Ige1xyXG4gICAgICAgIG1hcmdpbjogN3B4IDAgMnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xyXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDI1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbn1cclxuXHJcbi8vIC0tLS0tIENvbW1vbiBzdHlsZXMgZm9yIHNlYXJjaCByZXN1bHRzICsgaW50ZXJhY3RpdmUgbWFwIC0tLS0tIFxyXG4uc3RvY2tpc3QtY29udGFpbmVyIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGdhcDogMjBweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIH1cclxuICAgICYuYWN0aXZlIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XHJcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwdmg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIC0tLS0tIFNlYXJjaCBSZXN1bHRzIC0tLS0tXHJcbi5pbnRlcmFjdGl2ZS1tYXAtc2VhcmNoLXJlc3VsdHMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHBhZGRpbmc6IDE1cHggMjBweCAxNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtNTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHggNDBweDtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG4gICAgbGkge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4O1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMy0yO1xyXG4gICAgfVxyXG4gICAgLmhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxLjUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZXN1bHQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIH1cclxuICAgIC5yZXN1bHRzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hZGRyZXNzIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICsgLnRlbGVwaG9uZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICsgLnJlc3VsdC1idXR0b24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnRlbGVwaG9uZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ud2Vic2l0ZS1idXR0b24ge1xyXG4gICAgQGluY2x1ZGUgY29tbW9uLWJ1dHRvbi0xKDVweCAzMHB4LCAkcHJpbWFyeS1idXR0b24tYmFja2dyb3VuZC1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1jb2xvdXIsICRwcmltYXJ5LWJ1dHRvbi1ib3JkZXItY29sb3VyLCAxMiwkY29tbW9uLWJ1dHRvbi1mb250LXdlaWdodCwgKG1vYmlsZS13aWR0aDogMTAwJSwgd2lkdGg6IGZpdC1jb250ZW50KSwgKDAgNDBweCAwIDAsIDApKTtcclxufVxyXG5cclxuLy8gLS0tLS0gSW50ZXJhY3RpdmUgTWFwIC0tLS0tXHJcbi5pbnRlcmFjdGl2ZS1tYXAtbG9jYXRpb24tYnV0dG9uIHtcclxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbG9jYXRpb24pO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0LTM7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLmludGVyYWN0aXZlLW1hcC1jb250YWluZXIge1xyXG4gICAgbWluLWhlaWdodDogNjB2aDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB9XHJcbn1cclxuLmludGVyYWN0aXZlLW1hcCB7XHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYm94LXNoYWRvdzogJGJveFNoYWRvdzI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgfVxyXG59XHJcbi5vcmdhbmlzYXRpb24tY29udGFpbmVyIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG59XHJcbi5pbnRlcmFjdGl2ZS1tYXAtbm8tcmVzdWx0cyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmluZm8td2luZG93LWFkZHJlc3MtdGl0bGUge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi5pbmZvLXdpbmRvdy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAuaW5mby13aW5kb3ctYWRkcmVzcywgLnRlbGVwaG9uZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5mby13aW5kb3ctYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIFRyZWUgTWVudSAtLS0tLVxyXG5cclxuKi9cclxuXHJcblxyXG4udHJlZS1tZW51IHtcclxuXHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XHJcblx0XHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0fVxyXG4gICAgLy8gQ29tbW9uIFN0eWxlcy5cclxuICAgIHVsIHtcclxuXHRcdHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdGxpIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0fVxyXG5cdFx0bGkgPiAubm9kZS1jb250ZW50LWNvbnRhaW5lciB7XHJcblx0XHRcdG1heC1oZWlnaHQ6IDA7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuXHRcdH1cclxuXHRcdGxhYmVsIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtb3Blbik7XHJcblx0XHRcdFx0d2lkdGg6ICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplO1xyXG5cdFx0XHRcdGhlaWdodDogJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemU7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuXHRcdFx0XHRib3JkZXI6IDJweCBzb2xpZCAkY29sb3VyMTtcclxuXHRcdFx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuXHRcdFx0XHRmb250LXNpemU6ICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1mb250LXNpemU7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogJGJvcmRlclJhZGl1czI7XHJcblx0XHRcdFx0ei1pbmRleDogMTtcclxuXHRcdFx0fVxyXG5cdFx0XHQubGFiZWwge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdFx0Y29sb3I6ICRjb2xvdXI0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRsYWJlbC5hY3RpdmUge1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdHJlZS1tZW51LWNsb3NlKTtcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyBDaGlsZCBub2Rlcy5cclxuXHRcdFx0JiB+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyIHtcclxuXHRcdFx0XHQvLyBUT0RPOiB0aGlzIG5lZWRzIHRvIGJlIG1hZGUgZHluYW1pY2FsbHkuXHJcblx0XHRcdFx0Ly8gbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybywgaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcblx0XHRcdH1cclxuXHRcdH1cclxuICAgIH1cclxuXHQvLyBMZXZlbCAxXHJcbiAgICA+IHVsIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuXHRcdD4gbGkge1xyXG5cdFx0XHQ+IGxhYmVsIHtcclxuXHRcdFx0XHRwYWRkaW5nOiBzbWFsbC12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTEtbGFiZWwtcGFkZGluZyk7XHJcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogJHRyZWUtbWVudS1ub2RlLXNlcGVyYXRvci1ib3JkZXI7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogbGFyZ2UtdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0xLWxhYmVsLXBhZGRpbmcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQubGFiZWwge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygyMCk7XHJcblx0XHRcdFx0XHRjb2xvcjogJGNvbG91cjE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCY6bm90KC50cmVlLW1lbnUtcGFyZW50KSB7XHJcblx0XHRcdFx0Lm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1yaWdodDogMTBweDtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMTVweDtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDIwcHggc29saWQgJGNvbG91cjE7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMzBweDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gTGV2ZWwgMlxyXG5cdFx0XHQ+IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwge1xyXG5cdFx0XHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0XHRcdFx0XHQvLyBVc2VkIHRvIHNob3cgdGhlIGxldmVsIDIgbm9kZXMgaW4gZ3JvdXBzLlxyXG5cdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogJHRyZWUtbWVudS1ub2RlLXNlcGVyYXRvci1ib3JkZXI7XHJcblx0XHRcdFx0fVx0XHJcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdGJvcmRlci1ib3R0b206IDIwcHggc29saWQgJGNvbG91cjE7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogJHRyZWUtbWVudS1ub2RlLXNlcGVyYXRvci1ib3JkZXI7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRsYWJlbCB7XHJcblx0XHRcdFx0XHRcdC5sYWJlbCB7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHBhZGRpbmc6IDAgNXB4O1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiBsYXJnZS12YWx1ZSgkdHJlZS1tZW51LWxldmVsLTItbGFiZWwtcGFkZGluZyk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQmLmFjdGl2ZSB7XHJcblx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdHRvcDogI3soKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgKyAxMCl9O1xyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KDUgKyBzcGFjaW5nLXZhbHVlKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxKX07XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAjeyhzcGFjaW5nLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMi1sYWJlbC1wYWRkaW5nLCAxLCBsYXJnZSkgKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSArIDEwKX07XHJcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAjeyhzcGFjaW5nLXZhbHVlKCR0cmVlLW1lbnUtbGV2ZWwtMi1sYWJlbC1wYWRkaW5nLCA0LCBsYXJnZSkgKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDEpfTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdD4gLm5vZGUtY29udGVudC1jb250YWluZXIgLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG5cdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0bGVmdDogI3soKCR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplIC8gMikgLSAxKX07XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vIExldmVsIDMrICggM3JkIGxldmVsIGFuZCBhbnkgbG93ZXIgKVxyXG5cdFx0XHRcdFx0IC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gdWwge1xyXG5cdFx0XHRcdFx0XHQmOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdFx0XHRcdFx0Jjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMzBweDtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDE3cHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDE4cHg7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0PiBsaSB7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemU7XHJcblx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCAwIDAgI3soJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplKX07XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMnB4O1xyXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRcdFx0XHRcdFx0bGVmdDogI3soJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDF9O1xyXG5cdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWJyYW5jaC1jb2xvdXI7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdFx0XHRcdFx0dG9wOiAjeygoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSArIDEwKX07XHJcblx0XHRcdFx0XHRcdFx0XHRsZWZ0OiAjezUgKyAoJHRyZWUtbWVudS1sZXZlbC1sYWJlbC10ZXh0LW1hcmdpbiArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpIC0gMSl9O1xyXG5cdFx0XHRcdFx0XHRcdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0b3A6ICN7KHNwYWNpbmctdmFsdWUoJHRyZWUtbWVudS1sZXZlbC0yLWxhYmVsLXBhZGRpbmcsIDEsIGxhcmdlKSArICgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpICsgMTApfTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGVmdDogI3soKCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSkgKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSAtIDEpfTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0Ly8gRXh0ZW5kaW5nIGxpbmUgb3RoZXJ3aXNlIGlmIHRoaXMgaXMgbm90IHRoZSBsYXN0IGNoaWxkIHRoZW4gYSBnYXAgd2lsbCBmb3JtIGluIHRoZSB0aGUgdHJlZSdzIGxpbmVzLlxyXG5cdFx0XHRcdFx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRcdFx0XHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0bGFiZWwge1xyXG5cdFx0XHRcdFx0XHRcdFx0LmxhYmVsIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cdFxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHQ+IC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRcdFx0XHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0bGVmdDogLSN7KCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyICkgKyAxKX07XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC50cmVlLW1lbnUtcGFyZW50IHtcclxuXHRcdFx0XHRcdCYuYWN0aXZlIHtcclxuXHRcdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdFx0Y29udGVudDogXCJcIjtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMnB4O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMThweDtcclxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1icmFuY2gtY29sb3VyO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHVsIHtcclxuXHRcdFx0LnRyZWUtbWVudS1wYXJlbnQge1xyXG5cdFx0XHRcdD4gLm5vZGUtY29udGVudC1jb250YWluZXIgPiAudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMnB4O1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IGNhbGMoMTAwJSArICN7JHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemV9KTtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IC0jeyR0cmVlLW1lbnUtbm9kZS1zdGF0dXMtaWNvbi1zaXplfTtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1icmFuY2gtY29sb3VyO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQudHJlZS1hZGRpdGlvbmFsLWluZm9ybWF0aW9uLWNvbnRhaW5lciB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZTtcclxuXHRcdFx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZy1sZWZ0OiAjeygkdHJlZS1tZW51LWxldmVsLWxhYmVsLXRleHQtbWFyZ2luICsgJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUpfTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0dWwge1xyXG5cdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdGxhYmVsIHtcclxuXHRcdFx0XHRcdFx0Ly8gSm9pbnMgbm9kZSB0byB0cmVlLlxyXG5cdFx0XHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogI3soKCR0cmVlLW1lbnUtbGV2ZWwtbGFiZWwtdGV4dC1tYXJnaW4gKyAkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSkgLSAoJHRyZWUtbWVudS1ub2RlLXN0YXR1cy1pY29uLXNpemUgLyAyKSl9O1xyXG5cdFx0XHRcdFx0XHRcdGhlaWdodDogMnB4O1xyXG5cdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdFx0XHR0b3A6ICN7KCgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpICsgMyl9O1xyXG5cdFx0XHRcdFx0XHRcdGxlZnQ6ICN7KCgkdHJlZS1tZW51LW5vZGUtc3RhdHVzLWljb24tc2l6ZSAvIDIpKX07XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRyZWUtbWVudS1icmFuY2gtY29sb3VyO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcbiAgICB9XHJcbiAgICBcclxuXHJcbiAgICAvLyBBc3NldHMgc3R5bGVzLlxyXG4gICAgJi5hc3NldHMge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHRcdD4gdWwge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWFzc2V0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuXHRcdFx0Ly8gT25seSBhZGQgdGhlIGJhY2tncm91bmQgY29sb3VyIHRvIHRoZSBwYXJlbnQgbm9kZSdzIGxhYmVsLlxyXG5cdFx0XHQ+IGxpIHtcclxuXHRcdFx0XHQ+IGxhYmVsIHsgXHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdHJlZS1tZW51LWFzc2V0cy1yb290LWxhYmVsLWJhY2tncm91bmQtY29sb3VyO1xyXG5cdFx0XHRcdH1cdFx0XHJcbiAgICAgICAgICAgIH1cclxuXHRcdH1cclxuICAgIH1cclxuXHJcblx0LmF0dGFjaG1lbnRzLWNvbnRhaW5lciB7XHJcblx0XHR1bCB7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHR9XHJcblx0XHQuYXR0YWNobWVudCB7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHR3aWR0aDogJHRyZWUtbWVudS1jb250ZW50LWljb24td2lkdGg7XHJcblx0XHRcdFx0bWFyZ2luOiAwO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJHRyZWUtbWVudS1jb250ZW50LWljb24tc2l6ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmFsZXJ0LW5vZGUge1xyXG5cdFx0PiBsYWJlbCB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG5cdFx0XHRcdGNvbG9yOiAkY29sb3VyMTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5ub2RlLWNvbnRlbnQtY29udGFpbmVyID4gLmFsZXJ0LWNvbnRhaW5lciB7XHJcblx0XHRcdC50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tYmFja2dyb3VuZCB7XHJcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG5cdFx0XHR9XHJcblx0XHRcdC5hbGVydC12YWx1ZSB7XHJcblx0XHRcdFx0LnZhbHVlLCAubGFiZWwge1xyXG5cdFx0XHRcdFx0Y29sb3I6IG1hcC1nZXQoJGFsZXJ0LWNvbG91ciwgMCk7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC52YWx1ZSB7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHdhcm5pbmcpO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogJHRyZWUtbWVudS1jb250ZW50LWljb24td2lkdGg7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogbWFwLWdldCgkYWxlcnQtY29sb3VyLCAwKTtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAkdHJlZS1tZW51LWNvbnRlbnQtaWNvbi1zaXplO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0XHRcclxuXHR9XHJcbn1cclxuXHJcbi50cmVlLWFkZGl0aW9uYWwtaW5mb3JtYXRpb24tY29udGFpbmVyIHtcclxuXHRtYXgtd2lkdGg6IDcwMHB4O1xyXG5cdHBhZGRpbmc6IDEwcHggMDtcclxuXHQuYWRkaXRpb25hbC1pbmZvcm1hdGlvbiB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdCY6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG5cdFx0XHRtYXJnaW46IDEwcHggMDtcclxuXHRcdH1cclxuXHRcdCY6Zmlyc3Qtb2YtdHlwZSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0XHR9XHJcblx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHR9XHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0XHR9XHJcblx0XHRzcGFuIHtcclxuXHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcblx0XHR9XHJcblx0fVxyXG5cdC5sYWJlbCB7XHJcblx0XHRtYXgtd2lkdGg6IDIyNXB4O1xyXG5cdFx0ZmxleC1ncm93OiAxO1xyXG5cdH1cclxufVxyXG5cclxuLnRyZWUtYWRkaXRpb25hbC1pbmZvcm1hdGlvbi1iYWNrZ3JvdW5kIHtcclxuXHRwYWRkaW5nOiAxMHB4O1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cdEBpZiAoc21vb3RoLWVkZ2VzKCkpIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG5cdH1cclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuXHRib3gtc2hhZG93OiAkYm94U2hhZG93MjtcclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nOiAzMHB4IDIycHg7XHJcblx0fVxyXG59XHJcblxyXG4udHJlZS1tZW51LWhlYWRlciB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdHBhZGRpbmc6IDE1cHggMCAyMHB4O1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcblx0fVxyXG5cdC50cmVlLW1lbnUtY29udHJvbHMge1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQudHJlZS1tZW51LWluZm9ybWF0aW9uIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0cGFkZGluZzogMTBweCAwO1xyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHQudHJlZS1pbmZvcm1hdGlvbiB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHQmLmFsZXJ0IHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0d2lkdGg6IDEwcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRtYXJnaW46IDAgMTBweCAwIDVweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMyO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyAtLS0tLSBUb2dnbGUgYnV0dG9ucyBmb3IgY29sbGFwc2luZyBvciBleHBhbmRpbmcgdGhlIGVudGlyZSB0cmVlIC0tLS0tXHJcbi50cmVlLW1lbnUtZXhwYW5kLXRvZ2dsZSB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGZvbnQtc2l6ZTogLjgxMjVyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRjb2xvcjogJGNvbG91cjQ7XHJcblx0JjphZnRlciB7XHJcblx0XHRjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB0cmVlLW1lbnUtb3Blbik7XHJcblx0XHR3aWR0aDogMThweDtcclxuXHRcdGhlaWdodDogMThweDtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyUmFkaXVzMjtcclxuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRjb2xvdXI0O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcblx0XHRjb2xvcjogJGNvbG91cjQ7XHJcblx0XHRmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG5cdFx0Zm9udC1zaXplOiAkdHJlZS1tZW51LWV4cGFuZC1hbGwtaWNvbi1mb250LXNpemU7XHRcdFx0XHRcclxuXHR9XHJcblx0Ji5hY3RpdmUge1xyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRyZWUtbWVudS1jbG9zZSk7XHJcblx0XHR9XHJcblx0fVxyXG59IiwiLypcclxuLS0tLS0gUmV2aWV3cyAtLS0tLSBcclxuLSBIYW5kbGVzIGludGVyZmFjaW5nIHdpdGggdGhpcmQtcGFydHkgcmV2aWV3IGFwaSdzIGxpa2UgZmVlZm8uXHJcbiovXHJcblxyXG5cclxuLnJhdGluZy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAucmV2aWV3LXN0YXJzIHtcclxuICAgICAgICBtYXJnaW46IDAgMTBweCAwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC5zdGFyLWZ1bGwsIFtjbGFzcyo9cmF0aW5nLWljb25dIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgcmF0aW5nKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcmF0aW5nLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3QtcmV2aWV3cy1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgIH1cclxuICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZXZpZXctZGV0YWlscy1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcbiAgICAuZGlzcGxheS1uYW1lLWNvbnRhaW5lciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAmICsgLmxhc3QtdXBkYXRlZC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnLSc7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kaXNwbGF5LWxvY2F0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICB9XHJcbiAgICAubGFzdC11cGRhdGVkLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjMtMztcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIH1cclxuICAgIC5saXN0LWNvdW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgLmN1cnJlbnQtc2hvd2luZy1jb3VudCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5yZXZpZXdzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuICAgIC5yZXZpZXdzLXBhZ2VyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgJiArIC5yZXZpZXdzLXByb2R1Y3QtZm9vdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvdXIzLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnJldmlld3MtcHJvZHVjdC1mb290ZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZXJ2aWNlLXByb3ZpZGVyLWxvZ28ge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmZlZWZvLWxvZ28ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcjeyRzaGFyZWQtaWNvbnMtZGlyZWN0b3J5fWZlZWZvLWxvZ28ucG5nJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5yZXZpZXdzLXByb2R1Y3QtcmV2aWV3LWFsbC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJldmlldy1zb2NpYWwtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIC5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciArIC5yZXZlYWwtc29jaWFsLWljb25zLWNvbnRhaW5lciB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZWxwZnVsLXZvdGVzLWNvbnRhaW5lciB7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgLmhlbHBmdWwtdm90ZXMtZGlzcGxheSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCB2b3RlLXVwKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4iLCIvKlxyXG4tLS0tLSBQYWdlIFNlY3Rpb24gQ29sb3VycyAtLS0tLVxyXG5UaGUgcHVycG9zZSBvZiB0aGlzIGlzIGlzIHRvIGFkZCBiYWNrZ3JvdW5kLWNvbG91cnMgdG8gc3BlY2lmaWMgc2VjdGlvbnMgb24gc3BlY2lmaWMgcGFnZXMgYWNyb3NzIGV4cHJlc3MgdXNpbmcgdGhlIGJvZHkgaWQsIHNvIGEgcG90ZW50aWFsIGNvbmZpZyBjb3VsZCBsb29rIGxpa2UgdGhpczpcclxuXHJcbmhlYWRlci11c3AtYmFyOiAoXHJcbiAgICBiYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjMtMSxcclxuICAgIHBhZ2VzOiAoXCJob21lcGFnZVwiKVxyXG4pXHJcblxyXG5UaGUgdG9wIGxldmVsIG1hcCBrZXkgaXMgdGhlIGNsYXNzIG9mIHRoZSBlbGVtZW50IHRoYXQgeW91IHdhbnQgdG8gZWZmZWN0IHRoZW4gaW5zaWRlIG9mIHRoYXQgaXMgdGhlIGNvbmZpZ3VyYXRpb24gaS5lIGJhY2tncm91bmQgY29sb3VyICsgd2hpY2ggcGFnZXMgdG8gYXBwbHkgdGhpcyB0byB3aGljaCBpcyBhIGxpc3Qgb2YgYm9keSBpZCdzLlxyXG4qL1xyXG5cclxuLy8gTG9vcCB0aHJvdWdoICRzZWN0aW9ucy1iYWNrZ3JvdW5kLWNvbG91cnMgY29uZmlnLlxyXG5AZWFjaCAkZWxlbWVudCwgJGNvbmZpZyBpbiAkc2VjdGlvbnMtYmFja2dyb3VuZC1jb2xvdXJzIHtcclxuICAgIC8vIEdldCBzZWN0aW9uIGJhY2tncm91bmQgY29sb3VyLlxyXG4gICAgJGJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEdldCBwYWdlcyB0aGlzIGlzIGFwcGxpY2FibGUgdG9vLlxyXG4gICAgJHBhZ2VzOiBtYXAtZ2V0KCRjb25maWcsIHBhZ2VzKTtcclxuICAgIEBpZiAoJHBhZ2VzKSB7XHJcbiAgICAgICAgQGVhY2ggJHBhZ2UgaW4gJHBhZ2VzIHtcclxuICAgICAgICAgICAgYm9keSMjeyRwYWdlfSB7XHJcbiAgICAgICAgICAgICAgICAuI3skZWxlbWVudH0ge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJGJhY2tncm91bmQtY29sb3VyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQHdhcm4gXCJQYWdlIHNlY3Rpb24gY29sb3VyczogTm8gYmFja2dyb3VuZC1jb2xvdXIgcHJvdmlkZWQgZm9yICN7JGVsZW1lbnR9LCBmb3Igc2l0ZSAjeyRzaXRlfS5cIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgICBAd2FybiBcIlBhZ2Ugc2VjdGlvbiBjb2xvdXJzOiBObyBwYWdlcyBwcm92aWRlZCBmb3IgI3skZWxlbWVudH0sIGZvciBzaXRlICN7JHNpdGV9LlwiO1xyXG4gICAgfVxyXG59IiwiLypcclxuXHJcbi0tLS0gU3RhciBSYXRpbmdzIC0tLS0gXHJcbkhhbmRsZXMgc3RhciByYXRpbmdzIGZvciBwcm9kdWN0cywgdGhpcyBzdXBwb3J0cyBwZXJzZW50YWdlIGJhc2VkIHJhdGluZywgaGVyZSBpcyBhbiBvdmVydmlldyBvZiB3aGF0IHRoaXMgd291bGQgbG9vayBsaWtlIGh0dHBzOi8vY29kZXBlbi5pby9maWxjcC9wZW4vUXZaVk9nIC5cclxuXHJcbiovXHJcblxyXG4uc3Rhci1yYXRpbmdzLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIFtjbGFzcyo9cmF0aW5nLWljb24tXSB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCByYXRpbmcpO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuYmFja2dyb3VuZC1zdGFycyB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIFtjbGFzcyo9cmF0aW5nLWljb24tXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGluYWN0aXZlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIE92ZXJsYXAgdGhlIGZvcmVncm91bmQgc3RhcnMgdG8gbWFrZSB0aGVtIGFwcGVhciBsaWtlIHRoZXkncmUgY29sb3VyaW5nIGluIHRoZSBiYWNrZ3JvdW5kIHN0YXJzLlxyXG4gICAgLmZvcmVncm91bmQtc3RhcnMge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIFtjbGFzcyo9cmF0aW5nLWljb24tXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdXRwdXQgcmF0aW5nIHRvdGFscyAoIGkuZSBhdmVyYWdlLCBtYXggJiB0b3RhbCBjb3VudCApXHJcbiAgICAucmF0aW5nLXN1bW1hcnktZGlzcGxheSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcmF0aW5nLXN1bW1hcnktZm9udC1zaXplKTtcclxuICAgIH1cclxufVxyXG5cclxuLnJhdGluZy1icmVha2Rvd24tbGlzdC1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgIC5icmVha2Rvd24tY29udGFpbmVyIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgICAuYnJlYWtkb3duLXN0YXJzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgW2NsYXNzKj1yYXRpbmctaWNvbi1dIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJhdGluZy1pY29uLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5icmVha2Rvd24tcGVyY2VudGFnZS1iYXItY29udGFpbmVyIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcbn1cclxuLmJyZWFrZG93bi1wZXJjZW50YWdlLWJhci1jb250YWluZXIge1xyXG4gICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAucGVyY2VudGFnZS1iYXIgeyBcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbiAgICAuYmFja2dyb3VuZC1iYXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAucGVyY2VudGFnZS1iYXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGluYWN0aXZlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9yZWdyb3VuZC1iYXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAucGVyY2VudGFnZS1iYXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRyYXRpbmctaWNvbi1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbi5icmVha2Rvd24tY291bnQtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG59XHJcbi50b29sdGlwLWNvbnRlbnQtY29udGFpbmVyIC5icmVha2Rvd24tYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4gICAgYSB7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHF1YXRlcm5hcnktYnV0dG9uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRxdWF0ZXJuYXJ5LWJ1dHRvbi1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkcXVhdGVybmFyeS1idXR0b24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIEJhcmNvZGUgU2Nhbm5lciAtLS0tLS0gXHJcblxyXG4qL1xyXG5cclxuLmJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGNvbW1vbi1idXR0b24tMSgxMHB4IDE1cHgsICRiYXJjb2RlLXNjYW5uZXItdG9nZ2xlLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWNvbG91ciwgJGJhcmNvZGUtc2Nhbm5lci10b2dnbGUtYnV0dG9uLWJvcmRlci1jb2xvdXItZGVza3RvcCwgZ2V0LWJ1dHRvbi1mb250LXNpemUoXCJhc3NvY2lhdGVkXCIpLCBnZXQtYnV0dG9uLWZvbnQtd2VpZ2h0cygnYXNzb2NpYXRlZCcpLCAobW9iaWxlLXdpZHRoOiAxMDAlLCB3aWR0aDogZml0LWNvbnRlbnQpLCAwLCBmbGV4LCAkYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24taWNvbi1jb25maWcsIDEpO1xyXG59XHJcblxyXG4uYmFyY29kZS1zY2FubmVyLXRvZ2dsZS1idXR0b24tY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4uYmFyY29kZS1zY2FubmVye1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdmlkZW8ge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC8vIFZpZXcgZmluZGVyIG92ZXJsYXkuXHJcbiAgICBjYW52YXMge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgfVxyXG4gICAgJi5pcy1pbmFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNjYW5uZXItY2FtZXJhLXNlbGVjdG9yLWNvbnRhaW5lciB7XHJcbiAgICBtYXgtd2lkdGg6IDQ5MHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmNvbnRyb2wuc2VsZWN0IC5jb250cm9sLXNlbGVjdC1jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeygxNXB4ICsgKCgkdG9vbHRpcC1pbmZvLWljb24tc2l6ZSAtIDIpICogMikgKyAkdG9vbHRpcC1pbmZvLWljb24tc2l6ZSl9KTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAzMzBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYmFyY29kZS1zY2FubmVyLXJlc3BvbnNlLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW46IDA7XHJcbn0iLCIvKlxyXG4tLS0tLSBQYWdlIEJhY2tncm91bmQgSW1hZ2UgLS0tLS1cclxuVGhlIHB1cnBvc2Ugb2YgdGhpcyBpcyBpcyB0byBhZGQgYmFja2dyb3VuZCBpbWFnZShzKSB0byBzcGVjaWZpYyBwYWdlIHR5cGVzIHVzaW5nIHRoZSBib2R5IGlkLCBwb3NzaWJsZSBjb25maWd1cmF0aW9uOlxyXG5cclxuaG9tZXBhZ2U6IChcclxuICAgIGJhY2tncm91bmQtaW1hZ2UgPT4gWyBSRVFVSVJFRCBdIFRoZSB1cmwgb2YgdGhlIGltYWdlLlxyXG4gICAgcmVwZWF0LWJhY2tncm91bmQgPT4gWyBPUFRJT05BTCBdIFRoaXMgZGVmYXVsdHMgdG8gbm8tcmVwZWF0LlxyXG4gICAgYmFja2dyb3VuZC1zY2FsZSA9PiBbIE9QVElPTkFMIF0gVGhpcyBkZWZhdWx0cyB0byBjb3Zlci5cclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudHMgPT4gWyBPUFRJT05BTCBdXHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uID0+IFsgT1BUSU9OQUwgXVxyXG4pXHJcblxyXG4qL1xyXG5cclxuLy8gTG9vcCB0aHJvdWdoICRwYWdlLWJhY2tncm91bmQtaW1hZ2VzIGNvbmZpZy5cclxuQGVhY2ggJHBhZ2UsICRjb25maWcgaW4gJHBhZ2UtYmFja2dyb3VuZC1pbWFnZXMge1xyXG4gICAgLy8gR2V0IHNlY3Rpb24gYmFja2dyb3VuZCBjb2xvdXIuXHJcbiAgICAkYmFja2dyb3VuZC1pbWFnZTogbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLWltYWdlKTtcclxuICAgIC8vIFNob3VsZCB3ZSByZXBlYXQgdGhlIGJhY2tncm91bmQ/XHJcbiAgICAkcmVwZWF0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGNvbmZpZywgcmVwZWF0LWJhY2tncm91bmQpO1xyXG4gICAgLy8gSG93IHNob3VsZCB3ZSBzY2FsZSB0aGUgYmFja2dyb3VuZD9cclxuICAgICRiYWNrZ3JvdW5kLXNjYWxlOiBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtc2NhbGUpO1xyXG4gICAgLy8gQmFja2dyb3VuZCBhdHRhY2htZW50ICggcGFyYWxsYXggZWZmZWN0ICk/XHJcbiAgICAkYmFja2dyb3VuZC1hdHRhY2htZW50OiBpZihjb250YWlucygkY29uZmlnLCBcImJhY2tncm91bmQtYXR0YWNobWVudFwiKSwgbWFwLWdldCgkY29uZmlnLCBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQpLCBmYWxzZSk7XHJcbiAgICAvLyBCYWNrZ3JvdW5kIHBvc2l0aW9uXHJcbiAgICAkYmFja2dyb3VuZC1wb3NpdGlvbjogaWYoY29udGFpbnMoJGNvbmZpZywgXCJiYWNrZ3JvdW5kLXBvc2l0aW9uXCIpLCBtYXAtZ2V0KCRjb25maWcsIGJhY2tncm91bmQtcG9zaXRpb24pLCBmYWxzZSk7XHJcbiAgICBAaWYgKCRiYWNrZ3JvdW5kLWltYWdlKSB7XHJcbiAgICAgICAgYm9keSMjeyRwYWdlfSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGJhY2tncm91bmQtaW1hZ2V9XCIpO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogaWYoJHJlcGVhdC1iYWNrZ3JvdW5kLCAjeyRyZXBlYXQtYmFja2dyb3VuZH0sIG5vLXJlcGVhdCk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogaWYoJGJhY2tncm91bmQtc2NhbGUsICN7JGJhY2tncm91bmQtc2NhbGV9LCBjb3Zlcik7XHJcbiAgICAgICAgICAgIEBpZiAkYmFja2dyb3VuZC1hdHRhY2htZW50IHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogJGJhY2tncm91bmQtYXR0YWNoZW1lbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRiYWNrZ3JvdW5kLXBvc2l0aW9uIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRiYWNrZ3JvdW5kLXBvc2l0aW9uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgQHdhcm4gXCJQYWdlIEJhY2tncm91bmRzOiBObyBiYWNrZ3JvdW5kIGltYWdlIHByb3ZpZGVkIGZvciBwYWdlICN7JHBhZ2V9XCI7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBUYWdzIC0tLS0tXHJcblVzZWQgdG8gZGlzcGxheSBhIGNhdGFnb3Jpc2F0aW9uIG9mIGdyb3VwcyAvIGtleXdvcmRzLCB0aGlzIGlhIHByaW1hcmlseSB1c2VkIGluIHRoZSBjbXMgc3lzdGVtIGN1cnJlbnRseSBmb3IgZGlwbHNheSBuZXdzLCBibG9ncyAmIGV2ZW50J3MgYXJ0aWNsZXMuXHJcbiovXHJcblxyXG4udGFnZ2luZy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAmLmFsaWduLWNlbnRlciB7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC8vIElzIHRoaXMgaXMgYSBsaXN0aW5nIHBhZ2U/XHJcbiAgICAmLmxpc3Rpbmcge1xyXG4gICAgICAgIC50YWdnaW5nLWhlYWRpbmcge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWdzLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBnYXA6IDEwcHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBnYXA6IDVweCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC50YWdnaW5nLWhlYWRlci1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbjogNXB4IDAgMTBweDtcclxuICAgIH1cclxuICAgIC50YWdnaW5nLWhlYWRpbmcge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcclxuICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICB9XHJcbiAgICAvLyBUaGUgYWN0dWFsIHRhZy5cclxuICAgIC50YWctaXRlbSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgLy9tYXJnaW46IDVweCAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAxOHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIzLTI7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAkYm94U2hhZG93MTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucmVtb3ZlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdGFnLXJlbW92ZSk7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlcjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjY7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gQXhpcyBUb2dnbGVyIC0tLS0tXHJcbkJ1aWxkIG9udG9wIG9mIEZvdW5kYXRpb25zIHRvZ2dsZXIgaHR0cHM6Ly9nZXQuZm91bmRhdGlvbi9zaXRlcy9kb2NzL3RvZ2dsZXIuaHRtbCwgd2UgbmVlZGVkIHRvIGFkZCBpbiBzb21lIGFkZGl0aW9uYWwgZnVuY3Rpb25hbGl0eSB0byBhbGxvdyBmb3IgcmUtdG9nZ2xpbmcgaWYgdGhlIHVzZXIgY2xpY2tzIG91dHNpZGUgb2YgdGhlIGNvbnRlbnQgYXJlYS5cclxuKi9cclxuXHJcbi50b2dnbGUtY29udGVudC1jb250YWluZXIge1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIC50b2dnbGUtYmFja2dyb3VuZCB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgLy8gTXVzdCBiZSBzZXQgc28gY29udGVudCBvdmVybGFwcyB0aGUgYmFja2dyb3VuZC5cclxuICAgICAgICAgICAgei1pbmRleDogLTE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gUGFnZSBCYWNrZ3JvdW5kIENvbG91cnMgLS0tLS1cclxuU2ltaWxhciB0byBheGlzLXNlY3Rpb24tY29sb3VycyBhIGN1c3RvbSBjb25maWcgaXMgcHJvdmlkZSB3aGljaCBnZXRzIGxvb3BlZCB0aHJvdWdoIGFzc2lnbmluZyB0aGUgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0eSB0byB0aGUgcmVsaWV2ZW50IHBhZ2VzLlxyXG5cclxuTk9USUNFOiBIYWQgdG8gc2V0IHRoZSAhaW1wb3J0YW50IGZsYWcgb24gdGhlIGJhY2tncm91bmQtY29sb3IgcHJvcGVydHkgZHVlIHRvIGZvdW5kYXRpb24gZW5mb3JpbmcgdGhhdCB0aGUgYm9keSBiYWNrZ3JvdW5kIGNvbG91ciBtdXN0IGJlIHNldC5cclxuKi9cclxuXHJcbi8vIExvb3AgdGhyb3VnaCAkc2VjdGlvbnMtYmFja2dyb3VuZC1jb2xvdXJzIGNvbmZpZy5cclxuQGVhY2ggJHBhZ2UsICRjb25maWcgaW4gJHBhZ2UtYmFja2dyb3VuZC1jb2xvdXJzIHtcclxuICAgIEBpZiAoJHBhZ2UgPT0gYWxsKSB7XHJcbiAgICAgICAgYm9keSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1jb2xvdXIpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgYm9keSMjeyRwYWdlfSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGNvbmZpZywgYmFja2dyb3VuZC1jb2xvdXIpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLypcclxuLS0tLS0gTXVsdGkgRmllbGQgTG9va3VwIC0tLS0tXHJcblxyXG5Qcm92aWRlcyBhbiBhcmVhIHRvIHBsYWNlIG9wdGlvbnMgKCBpLmUgYSBmb3JtIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQgKSB3aGljaCB0aGVuIGdldHMgZmlsbGVkIGluIHRvIHVwZGF0ZSBtdWx0aXBsZSBwb2ludHMgb24gdGhlIHBhZ2UuXHJcblxyXG4qL1xyXG5cclxuLm11bHRpLWZpZWxkLWxvb2t1cCB7XHJcbiAgICAmLnF1aWNrLW9yZGVyIHtcclxuICAgICAgICAubXVsdGktZmllbGQtb3B0aW9ucy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkZWZhdWx0LWNvbG91cigkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBzbW9vdGgtZWRnZXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogbWVkaXVtLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sb29rdXAtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmFkZC10by1iYXNrZXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYXJjb2RlLXNjYW5uZXItdHJpZ2dlci1jb250YWluZXIge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAzMyU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5sb29rdXAtcXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbnB1dC1udW1iZXIge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuaW5wdXQtbnVtYmVyLWRlY3JlbWVudCwgLmlucHV0LW51bWJlci1pbmNyZW1lbnQge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG91cjE7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGF0LXJvb3Qge1xyXG4gICAgICAgICAgICAgICAgLmlucHV0LW51bWJlci1kZWNyZW1lbnQsIC5pbnB1dC1udW1iZXItaW5jcmVtZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGlucHV0LWJvcmRlci1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb250cm9sIHtcclxuICAgICAgICAgICAgJi5zZWFyY2gge1xyXG4gICAgICAgICAgICAgICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHF1aWNrLW9yZGVyLWZvcm0tcHJlZml4LWljb24pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQGF0LXJvb3QgeyBcclxuICAgICAgICAgICAgLmlucHV0LXByZWZpeC1pY29uIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm11bHRpLWZpZWxkLW9wdGlvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBtYXJnaW46IDEwcHggMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIFJlZHVjaW5nIG1hcmdpbiBib3R0b20gYXMgb24tcGFnZS1ub3RpZmljYXRpb25zIGFscmVhZHkgaGF2ZSAxMHB4IHRvcCArIGJvdHRvbSBwYWRkaW5nLlxyXG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3JtIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgZ2FwOiBzbWFsbC12YWx1ZSgkbXVsdGktb3B0aW9uLWxvb2t1cC1xdWljay1vcmRlci1nYXApO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBtZWRpdW0tdmFsdWUoJG11bHRpLW9wdGlvbi1sb29rdXAtcXVpY2stb3JkZXItZ2FwKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBnYXA6IGxhcmdlLXZhbHVlKCRtdWx0aS1vcHRpb24tbG9va3VwLXF1aWNrLW9yZGVyLWdhcCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxvb2t1cC1vcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgJi5sb29rdXAtc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmxvb2t1cC1vcHRpb24ge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgJi5hZGQtdG8tYmFza2V0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBNYWtlIHN1cmUgYnV0dG9uIGFyZSBjYXBwZWQgYXQgdGhlIHNhbWUgaGVpZ2h0IGEgdGhlIGlucHV0cy5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBoZWlnaHQ6ICRmaWVsZHNldC1pbnB1dC1oZWlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIExldCB0aGUgY29udGFpbmVycyBkaWN0YXRlIHRoZSB3aWR0aCBhbmQganVzdCBzb2FrIHVwIHRoZSBhdmlsYWJsZSBzcGFjZS5cclxuICAgICAgICAuY29udHJvbCB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAuY29udHJvbC1zZWxlY3QtZHJvcGRvd24ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmZvcm0tZXJyb3Ige1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAucXVhbnRpdHktc2VsZWN0b3ItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5tdWx0aS1maWVsZC1yZXNwb25zZS1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiOy8qIVxuICogYW5pbWF0ZS5jc3MgLSBodHRwczovL2FuaW1hdGUuc3R5bGUvXG4gKiBWZXJzaW9uIC0gNC4xLjFcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjAgQW5pbWF0ZS5jc3NcbiAqL1xuOnJvb3Qge1xuICAtLWFuaW1hdGUtZHVyYXRpb246IDFzO1xuICAtLWFuaW1hdGUtZGVsYXk6IDFzO1xuICAtLWFuaW1hdGUtcmVwZWF0OiAxO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDFzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0ZS1kdXJhdGlvbik7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tYW5pbWF0ZS1kdXJhdGlvbik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19pbmZpbml0ZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0xIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWFuaW1hdGUtcmVwZWF0KTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tYW5pbWF0ZS1yZXBlYXQpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3JlcGVhdC0yIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBjYWxjKDEgKiAyKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAyKTtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYyh2YXIoLS1hbmltYXRlLXJlcGVhdCkgKiAyKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19yZXBlYXQtMyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogY2FsYygxICogMyk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGMoMSAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMyk7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGNhbGModmFyKC0tYW5pbWF0ZS1yZXBlYXQpICogMyk7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZGVsYXktMXMge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1hbmltYXRlLWRlbGF5KTtcbiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1hbmltYXRlLWRlbGF5KTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0ycyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMik7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDIpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDIpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAyKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS0zcyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogMyk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDMpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDMpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiAzKTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS00cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNCk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDQpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDQpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA0KTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19kZWxheS01cyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiBjYWxjKDFzICogNSk7XG4gIGFuaW1hdGlvbi1kZWxheTogY2FsYygxcyAqIDUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1hbmltYXRlLWRlbGF5KSAqIDUpO1xuICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0tYW5pbWF0ZS1kZWxheSkgKiA1KTtcbn1cbi5hbmltYXRlX19hbmltYXRlZC5hbmltYXRlX19mYXN0ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAvIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgLyAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgLyAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pIC8gMik7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fZmFzdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC44KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC44KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjgpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjgpO1xufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX3Nsb3cge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG59XG4uYW5pbWF0ZV9fYW5pbWF0ZWQuYW5pbWF0ZV9fc2xvd2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAzKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDMpO1xufVxuQG1lZGlhIHByaW50LCAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7XG4gIC5hbmltYXRlX19hbmltYXRlZCB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFtcyAhaW1wb3J0YW50O1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMW1zICFpbXBvcnRhbnQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxbXMgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDEgIWltcG9ydGFudDtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYW5pbWF0ZV9fYW5pbWF0ZWRbY2xhc3MqPSdPdXQnXSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLyogQXR0ZW50aW9uIHNlZWtlcnMgICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA1MyUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgNDAlLFxuICA0MyUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMHB4LCAwKSBzY2FsZVkoMS4xKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NTUsIDAuMDUsIDAuODU1LCAwLjA2KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTE1cHgsIDApIHNjYWxlWSgxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTRweCwgMCkgc2NhbGVZKDEuMDIpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gIGZyb20sXG4gIDIwJSxcbiAgNTMlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDQwJSxcbiAgNDMlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc1NSwgMC4wNSwgMC44NTUsIDAuMDYpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMzBweCwgMCkgc2NhbGVZKDEuMSk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1LCAwLjg1NSwgMC4wNik7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xNXB4LCAwKSBzY2FsZVkoMS4wNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTVweCwgMCkgc2NhbGVZKDEuMDUpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApIHNjYWxlWSgwLjk1KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC00cHgsIDApIHNjYWxlWSgxLjAyKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsYXNoIHtcbiAgZnJvbSxcbiAgNTAlLFxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDI1JSxcbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fZmxhc2gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGFzaDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsYXNoO1xufVxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDEuMDUsIDEuMDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAxLjA1LCAxLjA1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX19wdWxzZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJ1YmJlckJhbmQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gIH1cblxuICA2NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTUsIDEuMDUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wNSwgMC45NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBydWJiZXJCYW5kIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpO1xuICB9XG5cbiAgNjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk1LCAxLjA1LCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NSwgMS4wNSwgMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIDAuOTUsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAwLjk1LCAxKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX19ydWJiZXJCYW5kIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VYIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNoYWtlWCB7XG4gIGZyb20sXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NoYWtlWCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlWDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlWDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVkge1xuICBmcm9tLFxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2hha2VZIHtcbiAgZnJvbSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2hha2VZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VZO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VZO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGhlYWRTaGFrZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICA2LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTZweCkgcm90YXRlWSgtOWRlZyk7XG4gIH1cblxuICAxOC41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNXB4KSByb3RhdGVZKDdkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gIH1cblxuICAzMS41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZVkoLTVkZWcpO1xuICB9XG5cbiAgNDMuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDJweCkgcm90YXRlWSgzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaGVhZFNoYWtlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDYuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC02cHgpIHJvdGF0ZVkoLTlkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNnB4KSByb3RhdGVZKC05ZGVnKTtcbiAgfVxuXG4gIDE4LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1cHgpIHJvdGF0ZVkoN2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDVweCkgcm90YXRlWSg3ZGVnKTtcbiAgfVxuXG4gIDMxLjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtM3B4KSByb3RhdGVZKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCkgcm90YXRlWSgtNWRlZyk7XG4gIH1cblxuICA0My41JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KSByb3RhdGVZKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgycHgpIHJvdGF0ZVkoM2RlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2hlYWRTaGFrZSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBoZWFkU2hha2U7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMGRlZyk7XG4gIH1cbn1cbi5hbmltYXRlX19zd2luZyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG5cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gIH1cblxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxuXG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKSByb3RhdGUzZCgwLCAwLCAxLCAtM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fdGFkYSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBOaWNrIFBldHRpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrcGV0dGl0L2dsaWRlICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0zZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAtMWRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB3b2JibGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgM2RlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTNkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAyZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNSUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIC0xZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01JSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTFkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fd29iYmxlIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGplbGxvIHtcbiAgZnJvbSxcbiAgMTEuMSUsXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIDIyLjIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7XG4gIH1cblxuICAzMy4zJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gIH1cblxuICA0NC40JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTtcbiAgfVxuXG4gIDU1LjUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpO1xuICB9XG5cbiAgNjYuNiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTtcbiAgfVxuXG4gIDc3LjclIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7XG4gIH1cblxuICA4OC44JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgamVsbG8ge1xuICBmcm9tLFxuICAxMS4xJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgMjIuMiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTtcbiAgfVxuXG4gIDMzLjMlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTtcbiAgfVxuXG4gIDQ0LjQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpO1xuICB9XG5cbiAgNTUuNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7XG4gIH1cblxuICA2Ni42JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpO1xuICB9XG5cbiAgNzcuNyUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTtcbiAgfVxuXG4gIDg4LjglIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTtcbiAgfVxufVxuLmFuaW1hdGVfX2plbGxvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogamVsbG87XG4gIGFuaW1hdGlvbi1uYW1lOiBqZWxsbztcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBoZWFydEJlYXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxNCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuXG4gIDI4JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICA0MiUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaGVhcnRCZWF0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTQlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICAyOCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgNDIlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG4uYW5pbWF0ZV9faGVhcnRCZWF0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICBhbmltYXRpb24tbmFtZTogaGVhcnRCZWF0O1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDEuMyk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDEuMyk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMS4zKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMS4zKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG59XG4vKiBCYWNrIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tJbkRvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja0luRG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYmFja0luRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja0luUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja0luUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrSW5VcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEyMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja0luVXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTIwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMjAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja0luVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJhY2tJblVwO1xufVxuLyogQmFjayBleGl0cyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJhY2tPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYmFja091dERvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuLmFuaW1hdGVfX2JhY2tPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0TGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBiYWNrT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJhY2tPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpIHNjYWxlKDAuNyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCkgc2NhbGUoMC43KTtcbiAgICBvcGFjaXR5OiAwLjc7XG4gIH1cbn1cbi5hbmltYXRlX19iYWNrT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBiYWNrT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYmFja091dFVwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MDBweCkgc2NhbGUoMC43KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIG9wYWNpdHk6IDAuNztcbiAgfVxufVxuQGtleWZyYW1lcyBiYWNrT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwMHB4KSBzY2FsZSgwLjcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNzAwcHgpIHNjYWxlKDAuNyk7XG4gICAgb3BhY2l0eTogMC43O1xuICB9XG59XG4uYW5pbWF0ZV9fYmFja091dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYmFja091dFVwO1xuICBhbmltYXRpb24tbmFtZTogYmFja091dFVwO1xufVxuLyogQm91bmNpbmcgZW50cmFuY2VzICAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgZnJvbSxcbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45LCAwLjksIDAuOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDMsIDEuMDMsIDEuMDMpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC45NywgMC45NywgMC45Nyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICBmcm9tLFxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xLCAxLjEsIDEuMSk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjAzLCAxLjAzLCAxLjAzKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4wMywgMS4wMywgMS4wMyk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOTcsIDAuOTcsIDAuOTcpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjk3LCAwLjk3LCAwLjk3KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0zMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjVweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyNXB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNXB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0zMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKSBzY2FsZVgoMC45OCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZUluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgZnJvbSxcbiAgNjAlLFxuICA3NSUsXG4gIDkwJSxcbiAgdG8ge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG4gIH1cblxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMDAwcHgsIDAsIDApIHNjYWxlWCgzKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTI1cHgsIDAsIDApIHNjYWxlWCgxKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApIHNjYWxlWCgwLjk4KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNXB4LCAwLCAwKSBzY2FsZVgoMC45OTUpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICBmcm9tLFxuICA2MCUsXG4gIDc1JSxcbiAgOTAlLFxuICB0byB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcbiAgfVxuXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMwMDBweCwgMCwgMCkgc2NhbGVYKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzAwMHB4LCAwLCAwKSBzY2FsZVgoMyk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yNXB4LCAwLCAwKSBzY2FsZVgoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjVweCwgMCwgMCkgc2NhbGVYKDEpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTBweCwgMCwgMCkgc2NhbGVYKDAuOTgpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTVweCwgMCwgMCkgc2NhbGVYKDAuOTk1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01cHgsIDAsIDApIHNjYWxlWCgwLjk5NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VJblJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIGZyb20sXG4gIDYwJSxcbiAgNzUlLFxuICA5MCUsXG4gIHRvIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xuICB9XG5cbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMzAwMHB4LCAwKSBzY2FsZVkoNSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAzMDAwcHgsIDApIHNjYWxlWSg1KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTUpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTVweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC01cHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VJblVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG59XG4vKiBCb3VuY2luZyBleGl0cyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuOSwgMC45LCAwLjkpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjksIDAuOSwgMC45KTtcbiAgfVxuXG4gIDUwJSxcbiAgNTUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMSwgMS4xLCAxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjEsIDEuMSwgMS4xKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgfVxuXG4gIDQwJSxcbiAgNDUlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApIHNjYWxlWSgzKTtcbiAgfVxufVxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VPdXREb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gIH1cbn1cbi5hbmltYXRlX19ib3VuY2VPdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMHB4LCAwLCAwKSBzY2FsZVgoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCkgc2NhbGVYKDIpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjBweCwgMCwgMCkgc2NhbGVYKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKSBzY2FsZVgoMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApIHNjYWxlWCgyKTtcbiAgfVxufVxuLmFuaW1hdGVfX2JvdW5jZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwcHgsIDApIHNjYWxlWSgwLjk4NSk7XG4gIH1cblxuICA0MCUsXG4gIDQ1JSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMHB4LCAwKSBzY2FsZVkoMC45KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKSBzY2FsZVkoMyk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTBweCwgMCkgc2NhbGVZKDAuOTg1KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMHB4LCAwKSBzY2FsZVkoMC45ODUpO1xuICB9XG5cbiAgNDAlLFxuICA0NSUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwcHgsIDApIHNjYWxlWSgwLjkpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjBweCwgMCkgc2NhbGVZKDAuOSk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCkgc2NhbGVZKDMpO1xuICB9XG59XG4uYW5pbWF0ZV9fYm91bmNlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuLyogRmFkaW5nIGVudHJhbmNlcyAgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5Eb3duIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluRG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5MZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluTGVmdEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5SaWdodEJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJblVwQmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Ub3BMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluVG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluVG9wTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVJblRvcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgLTEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluVG9wUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Ub3BSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblRvcFJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkJvdHRvbUxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluQm90dG9tTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAxMDAlLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZhZGVJbkJvdHRvbUxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluQm90dG9tTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Cb3R0b21SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmFkZUluQm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZUluQm90dG9tUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Cb3R0b21SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkJvdHRvbVJpZ2h0O1xufVxuLyogRmFkaW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0RG93bkJpZyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dExlZnRCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZztcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0UmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0QmlnIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFJpZ2h0QmlnIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcEJpZyB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VXBCaWcge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0VXBCaWcge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFRvcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIC0xMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VG9wTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgLTEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dFRvcExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRUb3BMZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRUb3BSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIC0xMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0VG9wUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAtMTAwJSwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19mYWRlT3V0VG9wUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VG9wUmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBmYWRlT3V0Qm90dG9tUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbVJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbVJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dEJvdHRvbVJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZhZGVPdXRCb3R0b21MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDEwMCUsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fZmFkZU91dEJvdHRvbUxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Qm90dG9tTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRCb3R0b21MZWZ0O1xufVxuLyogRmxpcHBlcnMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApIHJvdGF0ZTNkKDAsIDEsIDAsIC0zNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgLTM2MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDE1MHB4KVxuICAgICAgcm90YXRlM2QoMCwgMSwgMCwgLTE5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAxNTBweClcbiAgICAgIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNzBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMTUwcHgpXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAtMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZTNkKDAuOTUsIDAuOTUsIDAuOTUpIHRyYW5zbGF0ZTNkKDAsIDAsIDApXG4gICAgICByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlM2QoMSwgMSwgMSkgdHJhbnNsYXRlM2QoMCwgMCwgMCkgcm90YXRlM2QoMCwgMSwgMCwgMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKSByb3RhdGUzZCgwLCAxLCAwLCAwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuLmFuaW1hdGVfX2FuaW1hdGVkLmFuaW1hdGVfX2ZsaXAge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAxMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cbn1cbi5hbmltYXRlX19mbGlwSW5YIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTIwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAxMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0yMGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDEwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxufVxuLmFuaW1hdGVfX2ZsaXBJblkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCAtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgLTIwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fZmxpcE91dFgge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDAuNzUpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCAtMTVkZWcpO1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2ZsaXBPdXRZIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAwLjc1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKDFzICogMC43NSk7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMC43NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYyh2YXIoLS1hbmltYXRlLWR1cmF0aW9uKSAqIDAuNzUpO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xufVxuLyogTGlnaHRzcGVlZCAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgyMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC01ZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgtMzBkZWcpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIHRyYW5zZm9ybTogc2tld1goMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNWRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19saWdodFNwZWVkSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMjBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fbGlnaHRTcGVlZEluTGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuLmFuaW1hdGVfX2xpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNrZXdYKC0zMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fbGlnaHRTcGVlZE91dExlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG4vKiBSb3RhdGluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtMjAwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZUluIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZUluRG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlSW5Eb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvdGF0ZUluVXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlSW5VcFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuLyogUm90YXRpbmcgZXhpdHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDIwMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVPdXQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA0NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlT3V0RG93bkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX19yb3RhdGVPdXREb3duUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIC00NWRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCAtNDVkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlT3V0VXBMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9fcm90YXRlT3V0VXBSaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xufVxuLyogU3BlY2lhbHMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgMjAlLFxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAxLCA4MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDQwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgNjBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNzAwcHgsIDApO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgaGluZ2Uge1xuICAwJSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gIDIwJSxcbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMSwgODBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG4gIH1cblxuICA0MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDEsIDYwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDcwMHB4LCAwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG4uYW5pbWF0ZV9faGluZ2Uge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogY2FsYygxcyAqIDIpO1xuICBhbmltYXRpb24tZHVyYXRpb246IGNhbGMoMXMgKiAyKTtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IGNhbGModmFyKC0tYW5pbWF0ZS1kdXJhdGlvbikgKiAyKTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBjYWxjKHZhcigtLWFuaW1hdGUtZHVyYXRpb24pICogMik7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGhpbmdlO1xuICBhbmltYXRpb24tbmFtZTogaGluZ2U7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIGphY2tJblRoZUJveCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgcm90YXRlKDMwZGVnKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoM2RlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuQGtleWZyYW1lcyBqYWNrSW5UaGVCb3gge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHJvdGF0ZSgzMGRlZyk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbi5hbmltYXRlX19qYWNrSW5UaGVCb3gge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7XG4gIGFuaW1hdGlvbi1uYW1lOiBqYWNrSW5UaGVCb3g7XG59XG4vKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyByb2xsSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgcm90YXRlM2QoMCwgMCwgMSwgLTEyMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3JvbGxJbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbn1cbi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHJvdGF0ZTNkKDAsIDAsIDEsIDEyMGRlZyk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKSByb3RhdGUzZCgwLCAwLCAxLCAxMjBkZWcpO1xuICB9XG59XG4uYW5pbWF0ZV9fcm9sbE91dCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xufVxuLyogWm9vbWluZyBlbnRyYW5jZXMgKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW4ge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjMsIDAuMywgMC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21JbiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21Jbjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21JbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21JbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMTAwMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbUluUmlnaHQge1xuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDEwMDBweCwgMCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtMTBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbUluUmlnaHQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblVwIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAxMDAwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDU1LCAwLjY3NSwgMC4xOSk7XG4gIH1cblxuICA2MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tSW5VcCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMTAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgNjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMSk7XG4gIH1cbn1cbi5hbmltYXRlX196b29tSW5VcCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7XG59XG4vKiBab29taW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbkBrZXlmcmFtZXMgem9vbU91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4zLCAwLjMsIDAuMyk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMywgMC4zLCAwLjMpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cbi5hbmltYXRlX196b29tT3V0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dERvd24ge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0RG93biB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC4xLCAwLjEsIDAuMSkgdHJhbnNsYXRlM2QoMCwgMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbU91dERvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoLTIwMDBweCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRMZWZ0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCg0MnB4LCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjEpIHRyYW5zbGF0ZTNkKC0yMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3pvb21PdXRMZWZ0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tT3V0TGVmdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dFJpZ2h0IHtcbiAgNDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNDc1LCAwLjQ3NSwgMC40NzUpIHRyYW5zbGF0ZTNkKC00MnB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyB6b29tT3V0UmlnaHQge1xuICA0MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKSB0cmFuc2xhdGUzZCgyMDAwcHgsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFJpZ2h0O1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHpvb21PdXRVcCB7XG4gIDQwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjQ3NSwgMC40NzUsIDAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMC40NzUsIDAuNDc1LCAwLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcbiAgfVxuXG4gIHRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuMSwgMC4xLCAwLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjEsIDAuMSwgMC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEpO1xuICB9XG59XG4uYW5pbWF0ZV9fem9vbU91dFVwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogem9vbU91dFVwO1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG4vKiBTbGlkaW5nIGVudHJhbmNlcyAqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVJbkRvd24ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG4uYW5pbWF0ZV9fc2xpZGVJbkxlZnQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0O1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlSW5SaWdodCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlSW5SaWdodCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5SaWdodDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluVXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlSW5VcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZUluVXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZUluVXA7XG59XG4vKiBTbGlkaW5nIGV4aXRzICovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXREb3duIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlT3V0RG93biB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0RG93bjtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuQGtleWZyYW1lcyBzbGlkZU91dExlZnQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlT3V0TGVmdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0TGVmdDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZU91dFJpZ2h0IHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICB0byB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cbi5hbmltYXRlX19zbGlkZU91dFJpZ2h0IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0UmlnaHQ7XG59XG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRVcCB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgdG8ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNsaWRlT3V0VXAge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuLmFuaW1hdGVfX3NsaWRlT3V0VXAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRVcDtcbn1cbiIsIlxyXG4vKlxyXG5cclxuLS0tLS0gQXhpcyBFbGVtZW50IFByaW50IC0tLS0tIFxyXG5BbGxvd3MgeW91IHRvIHNlbGVjdCBhbiBlbGVtZW50IHRvIGJlIHByaW50ZWQgaW5zaWRlIG9mIHRoZSBET00uXHJcblxyXG5UaGlzIGRlYWxzIHdpdGggZ2VuZXJhbCBmb3JtYXR0aW5nIG9mIHRleHQgd2hlbiBpbiBwcmludCB2aWV3IGFuZCB3aGljaCBlbGVtZW50IHNob3VsZCBiZSBleGNsdWRlZCBhcyBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgZm9yIHRoZW0gdG8gYmUgdGhlcmUuXHJcblxyXG4qL1xyXG5cclxuQG1lZGlhIHByaW50IHtcclxuICAgIC5wZS1uby1wcmludCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5wZS1wcmVzZXJ2ZS1hbmNlc3RvciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFJlbW92ZSBhbnkgc3RpY2sgZWxlbWVudHMgYXMgdGhpcyByZWFsbHkgZG9lc24ndCB3b3JrIHZlcnkgd2VsbCBpbiBwcmludGVyIHZpZXcuXHJcbiAgICBbZGF0YS1heGlzLXN0aWNreV0sIFtkYXRhLXN0aWNreS1jb250ZW50LWNvbnRhaW5lcl0ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhpcyBpcyBub3QgbmVlZGVkIGluIHByaW50IHZpZXcuXHJcbiAgICAuZW5xdWlyeS1maWx0ZXJzIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYWxsLXR5cGUtaWNvbiwgLmNhbGwtc291cmNlLWljb24ge1xyXG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEpO1xyXG4gICAgfVxyXG5cclxuICAgIC5lbnF1aXJ5LWhlYWRlci1zZWN0aW9uIGgyIHtcclxuICAgICAgICAvLyBGb3JjZSBudXR1cmFsIGNvbG91cnMuXHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLmF4aXMtc2VjdGlvbi1oZWFkZXI6YWZ0ZXIge1xyXG4gICAgICAgIC8vIEZvcmNlIG51dHVyYWwgY29sb3Vycy5cclxuICAgICAgICBjb2xvcjogJGNvbG91cjIgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICB0YWJsZSAuY29sLWxhYmVsIHtcclxuICAgICAgICAvLyBGb3JjZSBudXR1cmFsIGNvbG91cnMuXHJcbiAgICAgICAgY29sb3I6ICRjb2xvdXIyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUge1xyXG4gICAgICAgIHRyIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgcnVsZSBkdWUgdG8gYmFja2dyb3VuZCBjb2xvcnMgYmVpbmcgc3VwcHJlc3NlZCwgYWxzbyBpbmNyZWFzaW5nIHdlaWdodCBmb3IgcG9vciBxdWFsaXR5IHByaW50ZXJzLlxyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGNvbG91cjMtMiAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIERvbid0IHNob3cgcGFnZSBidXR0b25zLlxyXG4gICAgLnBhZ2UtYnV0dG9ucy1jb250YWluZXIsIC5hY2NvdW50LWJ1dHRvbnMtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBNYWtlIGFsbCB0ZXh0IGlzIHZpc2libGUuXHJcbiAgICAuY21zLWNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQsIC5tb2RhbC1jb250YWluZXIgLmNvbnRlbnQtY29udGFpbmVyIHtcclxuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtY29udGFpbmVyIHtcclxuICAgICAgICAvLyBTZXR0aW5nIHBvc2l0aW9uIGFic29sdXRlIG90aGVyd2lzZSBpZiB0aGUgbW9kYWwgY29udGVudCBpcyBiaWdnZXIgdGhhbiBhIEE0IHBhZ2UgdGhlIGNvbnRlbnQgZ2V0cyBjdXQgb2ZmIGR1ZSB0byBvYnZpb3VzbHkgbm90IGJlaW5nIGFibGUgdG8gc2Nyb2xsLlxyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICBvdmVyZmxvdy15OiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIERvY3VtZW50YXRpb24gLS0tLS0tIFxyXG5TcGVjaWZpY2FsbHkgaGFuZGxlcyB0aGUgc3R5bGluZyBmb3IgQVhJUyBEb2N1bWVudGF0aW9uLCB0aGVyZSB3aWxsIGJlIHNpbWlsYXJpdGllcyBiZXR3ZWVuIHRoaXMgY29kZSBhbmQgY21zIGNvbnRhaW5lcnMuXHJcblxyXG5UaGlzIGRlYWxzIHdpdGggdGhlIGZvbGxvd2luZyBwYWdlIHR5cGVzOlxyXG4tLSBQcm9kdWN0c1xyXG4tLS0tIEJvb2tzXHJcbi0tLS0tLSBDaGFwdGVyc1xyXG4tLS0tLS0tLSBBcnRpY2xlc1xyXG4tLS0tLS0tLSBGdW5jdGlvbnNcclxuLS0tLS0tLS0tLSBBcnRpY2xlXHJcbiovXHJcblxyXG5cclxuLy8gSG9sZHMgdGhpbmdzIGxpa2UgZG9jdW1lbnRhdGlvbiBzZWFyY2gsIGFjY2VzcyBsZXZlbC5cclxuLmRvY3VtZW50YXRpb24tY29udHJvbHMtY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgZ2FwOiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gICAgICAgIGdhcDogMDtcclxuICAgIH1cclxuICAgIC5kb2N1bWVudGF0aW9uLXNlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTE7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZm9ybSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTY7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweCAwIDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5zZWFyY2gtem9uZSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGRlZmF1bHQgY29udmVudGlvbiBvZiBzcGFubmluZyB0aGUgZW50aXJlIHdpZHRoIHVzZWQgd2hlbiBkaXNwbGF5aW5nIGEgY29udmVudGlvbmFsIGZvcm0uXHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zZWxlY3RlZC1kZXNjcmlwdGlvbiB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5kb2N1bWVudGF0aW9uLXNlYXJjaCB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDQyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5mb3JtLWVycm9yIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5kb2N1bWVudGF0aW9uLWFjY2Vzcy1sZXZlbC1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NzVweDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDU3NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvbnRyb2wtc2VsZWN0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQyMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufVxyXG5cclxuLy8gRG9jdW1lbnRhdGlvbiBsaXN0XHJcbi5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIuZGVwYXJ0bWVudC1jb2xvdXItcGFsZXR0ZSwgLmRvY3VtZW50YXRpb24tbGlzdC1pdGVtLWNvbnRhaW5lci5zaXRlLXN0eWxlIHtcclxuICAgIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgaDIge1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICRjb2xvdXI0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIge1xyXG4gICAgJiArIC5kb2N1bWVudGF0aW9uLWxpc3QtY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAmLnN0cmlwZXMge1xyXG4gICAgICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0Ym9keS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHVsIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGEgc3VibWVudSB0aGVuIHJldmVydCB0aGUgb3JkZXIuXHJcbiAgICAgICAgICAgICAgICAgICAgbGkuaXMtc3VibWVudS1pdGVtIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRib2R5LXN0cmlwZWQtcm93LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgZ2FwOiAwIDVweDtcclxuICAgICAgICAgICAgcGFkZGluZzogJGRvY3VtZW50YXRpb24tbGlzdC1pdGVtLXBhZGRpbmc7XHJcbiAgICAgICAgICAgIC5jb250ZXh0LW1lbnUtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gS2VlcCBjb250ZXh0IG1lbnUgaW5saW5lIHdpdGggYW5jaG9yLlxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNwYWNpbmctdmFsdWUoJGZ1bmN0aW9ucy1tZW51LWl0ZW0tcGFkZGluZywgMSkgMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAudG9vbHRpcC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLy8gRm9yIHNvbWUgcmVhc29uIHRoZSB0b29sdGlwIGljb24gaXMgaWdub3JpbmcgdGhlIGFsaWduLWl0ZW06IGJhc2VsaW5lOyBzZXQgb24gdGhlIHBhcmVudCBsaSB0aGlzIHZhcmllcyBkZXBlbmRhbnQgb24gdGhlIGZvbnQgYmVpbmcgdXNlZCwgc28gdGhpcyB3YXMgdGhlIG9ubHkgd2FzIHRvIGdldCBjb25zaXN0YW50IGJlaGF2b3VyLlxyXG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTAsICRjb2xvdXI2KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW5kZXgge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gVHlwaWNhbGx5IHVzZWQgZm9yIHBhZ2UgaW50cm8ncy5cclxuLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1pbnRyby1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWludHJvLWNvbnRhaW5lciB7XHJcbiAgICAtLWNvbXBvbmVudC1zcGVjaWZjLXN0ZXAtaGVpZ2h0OiA1NnB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICYubGF5b3V0LTEge1xyXG4gICAgICAgIG1hcmdpbjogMzVweCAwIDQ1cHg7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDQ1cHggMCA1NXB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGRvY3VtZW50YXRpb24taW50cm8tc3ViLWhlYWRpbmctY29sb3VyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB1bmRlcmxpbmUoMSwgKGRlZmF1bHQ6ICRjb2xvdXIzLTMpLCA1MHB4LCAxcHgsIChyaWdodDogMCwgYm90dG9tOiAwLFxyXG4gICAgICAgICAgICBsZWZ0OiAwKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGRvY3VtZW50YXRpb24taW50cm8taGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzYpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5sYXlvdXQtMiB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMzBweDtcclxuICAgICAgICBtYXJnaW46IDIwcHggMCAzMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDI1cHggMjBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IDgwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDQwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxLCBoMiB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGgxIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGRvY3VtZW50YXRpb24taW50cm8taGVhZGluZy1jb2xvdXI7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgICAgICAgY29sb3I6ICRkb2N1bWVudGF0aW9uLWludHJvLXN1Yi1oZWFkaW5nLWNvbG91cjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAzcHg7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuY29udGVudC1jb250YWluZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5iYW5uZXItY29udGFpbmVyIHtcclxuICAgICAgICAgICAgLmltYWdlIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogJGRvY3VtZW50YXRpb24taW50cm8tYmFubmVyLWJvcmRlci13aWR0aCBzb2xpZCAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjQ1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHtcclxuICAgIHVsIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgZ2FwOiA1cHggMjVweDtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgLy8gSnVzdCBsZXQgdGhlIGNvbnRlbnQgZmFsbCBvbiB0aGUgcGFnZS5cclxuICAgICAgICAgICAgZmxleDogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPdmVycmlkZSBkZWZhdWx0IGF0dGFjaG1lbnQgc3R5bGVzLlxyXG4gICAgLmF0dGFjaG1lbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtY29sb3VyKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcclxuICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3MtaWNvbi1jb2xvdXIpOyAgIFxyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGhvdmVyLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWNvbG91cik7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBob3Zlci1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6IGFjdGl2ZS1jb2xvdXIoJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1jb2xvdXIpO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogYWN0aXZlLWNvbG91cigkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLWljb24tY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQmVzcG9rZSBpY29ucyBmb3IgdGhpcyBhcmVhLlxyXG4gICAgICAgICYucHJpbnRlci1saW5rIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHByaW50ZXIpO1xyXG4gICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRvY3VtZW50YXRpb24tcHVibGljLWxpbmsge1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBkb2N1bWVudGF0aW9uLXB1YmxpYy11cmwpO1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICB9ICAgXHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZG9jdW1lbnRhdGlvbi1zdGF0aXN0aWNzIHtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZG9jdW1lbnRhdGlvbi1zdGF0aXN0aWNzKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gVGhlIGRvY3VtZW50YXRpb24gaGVhZGluZyBzdHlsZXMgYXJlIHVzaW5nIHRoZXNlIHJ1bGVzIGluc3RlYWQgb2YgdGhlIG5vcm1hbCBjbXMtaGVhZGluZyBtaXhpbiwgdGhlIG1vc3Qgb2J2aW91cyBydWxlIGNvbmZsaWN0aW9uIGlzIG5vdCB1c2luZyB0aGUgcHJpbWFyeS1jb2xvdXIgZm9yIHRoZSB0ZXh0IGNvbG91ciwgdGhlcmUgaXMgYWxzbyBtb3JlIG9mIGEgdXNlIG9mIHJ1bGVzIHdpdGggaDEgJiBoMi5cclxuLmRvY3VtZW50YXRpb24tY2hhcHRlci1oZWFkZXItY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyLCAuZG9jdW1lbnRhdGlvbi1jb250ZW50LWhlYWRlci1jb250YWluZXIge1xyXG4gICAgaDEge1xyXG4gICAgICAgIC8vIEFkanVzdGluZyBhZ2FpbiBhcyB0aGUgcnVsZSBpcyBwdXQgdGhlIGFib3ZlIGNvbnRlbnQgYXdheSBhbmQgbWFrZSB0aGUgY29udGVudCBiZWxvdyBzZWVtIGNsb3NlIHRvIGZvcm0gbW9yZSBvZiBhIGdyb3VwZWQgYWZmZWN0LlxyXG4gICAgICAgIG1hcmdpbjogbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMSk7IFxyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkaW5nLTEtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxLCAoZGVmYXVsdDogJGNvbG91cjMtMikpO1xyXG4gICAgICAgICYgKyAuZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luOiAgbWFwLWdldCgkY21zLWhlYWRpbmctbWFyZ2luLCBoMik7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRpbmctMi1jb2xvdXIsIHByZXNldC0zKTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIEBpbmNsdWRlIHVuZGVybGluZSgxLCAoZGVmYXVsdDogJGNvbG91cjMtMikpO1xyXG4gICAgfVxyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDMpO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGluZy0zLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEsIChkZWZhdWx0OiAkY29sb3VyMy0yKSk7XHJcbiAgICB9XHJcblxyXG4gICAgaDQge1xyXG4gICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRjbXMtaGVhZGluZy1tYXJnaW4sIGg0KTsgXHJcbiAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgY29sb3I6ICRoZWFkaW5nLTQtY29sb3VyO1xyXG4gICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIGg1IHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDUpOyBcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy01LWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgfVxyXG5cclxuICAgIGg2IHtcclxuICAgICAgICBtYXJnaW46IG1hcC1nZXQoJGNtcy1oZWFkaW5nLW1hcmdpbiwgaDYpOyBcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGNvbG9yOiAkaGVhZGluZy02LWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tYXJ0aWNsZS1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWxpc3QtaXRlbS1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyLW1hcmdpbjtcclxuICAgICYuaW5kZW50ZWQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG4gICAgfVxyXG4gICAgJi5pbmRlbnRlZC1ydWxlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgd2lkdGg6IDFweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItaGVhZGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24taGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAkZG9jdW1lbnRhdGlvbi1oZWFkZXItY29udGFpbmVyLW1hcmdpbjtcclxuICAgIC5kb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGlua3Mge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAkZG9jdW1lbnRhdGlvbi1hZGRpdGlvbmFsLWxpbmtzLXBhZGRpbmc7XHJcbiAgICAgICAgYm9yZGVyLXRvcDogJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rLXJ1bGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLWNoYXB0ZXItZm9vdGVyLWNvbnRhaW5lciwgLmRvY3VtZW50YXRpb24tZm9vdGVyLWNvbnRhaW5lciB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogJGRvY3VtZW50YXRpb24tYWRkaXRpb25hbC1saW5rcy1wYWRkaW5nO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIGJvcmRlci1ib3R0b206ICRkb2N1bWVudGF0aW9uLWFkZGl0aW9uYWwtbGluay1ydWxlO1xyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1hY3RpY2xlLWhlYWRlci1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWNvbnRlbnQtaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAvLyBQb3NpdGlvbiByZWxhdGl2ZSByZXF1aXJlIHRvIGtlZXAgY29udGV4dCBtZW51IGluIHBsYWNlLlxyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG5cclxuLmRvY3VtZW50YXRpb24tY29udGVudC1jb250YWluZXIge1xyXG4gICAgQGluY2x1ZGUgY21zLWFuY2hvcigpO1xyXG4gICAgQGluY2x1ZGUgY21zLXBhcmFncmFwaDtcclxuICAgIEBpbmNsdWRlIGNtcy10YWJsZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWJsb2NrcXVvdGUoKTtcclxuICAgIEBpbmNsdWRlIGNtcy15b3V0dWJlLXZpZGVvKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtY29kZSgpO1xyXG4gICAgQGluY2x1ZGUgY21zLWxpc3RzKCk7XHJcbiAgICBAaW5jbHVkZSBjbXMtaW1hZ2UoKTtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRkb2N1bWVudGF0aW9uLWNvbnRlbnQtY29udGFpbmVyLXdpZHRoO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1yZXN0cmljdGVkLWFjY2Vzcy1jb250YWluZXIsIC5kb2N1bWVudGF0aW9uLWludGVybmFsLXVzZS1vbmx5IHtcclxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAsIGxpLCAmLmRvY3VtZW50YXRpb24taW50ZXJuYWwtdXNlLW9ubHksIGEsIHRhYmxlIHRoZWFkIHRoLCB0YWJsZSB0Ym9keSB0ZCB7XHJcbiAgICAgICAgY29sb3I6ICRkb2N1bWVudGF0aW9uLXJlc3RyaWN0ZWQtY29udGVudC1jb2xvdXI7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kb2N1bWVudGF0aW9uLW5vdC1wdWJsaXNoZWQge1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcblxyXG4vLyBNYWtlIHN1cmUgaWYgYW4gaXRlbSBoYXMgYSB0b2dnbGUgYnV0dG9uIHRoYXQgY2hpbGQgaXRlbShzKSBrZWVwIGl0ZW0gZGVzY3JpcHRpb25zIGlubGluZS4gXHJcbnVsLmZ1bmN0aW9ucy1saXN0Omhhcyg+IGxpLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xyXG4gICAgPiBsaTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xyXG4gICAgICAgIC8vIEtlZXBpbmcgY29uc2lzdGFudCBhY3Jvc3MgYWxsIGRldmljZXMgLlxyXG4gICAgICAgIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xyXG4gICAgICAgIC8vIH1cclxuICAgIH1cclxuICAgIC8vIERvIHRoZSBzYW1lIGZvciBsb3dlciBsZXZlbCBtZW51cy5cclxuICAgIHVsLm1lbnU6aGFzKD4gbGkuaGFzLXN1Ym1lbnUtdG9nZ2xlKSB7XHJcbiAgICAgICAgPiBsaTpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkge1xyXG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tZW51LmZ1bmN0aW9ucy1saXN0IHtcclxuICAgIC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91cjogdmFyKC0tcHJpbWFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgPiB1bC5zdWJtZW51IHtcclxuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCA1cHggMTBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBPbmx5IGFmZmVjdCB0aGUgcm9vdCBsZXZlbC5cclxuICAgID4gbGk6aGFzKHVsLnN1Ym1lbnUuaXMtYWN0aXZlKSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkICRjb2xvdXIxO1xyXG4gICAgfVxyXG4gICAgLy8gQ2FzY2FkZS5cclxuICAgIGxpOmhhcyh1bC5zdWJtZW51LmlzLWFjdGl2ZSkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzLTU7XHJcbiAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXIsICRjb2xvdXI2KTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAvLyBBbGlnbmluZyB0byB0aGUgY2VudGVyIGR1ZSB0byBpbmNvbnNpc3RhbmNpZXMgaW4gaWNvbiBsaWJyYXJpZXMgYW5kIGZvbnQgbGlicmFyeXMuXHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIC8vIFNvIHRoZSBjb250ZXh0IG1lbnUgcmVtYWlucyBpbiB0aGUgc2FtZSBwbGFjZSB3aGVuIGNhc2NhZGluZyBkb3duIHRoZSBsZXZlbHMgaW4gYSBsaXN0LlxyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgID4gYSwgPiBidXR0b246YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLW1lbnUtZnVuY3Rpb24tbGlzdC1ob3Zlci1jb2xvdXIsICRjb2xvdXI2KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSB0b2dnbGUgYnV0dG9uIGFsbG93IHRoYXQgdG8gc3RyaW5rIHRoaXMgY29udGVudCB0byBmaXQgbmV4dCB0byBpdC5cclxuICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiBzbWFsbC12YWx1ZSgkZnVuY3Rpb25zLW1lbnUtaXRlbS1wYWRkaW5nKTtcclxuICAgICAgICAgICAgb3JkZXI6IDI7XHJcbiAgICAgICAgICAgICYgKyBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtNjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmdW5jdGlvbnMtbWVudS1hcnJvdy1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbWVudS1mdW5jdGlvbi1saXN0LWhvdmVyLWNvbG91ciwgJGNvbG91cjYpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gTGV2ZWwgMi5cclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG9yZGVyOiAzO1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmluZGV4IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAubmVzdGVkLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFsbG93IGluZGV4IHRvIGRpY3RhdGUgaG93IG11Y2ggc3BhY2UgdG8gc3BhbiBhY3Jvc3MuXHJcbiAgICAgICAgLmxpbmstZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC5oYXMtc3VibWVudS10b2dnbGUge1xyXG4gICAgLy8gICAgIGEge1xyXG4gICAgLy8gICAgICAgICAvLyBBZGRpbmcgcGFkZGluZyBhbGlnbiBjb250ZW50IHZlcnRpY2FsbHkgY2VudGVyYWwgdG8gdGhlIGNoZXZyb24gaW4gdGhlIHRvZ2dsZS1idXR0b24uXHJcbiAgICAvLyAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tcmVzdWx0cy1mb3VuZC1saXN0IHVsIHtcclxuICAgID4gbGkge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICB9XHJcbiAgICBsaSB7XHJcbiAgICAgICBwYWRkaW5nOiAxMHB4IDVweDsgXHJcbiAgICB9XHJcbiAgICAucmVzdWx0cy1pdGVtcy1jb250YWluZXIge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDA7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBicmVhZGNydW1icy1zZXBlcmF0b3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCA3cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1zZXBlcmF0b3ItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy9mb250LXNpemU6ICRicmVhZGNydW1icy1zZXBlcmF0b3Itc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5yZXN1bHRzLXNuaXBwZXQtY29udGFpbmVyIHtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAxMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmRvY3VtZW50YXRpb24tYmFjay1idXR0b24tY29udGFpbmVyIHtcclxuICAgIC5kb2N1bWVudGF0aW9uLWJhY2stYnV0dG9uIHtcclxuICAgICAgICAvLyBPdmVycmlkZSBzZWNvbmRhcnktYnV0dG9uIHN0eWxlcyBzbGlnaHRseSB0byBjb25mb3JtIHdpdGggb3RoZXIgZG9jdW1lbnRhdGlvbiBidXR0b25zLlxyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxufVxyXG5cclxuLy8gU3RhdGlzdGljcyBwYWdlLlxyXG4uc3RhdGlzdGljcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy01O1xyXG4gICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmxhYmVsIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEF1ZGl0IHRyYWlsIC8gcmV2aXNpb24gcmVsYXRlZCBlbGVtZW50cy5cclxuLnJldmlzaW9uLWNvdW50LWNvbnRhaW5lciB7XHJcbiAgICAmLnNlcGVyYXRvciB7XHJcbiAgICAgICAgc3BhbiB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA1cHg7IC8vIHJlZHVjaW5nIGR1ZSB0byBhY2NvdW50IGZvciBsaW5lLWhlaWdodC5cclxuICAgICAgICAgICAgQGluY2x1ZGUgdW5kZXJsaW5lKDEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHNwYW4ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgXHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIFRoaXMgaXMgZGlzcGxheWVkIG9uIHRoZSBwcmV2aWV3IHBhZ2UuXHJcbi5yZXZpc2lvbi1pbmZvcm1hdGlvbi1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4gICAgdGFibGUuYXVkaXQtdHJhaWwtZW50cnkge1xyXG4gICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS13aGl0ZS1jb2xvdXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gVGhpcyB3YXMgb3JpZ2luYWxseSBpbXBsZW1lbnRlZCBmb3IgdGhlIHN0YXRpYyBidWlsZCBnb29nbGUtdGFnLW1hbmFnZXItZXZlbnRzLlxyXG4udGVjaG5pY2FsLWRvY3VtZW50YXRpb24tbGlzdC1jb250YWluZXIge1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBtYXJnaW46IDQwcHggMDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTgpO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZG9jdW1lbnRhdGlvbi1kZW1vLWxpbmstY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0xMCk7XHJcbn1cclxuXHJcbi5pbnNwZWN0LXByb21wdCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmV4cHJlc3MtY29uZmlndXJhdGlvbiB7XHJcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTkpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMDBweDtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XHJcbiAgICB9XHJcbiAgICAuY29uZmlndXJhdGlvbi1zZWN0aW9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcclxuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtOCk7XHJcbiAgICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuYXhpcy1zZWN0aW9uLWhlYWRlciB7XHJcbiAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbmZpZ3VyYXRpb24taW50cm9kdWN0aW9uLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgLmNtcy1jb250ZW50LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGVjaG5pY2FsLWxpc3Qge1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy04KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLWNvbnRhaW5lciB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAuc3RhdGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCAxMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zdGF0ZS1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1zdGF0ZS1jb2xvdXIpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgICAgICAtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgIC0tc3RhdGUtY29sb3VyOiB2YXIoLS1zdWNjZXNzLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgICAgICAtLXN0YXRlLWJhY2tncm91bmQtY29sb3VyOiB2YXIoLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtOSk7XHJcbiAgICAgICAgICAgIC0tc3RhdGUtY29sb3VyOiB2YXIoLS13YXJuaW5nLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5rZXktdmFsdWUtcGFpciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICAubmFtZSB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubmV1dHJhbGlzZWQtaXRlbXMge1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMjBweDtcclxuICAgIC5wbGFjZWhvbGRlci12YWx1ZS1kaXNwbGF5IHtcclxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnBsYWNlaG9sZGVyLXZhbHVlLWRpc3BsYXkge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC5uYW1lIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIj0+XCI7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICAgICAgY29sb3I6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy02KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudmFsdWUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgY29sb3I6IHZhcigtLXByaW1hcnktY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgIH1cclxufSIsIi8qXHJcbi0tLS0tIENvbnRleHQgTWVudSAtLS0tLS0gXHJcbkVzc2VudGlhbGx5IGEgdG9vbGJhciAvIHRvb2xib3ggbWVudVxyXG4qL1xyXG5cclxuLmNvbnRleHQtbWVudS1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgei1pbmRleDogJGNvbnRleHQtbWVudS1jb250YWluZXItei1pbmRleDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgfVxyXG4gICAgJi5hY3RpdmUsICYuaXMtY2xvc2luZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgei1pbmRleDogI3soJGNvbnRleHQtbWVudS1jb250YWluZXItei1pbmRleCArIDEpfTtcclxuICAgIH1cclxuXHJcbiAgICBvbCwgdWwge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvbCwgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFdpbGwgYmUgb2sgYXQgdGhlIHRpbWUgb2YgYnVpbGRpbmcgYnV0IG1heSBoYXZlIHRvIGV4dGVuZCBpbiB0aGUgZnV0dXJlIHRvIHVzZSBKUyB0byBnaXZlIGFuIGV4YWN0IG1lYXN1cmUuXHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNzAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm8sIGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogbWF4LXdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBidXR0b24ubWVudS1vcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAubWVudS1vcHRpb24taWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKDI1ZGVnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgb2wsIHVsIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC8vYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgLy9ib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMDtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEhlaWdodCB1c2VkIHRvIHN0b3AgYm9yZGVycyBmcm9tIG92ZXJsYXBwaW5nIHRyaWdnZXIgYnV0dG9uIGhlaWdodC5cclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG1heC13aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc3RhdGUtbWVudS1jb250YWluZXIge1xyXG4gICAgICAgIC5tZW51LW9wdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBcclxuICAgIH1cclxuXHJcbiAgICAuZWRpdC1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgLm1lbnUtb3B0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0td2hpdGUtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNlY29uZGFyeS1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5tZW51LW9wdGlvbi1jb250YWluZXIge1xyXG4gICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICB3aWR0aDogNDVweDtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAvLyBEdWUgdG8gdXNpbmcgYSBtaXh0dXJlIG9mIGZvbnQgZmFtaWxpZXMgaGF2aW5nIHRvIHNldCB0byBjZW50ZXIgaW5zdGVhZCBvZiBiYXNlbGluZS5cclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogMTBweDtcclxuICAgICAgICBwYWRkaW5nOiA3LjVweCAxMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvdXIwO1xyXG4gICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tZW51LW9wdGlvbi1sYWJlbCB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ29tbW9uIHN0eWxlcyBiZXR3ZWVuIGFsbCBidXR0b25zLlxyXG4gICAgICAgIC5tZW51LW9wdGlvbi1pY29uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1pY29uLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgXHJcbiAgICAgICAgLy8gU3RhdHVzIE9wdGlvbnMuXHJcbiAgICAgICAgJi5hY2Nlc3MtbGV2ZWwge1xyXG4gICAgICAgICAgICAubWVudS1vcHRpb24taWNvbi1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1hY2Nlc3MtbGV2ZWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb24tdGV4dCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtMCB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTQpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtMSB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuc3RhdGUtdmFsdWUtMiB7XHJcbiAgICAgICAgICAgICAgICAtLWljb24tY29sb3VyOiB2YXIoLS1ibGFjay1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWJsYWNrLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJi5zdGF0ZS12YWx1ZS0zLCAmLnN0YXRlLXZhbHVlLTQge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tYWNjZW50LWNvbG91ci0xLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1hY2NlbnQtY29sb3VyLTEtbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYucHVibGlzaGVkIHtcclxuICAgICAgICAgICAgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtcHVibGlzaGVkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLXRydWUge1xyXG4gICAgICAgICAgICAgICAgLS1pY29uLWNvbG91cjogdmFyKC0tc3VjY2Vzcy1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLXN1Y2Nlc3MtY29sb3VyLWxpZ2h0bmVzcy0wKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmLnN0YXRlLXZhbHVlLWZhbHNlIHtcclxuICAgICAgICAgICAgICAgIC0taWNvbi1jb2xvdXI6IHZhcigtLW5ldXRyYWwtY29sb3VyLWxpZ2h0bmVzcy00KTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1uZXV0cmFsLWNvbG91ci1saWdodG5lc3MtNCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIEVkaXQgT3B0aW9ucy5cclxuICAgICAgICAmLmVkaXQtbWVudSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LW1lbnUtZWRpdCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5lZGl0LXRleHQgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1lZGl0LXRleHQpO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuZWRpdC1wcm9wZXJ0aWVzIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtZWRpdC1wcm9wZXJ0aWVzKTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWVkaXQtcHJvcGVydGllcy1pY29uKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tb3ZlLXVwIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtbW92ZS11cCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubW92ZS1kb3duIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtbW92ZS1kb3duKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5pbnNlcnQtYmVmb3JlIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtaW5zZXJ0LWJlZm9yZSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZXhwcmVzcy1kZWZhdWx0LWljb25zLCAkc2l0ZS1pY29ucy1jdXN0b20tY29udGV4dC1tZW51LWluc2VydC1iZWZvcmUtaWNvbik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaW5zZXJ0LWFmdGVyIC5tZW51LW9wdGlvbi1pY29uOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGNvbnRleHQtaW5zZXJ0LWFmdGVyKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRleHByZXNzLWRlZmF1bHQtaWNvbnMsICRzaXRlLWljb25zLWN1c3RvbS1jb250ZXh0LW1lbnUtaW5zZXJ0LWFmdGVyLWljb24pO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnByb21vdGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1wcm9tb3RlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5kZW1vdGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1kZW1vdGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmRlbGV0ZSAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWRlbGV0ZSk7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5tb3ZlLWFydGljbGUgLm1lbnUtb3B0aW9uLWljb246YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgY29udGV4dC1tb3ZlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5hdWRpdC10cmFpbCAubWVudS1vcHRpb24taWNvbjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBjb250ZXh0LWF1ZGl0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gR3JhZHVhdGVkIENvbG91ciBFZGdlIC0tLS0tLSBcclxuRWRnZSBlZmZlY3Qgd2hlcmUgdGhlIGlzIHR5cGljYWxseSAzIHRvbmVzIG9mIGEgc3BlY2lmaWMgY29sb3VyIGluIHRoZSBjb3JuZXIgb2YgYSBlbGVtZW50IC8gY29tcG9uZW50LlxyXG5Qb3NzaWJsZSBjbGFzcyBjb25maWd1cmF0aW9uIG9wdGlvbnM6XHJcbi0gT3BhY2l0eSBlbnVtZXJhdGlvbiAoIEhpZ2gsIE1lZGl1bSwgTG93IClcclxuLSBQb3NpdGlvbiBUb3AgKyBCb3R0b20gTCAmIFIgY29ybmVyc1xyXG5cclxuRm9yIGEgZGVtb25zdHJhdGlvbiBnbyB0byAvc3RhdGljL2dyYWR1YXRlZC1jb2xvdXItZWRnZS10ZXN0Lmh0bWxcclxuKi9cclxuXHJcblxyXG5cclxuLmdyYWR1YXRlZC1jb2xvdXItZWRnZSB7XHJcbiAgICAtLWdyYWR1YXRlZC1zdGVwLWhlaWdodDogdmFyKC0tY29tcG9uZW50LXNwZWNpZmMtc3RlcC1oZWlnaHQsICN7JGdyYWR1YXRlZC1jb2xvdXItZWRnZS1zdGVwLWhlaWdodH0pO1xyXG4gICAgJGdyYWR1YXRlZC1zdGVwLXdpZHRoOiA2MDBweDtcclxuICAgIHdpZHRoOiAkZ3JhZHVhdGVkLXN0ZXAtd2lkdGg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC8vIFRvcCBMZWZ0LlxyXG4gICAgJi5wb3NpdGlvbi0xIHtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgcmlnaHQ6IGNhbGMoMTAwJSAtICgjeygkZ3JhZHVhdGVkLXN0ZXAtd2lkdGggLyAyKX0gKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqICN7XCIuXCIgKyAkZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX0pKSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLSN7JGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9ZGVnKTtcclxuICAgIH1cclxuICAgIC8vIFRvcCBSaWdodC5cclxuICAgICYucG9zaXRpb24tMiB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSAtICgjeygkZ3JhZHVhdGVkLXN0ZXAtd2lkdGggLyAyKX0gKyAodmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KSAqICN7XCIuXCIgKyAkZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX0pKSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoI3skZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX1kZWcpO1xyXG4gICAgfVxyXG4gICAgLy8gQm90dG9tIExlZnQuXHJcbiAgICAmLnBvc2l0aW9uLTMge1xyXG4gICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgLSAoI3soJGdyYWR1YXRlZC1zdGVwLXdpZHRoIC8gMil9ICsgKHZhcigtLWdyYWR1YXRlZC1zdGVwLWhlaWdodCkgKiAje1wiLlwiICsgJGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9KSkpO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoI3skZ3JhZHVhdGVkLWNvbG91ci1lZGdlLXJvdGF0ZX1kZWcpO1xyXG4gICAgfVxyXG4gICAgLy8gQm90dG9tIFJpZ2h0LlxyXG4gICAgJi5wb3NpdGlvbi00IHtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogY2FsYygxMDAlIC0gKCN7KCRncmFkdWF0ZWQtc3RlcC13aWR0aCAvIDIpfSArICh2YXIoLS1ncmFkdWF0ZWQtc3RlcC1oZWlnaHQpICogI3tcIi5cIiArICRncmFkdWF0ZWQtY29sb3VyLWVkZ2Utcm90YXRlfSkpKTtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLSN7JGdyYWR1YXRlZC1jb2xvdXItZWRnZS1yb3RhdGV9ZGVnKTtcclxuICAgIH1cclxuICAgICYub3BhY2l0eS0xIHtcclxuICAgICAgICAuc3RlcCB7XHJcbiAgICAgICAgICAgIG9wYWNpdHk6IC45O1xyXG4gICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgICAgICAgICAmICsgLnN0ZXAge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4zO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5vcGFjaXR5LTIge1xyXG4gICAgICAgIC5zdGVwIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjY7XHJcbiAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAgICAgICAgICYgKyAuc3RlcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogLjE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm9wYWNpdHktMyB7XHJcbiAgICAgICAgLnN0ZXAge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAuMztcclxuICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IC4yO1xyXG4gICAgICAgICAgICAgICAgJiArIC5zdGVwIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zdGVwIHtcclxuICAgICAgICB3aWR0aDogJGdyYWR1YXRlZC1zdGVwLXdpZHRoO1xyXG4gICAgICAgIGhlaWdodDogdmFyKC0tZ3JhZHVhdGVkLXN0ZXAtaGVpZ2h0KTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG91ci1saWdodG5lc3MtMCk7XHJcbiAgICB9XHJcbn0iLCIvKlxyXG4tLS0tLSBBeGlzIFJpY2ggVGV4dCBFZGl0b3JzIC0tLS0tIFxyXG5CZXNwb2tlIHJ1bGVzIHRoYXQgZ2V0IGFwcGxpZWQgd2hlbiBpbnRlcmdyYXRpbmcgd2l0aCB0aGlyZC1wYXJ0eSBlZGl0b3JzLlxyXG5cclxuR2VuZXJhbCBydWxlcyB0aGF0IGdldCBhcHBsaWVkIHRvIC5yaWNoLXRleHQtZWRpdG9yLWNvbnRhaW5lciB3aGljaCBpcyB0aGUgY29tbW9uIGNvbnRhaW5lciB0aGF0IGdldHMgdXNlZCBhY3Jvc3MgYWxsIGVkaXRvcnMuXHJcbiovXHJcblxyXG4vLyBNYWtlIHN1cmUgY2tlZGl0b3IncyBjb250ZW50IG92ZXJsYXBzIG1vZGFscyBhcyBpdCBkb2VzIERPTSBtYW5pcGxhdGlvbiBvdXRzaWRlIG9mIG1vZGFscy5cclxuLmNrLWJvZHktd3JhcHBlciB7XHJcbiAgICAvLyBNYWtlIHN1cmUgY29udGVudCBvdmVybGFwcyBtb2RhbHMuXHJcbiAgICB6LWluZGV4OiAjeygkbW9kYWwtY29udGVudC16LWluZGV4ICsgMjApfTtcclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jay1lZGl0b3Ige1xyXG4gICAgLmNrLWNvbnRlbnQge1xyXG4gICAgICAgIHVsIHtcclxuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyIHtcclxuICAgIC8vIEVkaXRvciBzcGVjaWZpYyBDU1MgdmFyaWFibGVzLlxyXG4gICAgLS1jay1jb2xvci1iYXNlLWJvcmRlcjogI3skY29sb3VyMy0xfTtcclxuICAgIC0tY2stY29sb3ItYmFzZS1lcnJvcjogI3ttYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApfTtcclxuICAgIC0tY2staW1hZ2Utc3R5bGUtc3BhY2luZzogI3tzcGFjaW5nLXZhbHVlKCRjbXMtaW1hZ2Utc3BhY2luZywgMSl9O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLS1jay1jb2xvci1pbWFnZS1jYXB0aW9uLXRleHQ6ICN7JGJvZHktZm9udC1jb2xvdXJ9O1xyXG59XHJcbi8vIE1ha2Ugc3VyZSB0ZXh0IGFyZWEgaXMgbm90IHNob3duIHdoZW4gaW5pdGlhbGlzaW5nLlxyXG5bZGF0YS1heGlzLXJpY2gtdGV4dC1lZGl0b3JdIHtcclxuICAgIC8vIEJlZm9yZSBpbml0aWFsaXNhdGlvbiBtYWtlIHN1cmUgY29udGVudCBpcyBtaW4taGVpZ2h0OiAxMDBweCBmb3Igc3Bpbm5lci5cclxuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgJjpub3QoLnJpY2gtdGV4dC1lZGl0b3ItY29udGFpbmVyKSB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIH1cclxuICAgID4gdGV4dGFyZWEge1xyXG4gICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfSAgIFxyXG59XHJcbi8vIFN1cHByZXNzaW5nIHRoaXMgYXMgZm9ybWFsIHBhZ2UgYnV0dG9ucyBoYXMgbm93IGJlZW4gaW1wbGVtZW50ZWQgZm9yIG1vZGFscyA4NjI1NjYuXHJcbi8vIC5zdWJtaXNzaW9uLWNvbnRyb2xzLWNvbnRhaW5lciB7XHJcbi8vICAgICB3aWR0aDogMTAwJTtcclxuLy8gICAgIGRpc3BsYXk6IGZsZXg7XHJcbi8vICAgICBtYXJnaW46IDIwcHggMCAwO1xyXG4vLyB9XHJcblxyXG4uY2stc291cmNlLWVkaXRpbmctYXJlYSB0ZXh0YXJlYSB7XHJcbiAgICBvdmVyZmxvdzogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgXHJcbn1cclxuXHJcbi8vIEluZGVudGF0aW9uLlxyXG5AZm9yICRpbmRlbnRhdGlvbi1sZXZlbCBmcm9tIDEgdGhyb3VnaCAkcmljaC10ZXh0LWVkaXRvci1pbmRlbnRhdGlvbi1tYXgtbGV2ZWxzIHtcclxuICAgIC5heGlzLWVkaXRvci1pbmRlbnQtbGV2ZWwtI3skaW5kZW50YXRpb24tbGV2ZWx9IHtcclxuICAgICAgICAtLWluZGVudC1tYXJnaW46IDAgMCAwIGNhbGMoI3skaW5kZW50YXRpb24tbGV2ZWx9ICogI3skcmljaC10ZXh0LWVkaXRvci1pbmRlbnRhdGlvbi1vZmZzZXR9KTtcclxuICAgICAgICAmICsgdWwsICYgKyBvbCB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKCN7JGluZGVudGF0aW9uLWxldmVsfSAqICN7JHJpY2gtdGV4dC1lZGl0b3ItaW5kZW50YXRpb24tb2Zmc2V0fSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiIsIi8qXHJcblxyXG4tLS0tLSBWaWRlbyBQbGF5ZXIgLS0tLVxyXG5cclxuSU1QT1JUQU5UOiBUaGlzIGlzIHNwZWNpZmljYWxseSBmb3IgZW1iZWRkaW5nIFlvdXR1YmUgdmlkZW9zIC8gQmFubmVyIHNlcmllcy4gL3N0YXRpYy92aWRlby1zZXJpZXMuaHRtbFxyXG5cclxuSGFuZGxlczpcclxuLSBUaHVtYm5haWwgcGxheSBpY29uLlxyXG4tIER1cmF0aW9uIGZvcm1hdHRpbmcuXHJcbi0gVmlkZW8gaW5kaWNhdG9yIHRleHQgKCBjbGljayBoZXJlIHRvIHdhdGNoIHZpZGVvIClcclxuXHJcbiovXHJcblxyXG5cclxuXHJcbi52aWRlby1wbGF5ZXItY29udGFpbmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigje2hvdmVyLWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cil9KTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigje2hvdmVyLWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWJhY2tncm91bmQpfSk7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigje2hvdmVyLWNvbG91cigkdmlkZW8tcGxheWVyLXRodW1ibmFpbC1pY29uLWNvbG91cil9KTtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybywgYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaW1hZ2Uge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBAaW5jbHVkZSB2aWRlby1wbGF5LWljb24tb3ZlcmxheSgpO1xyXG4gICAgfVxyXG4gICAgLmR1cmF0aW9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDVweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgdmlkZW8tcGxheWVyLWR1cmF0aW9uLWljb25zKTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udEF3ZXNvbWVTb2xpZDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAubGFiZWwsIC52YWx1ZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC52aWRlby1wbGF5ZXItaW5kaWNhdG9yLXRleHQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICB9XHJcbiAgICAvLyBGb3JjZSByZWFkIG1vcmUgY29udGFpbmVycyB0byBzaHJpbmsgdG8gZml0IGF2YWlsYWJsZSBhcmVhLlxyXG4gICAgLnJlYWQtbW9yZSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qXHJcbiAgTXVsdGltZWRpYSBFbGVtZW50XHJcbiAgXHJcbiAgSGFuZGxlcyBzdHlsaW5nIGZvciB2aWRlbyBwbGF5YmFja1xyXG5cclxuKi9cclxuXHJcbi8vIEdlbmVyYWwgdmlkZW8gcnVsZXMuXHJcbnZpZGVvIHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxufVxyXG5cclxuLnZpZGVvIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIFN1cHByZXNzaW5nIGJlc3Bva2Ugb3ZlcmxheSBmb3IgU2FmYXJpIGR1ZSB0byBubyBcclxuICAgIEBzdXBwb3J0cyBub3QgKC1hcHBsZS1wYXktYnV0dG9uLXN0eWxlOiBpbmhlcml0KSB7XHJcbiAgICAgICAgJi5pcy1yZWFkeS10by1wbGF5IHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdmlkZW8tcGxheS1pY29uLW92ZXJsYXkoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5yZXBsYXktdmlkZW8ge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB2aWRlby1yZXBsYXktaWNvbi1vdmVybGF5KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBVbnN1cHBvcnRlZCBtZWRpYSB0eXBlLlxyXG4uc291cmNlLXVuc3VwcG9ydGVkIHtcclxuICAgICYgPiB2aWRlbyB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgICYgPiBpbWcge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEZhbGxiYWNrIGVsZW1lbnQuXHJcbltkYXRhLWZhbGxiYWNrXSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5mYWxsYmFjay1lbGVtZW50IHtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuICAgIGltZyB7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuICAgIC5mYWxsYmFjay10ZXh0IHtcclxuICAgICAgICAkYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAxMCk7XHJcbiAgICAgICAgJGVycm9yLWljb24tc2l6ZTogMzJweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICN7KCRlcnJvci1pY29uLXNpemUgKyAyMCl9IDFmcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZC1jb2xvdXIsIC44KTtcclxuICAgICAgICBjb2xvcjogdmFyKC0tbmV1dHJhbC1jb2xvdXItbGlnaHRuZXNzLTApO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGFsZXJ0KTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGVycm9yLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICAgICAgZ3JpZC1yb3c6IDEgLyBzcGFuIDI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lcnJvci1kZXRhaWxzIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHNwYW4sIGRpdiB7XHJcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4ZXNcblxuQG1peGluIGZvdW5kYXRpb24tbm9ybWFsaXplKCkge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLy8gRG9jdW1lbnRcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuXG4gIGh0bWwge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvLyAxXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIH1cblxuICAvLyBTZWN0aW9uc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2Vycy5cblxuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gIC8vIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG4gIH1cblxuICAvLyBHcm91cGluZyBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgLy8gMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLyAxXG4gICAgaGVpZ2h0OiAwOyAvLyAxXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cblxuICBwcmUge1xuICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLy8gMVxuICAgIGZvbnQtc2l6ZTogMWVtOyAvLyAyXG4gIH1cblxuICAvLyBUZXh0LWxldmVsIHNlbWFudGljc1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gIC8vIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDA7IC8vIDFcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICB9XG5cbiAgLy8gMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIGNvZGUsXG4gIGtiZCxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyAxXG4gICAgZm9udC1zaXplOiAxZW07IC8vIDJcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAvLyBhbGwgYnJvd3NlcnMuXG5cbiAgc3ViLFxuICBzdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICAvLyBFbWJlZGRlZCBjb250ZW50XG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cblxuICBpbWcge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgfVxuXG4gIC8vIEZvcm1zXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiAgLy8gMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gIC8vIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cblxuICBidXR0b24sXG4gIGlucHV0LFxuICBvcHRncm91cCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8vIDFcbiAgICBmb250LXNpemU6IDEwMCU7IC8vIDFcbiAgICBsaW5lLWhlaWdodDogMS4xNTsgLy8gMVxuICAgIG1hcmdpbjogMDsgLy8gMlxuICB9XG5cbiAgLy8gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gIC8vIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG5cbiAgYnV0dG9uLFxuICBpbnB1dCB7IC8vIDFcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAvLyAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uLFxuICBzZWxlY3QgeyAvLyAxXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuXG4gIGJ1dHRvbixcbiAgW3R5cGU9XCJidXR0b25cIl0sXG4gIFt0eXBlPVwicmVzZXRcIl0sXG4gIFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuXG4gIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gIH1cblxuICAvLyBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG5cbiAgZmllbGRzZXQge1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gIC8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgLy8gMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAvLyAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cblxuICBsZWdlbmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgICBjb2xvcjogaW5oZXJpdDsgLy8gMlxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAxXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gICAgcGFkZGluZzogMDsgLy8gM1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5cbiAgcHJvZ3Jlc3Mge1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuXG4gIHRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG5cbiAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICAgIHBhZGRpbmc6IDA7IC8vIDJcbiAgfVxuXG4gIC8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblxuICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAvLyAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cblxuICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIDFcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMlxuICB9XG5cbiAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuXG4gIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAvLyAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG5cbiAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDFcbiAgICBmb250OiBpbmhlcml0OyAvLyAyXG4gIH1cblxuICAvLyBJbnRlcmFjdGl2ZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG5cbiAgZGV0YWlscyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG5cbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogbGlzdC1pdGVtO1xuICB9XG5cbiAgLy8gTWlzY1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cblxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwLlxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gRGlzYWJsZSBvdXRsaW5lIHdoZW4gaW50ZW50IGlzIGNsZWFybHkgbW91c2UgYW5kIHRvdWNoXG4gIFtkYXRhLXdoYXRpbnRlbnQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGludGVudD1cInRvdWNoXCJdLFxuICBbZGF0YS13aGF0aW5wdXQ9XCJtb3VzZVwiXSxcbiAgW2RhdGEtd2hhdGlucHV0PVwidG91Y2hcIl0ge1xuICAgICosICo6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlIGlPUyBjYWxsb3V0cyB3aGVuIGRyYWdnYWJsZSBpcyBmYWxzZVxuICBbZHJhZ2dhYmxlPWZhbHNlXSB7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIFwicHJpbWFyeVwiOiAjMTc3OWJhLFxuICBcInNlY29uZGFyeVwiOiAjNzY3Njc2LFxuICBcInN1Y2Nlc3NcIjogIzNhZGI3NixcbiAgXCJ3YXJuaW5nXCI6ICNmZmFlMDAsXG4gIFwiYWxlcnRcIjogI2NjNGIzNyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHNhZmUgcGFkZGluZyBvbiB0aGUgYm9keSBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRldmljZXMgKGkuZS4gcGhvbmVzIHdpdGggbm90Y2hlcylcbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1zYWZlLXBhZGRpbmc6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwb3NpdGlvbmluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wb3NpdGlvbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBtZW51IHN0eWxlcy4gQ2FuIGJlIG92ZXJ3cml0dGVuIGF0IGluZGl2aWR1YWwgbWVudSBjb21wb25lbnQgbGV2ZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1lbnUtcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIG1lbnUgc3R5bGVzLiBOZXN0ZWQgbWFyZ2luIGZvciBzdWJtZW51LlxuJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlZCByZXNwb25zaXZlIGJyZWFrcG9pbnRzIGZvciBwcm90b3R5cGVzIGlmIGFwcGxpY2FibGVcbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50czogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gY3Vyc29yJ3MgdmFsdWUsIGBhdXRvYCBieSBkZWZhdWx0XG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZSB0aGF0IGNvbnRhaW5zIHRoZSBmbGV4IGp1c3RpZnlpbmcgb3B0aW9uc1xuJC16Zi1mbGV4LWp1c3RpZnk6IC16Zi1mbGV4LWp1c3RpZnkoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbik7XG5cbi8vLyBHbG9iYWwgdG9sZXJhbmNlIGZvciBjb2xvciBwaWNrIGNvbnRyYXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMCAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIEBpZiAoJGJvZHktc2FmZS1wYWRkaW5nKSB7XG4gICAgICAvLyB1c2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gYWNjb3VudCBmb3Igbm9uLXJlY3Rhbmd1bGFyIGRpc3BsYXlzIGUuZy4gcGhvbmVzIHdpdGggbm90Y2hlc1xuICAgICAgcGFkZGluZy10b3A6IGVudihzYWZlLWFyZWEtaW5zZXQtdG9wKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGVudihzYWZlLWFyZWEtaW5zZXQtcmlnaHQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcbiAgICAgIHBhZGRpbmctbGVmdDogZW52KHNhZmUtYXJlYS1pbnNldC1sZWZ0KTtcbiAgICB9XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4ZXNcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjdXJzb3I6ICRnbG9iYWwtYnV0dG9uLWN1cnNvcjtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIH1cblxuICAvLyBNYWtlIHJlc2V0IGluaGVyaXQgZm9udC1mYW1pbHkgaW5zdGVhZCBvZiBzZXR0aW5ncyBzYW5zLXNlcmlmXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJC16Zi1icC12YWx1ZTogbnVsbDtcblxuLy8vIENyZWF0ZXMgYW4gaW5uZXIgYm94LXNoYWRvdyBmb3Igb25seSBvbmUgc2lkZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2lkZSAtIFNpZGUgdGhlIHNoYWRvdyBpcyBzdXBwb3NlZCB0byBhcHBlYXIuIENhbiBiZSBgdG9wYCwgYGxlZnRgLCBgcmlnaHRgIG9yIGBib3R0b21gLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSAtIFdpZHRoIGZvciB0aGUgdGFyZ2V0IHNpZGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3Igb2YgdGhlIHNoYWRvdy5cbkBtaXhpbiBpbm5lci1zaWRlLXNoYWRvdyhcbiAgJHNpZGU6IGJvdHRvbSxcbiAgJHNpemU6IDIwcHgsXG4gICRjb2xvcjogcmdiYSgkYmxhY2ssIDAuMjUpXG4pIHtcblxuICAkaGVscGVyOiByb3VuZCgkc2l6ZSAqIDAuNjUpO1xuXG4gIEBpZiAoJHNpZGUgPT0gdG9wKSB7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAkaGVscGVyICRzaXplICgtMSkqJGhlbHBlciAkY29sb3I7XG4gIH0gQGVsc2UgaWYgKCRzaWRlID09IGxlZnQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAkaGVscGVyIDAgJHNpemUgKC0xKSokaGVscGVyICRjb2xvcjtcbiAgfSBAZWxzZSBpZiAoJHNpZGUgPT0gcmlnaHQpIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAoLTEpKiRoZWxwZXIgMCAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9IEBlbHNlIGlmICgkc2lkZSA9PSBib3R0b20pIHtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwICgtMSkqJGhlbHBlciAkc2l6ZSAoLTEpKiRoZWxwZXIgJGNvbG9yO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGRpdmlkZSgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycyksICRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmVyc2lvbj1cIjEuMVwiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMzIgMjRcIj48cG9seWdvbiBwb2ludHM9XCIwLDAgMzIsMCAxNiwyNFwiIHN0eWxlPVwiZmlsbDogI3skcmdifVwiPjwvcG9seWdvbj48L3N2Zz4nKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRpKSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBSZW1vdmVzIHRoZSBmb2N1cyByaW5nIGFyb3VuZCBhbiBlbGVtZW50IHdoZW4gYSBtb3VzZSBpbnB1dCBpcyBkZXRlY3RlZC5cbkBtaXhpbiBkaXNhYmxlLW1vdXNlLW91dGxpbmUge1xuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gJiB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBzdGlsbCBhY2Nlc3NpYmxlIHRvIGtleWJvYXJkcyBhbmQgYXNzaXN0aXZlIGRldmljZXMuXG4vLy8gQGxpbmsgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSBIaWRpbmcgQ29udGVudCBmb3IgQWNjZXNzaWJpbGl0eVxuLy8vIEBsaW5rIGh0dHA6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRlbmZvcmNlIC0gSWYgYHRydWVgLCB1c2UgYCFpbXBvcnRhbnRgIG9uIGFwcGxpZWQgcHJvcGVydGllc1xuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlKFxuICAkZW5mb3JjZTogdHJ1ZVxuKSB7XG4gICRpbXBvcnRhbnQ6IGlmKCRlbmZvcmNlLCAnIWltcG9ydGFudCcsIG51bGwpO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogMXB4ICN7JGltcG9ydGFudH07XG4gIGhlaWdodDogMXB4ICN7JGltcG9ydGFudH07XG4gIHBhZGRpbmc6IDAgI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAjeyRpbXBvcnRhbnR9O1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApICN7JGltcG9ydGFudH07XG4gIHdoaXRlLXNwYWNlOiBub3dyYXAgI3skaW1wb3J0YW50fTtcbiAgYm9yZGVyOiAwICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZW5mb3JjZSAtIElmIGB0cnVlYCwgdXNlIGAhaW1wb3J0YW50YCBvbiBhcHBsaWVkIHByb3BlcnRpZXNcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYoXG4gICRlbmZvcmNlOiB0cnVlXG4pIHtcbiAgJGltcG9ydGFudDogaWYoJGVuZm9yY2UsICchaW1wb3J0YW50JywgbnVsbCk7XG5cbiAgcG9zaXRpb246IHN0YXRpYyAjeyRpbXBvcnRhbnR9O1xuICB3aWR0aDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICBoZWlnaHQ6IGF1dG8gI3skaW1wb3J0YW50fTtcbiAgb3ZlcmZsb3c6IHZpc2libGUgI3skaW1wb3J0YW50fTtcbiAgY2xpcDogYXV0byAjeyRpbXBvcnRhbnR9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsICN7JGltcG9ydGFudH07XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIHZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBob3Jpem9udGFsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG59XG5cbi8vLyBBYnNvbHV0ZWx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGFic29sdXRlLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbi8vLyBJdGVyYXRlcyB0aHJvdWdoIGJyZWFrcG9pbnRzIGRlZmluZWQgaW4gYCRicmVha3BvaW50LWNsYXNzZXNgIGFuZCBwcmludHMgdGhlIENTUyBpbnNpZGUgdGhlIG1peGluIGF0IGVhY2ggYnJlYWtwb2ludCdzIG1lZGlhIHF1ZXJ5LiBVc2UgdGhpcyB3aXRoIHRoZSBncmlkLCBvciBhbnkgb3RoZXIgY29tcG9uZW50IHRoYXQgaGFzIHJlc3BvbnNpdmUgY2xhc3Nlcy5cbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHNtYWxsIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIHNraXAgdGhlIGBzbWFsbGAgYnJlYWtwb2ludC4gVXNlIHRoaXMgd2l0aCBjb21wb25lbnRzIHRoYXQgZG9uJ3QgcHJlZml4IGNsYXNzZXMgd2l0aCBgc21hbGwtYCwgb25seSBgbWVkaXVtLWAgYW5kIHVwLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzIFt0cnVlXSAtIElmIGBmYWxzZWAsIHRoZSBtaXhpbiB3aWxsIGl0ZXJhdGUgb3ZlciBicmVha3BvaW50cyB3aXRob3V0IGRvaW5nIHRoZSBtZWRpYSBxdWVyeSBpdHNlbGYuIFVzZWZ1bCBmb3IgbW9yZSBjb21wbGV4IG1lZGlhIHF1ZXJ5IGdlbmVyYXRpb24gYXMgaW4gdGhlIG1hcmdpbiBncmlkLlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQoXG4gICRzbWFsbDogdHJ1ZSxcbiAgJGF1dG8taW5zZXJ0LWJyZWFrcG9pbnRzOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludC1pbihhdXRvLCAtemYtYm9vbCgkc21hbGwpLCAtemYtYm9vbCgkYXV0by1pbnNlcnQtYnJlYWtwb2ludHMpKSB7XG4gICAgQGNvbnRlbnRcbiAgfTtcbn1cblxuLy8vIEl0ZXJhdGVzIHdpdGggYEBjb250ZW50YCB0aHJvdWdoIHRoZSBnaXZlbiBsaXN0IG9mIGJyZWFrcG9pbnRzIGAkYnJlYWtwb2ludHNgLlxuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJyZWFrcG9pbnRzIFthdXRvXSAtIEJyZWFrcG9pbnRzIHRvIGl0ZXJhdGVzIG9uLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufE51bGx9ICR6ZXJvLWJyZWFrcG9pbnQgW251bGxdIC0gV2hldGhlciB0aGUgemVyby1icmVha3BvaW50IChvZnRlbiBgc21hbGxgKSBtdXN0IGJlIGluY2x1ZGVkLiBJZiBgdHJ1ZWAsIGl0IHdpbGwgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBsaXN0IGlmIG5vdCBhbHJlYWR5IHRoZXJlLiBJZiBgZmFsc2VgLCBpdCB3aWxsIGFsd2F5cyBiZSByZW1vdmVkLiBEb2VzIG5vdGhpbmcgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW58S2V5d29yZH0gJG1lZGlhLXF1ZXJpZXMgW3RydWVdIC0gV2hldGhlciBtZWRpYS1xdWVyaWVzIG11c3QgYmUgZ2VuZXJhdGVkLiBJZiBgZm9yLWxpc3RzYCwgb25seSBnZW5lcmF0ZSBtZWRpYS1xdWVyaWVzIHdoZW4gYCRicmVha3BvaW50c2AgaXMgYSBsaXN0LlxuQG1peGluIC16Zi1lYWNoLWJyZWFrcG9pbnQtaW4oXG4gICRicmVha3BvaW50czogYXV0byxcbiAgJHplcm8tYnJlYWtwb2ludDogbnVsbCxcbiAgJG1lZGlhLXF1ZXJpZXM6IHRydWVcbikge1xuICAkLWxpc3Q6ICgpO1xuICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogdHJ1ZTtcblxuICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBicmVha3BvaW50KHMpIHRvIGl0ZXJhdGUgb24uXG4gIEBpZiAkYnJlYWtwb2ludHMgPT0gYXV0byB7XG4gICAgJC1saXN0OiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnbGlzdCcge1xuICAgICQtbGlzdDogJGJyZWFrcG9pbnRzO1xuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGJyZWFrcG9pbnRzKSA9PSAnc3RyaW5nJyB7XG4gICAgJC1saXN0OiAoJGJyZWFrcG9pbnRzKTtcbiAgICAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdDogZmFsc2U7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBcIiRicmVha3BvaW50c1wiIGluIFwiLXpmLWVhY2gtYnJlYWtwb2ludC1pbigpXCIuIEdvdCBcIiN7JGJyZWFrcG9pbnRzfVwiICgje3R5cGUtb2YoJGJyZWFrcG9pbnRzKX0pLiBFeHBlY3RlZCBhIGJyZWFrcG9pbnQgbmFtZSwgYSBsaXN0IG9mIGJyZWFrcG9pbnRzIG9yIFwiYXV0b1wiJztcbiAgfVxuXG4gIC8vIEFkZCBvciByZW1vdmUgdGhlIHplcm8gYnJlYWtwb2ludCBhY2NvcmRpbmcgdG8gYCR6ZXJvLWJyZWFrcG9pbnRgXG4gIEBpZiAkemVyby1icmVha3BvaW50ID09IHRydWUge1xuICAgICQtbGlzdDogam9pbigoJC16Zi16ZXJvLWJyZWFrcG9pbnQpLCBzbC1yZW1vdmUoJC1saXN0LCAkLXpmLXplcm8tYnJlYWtwb2ludCkpO1xuICB9XG4gIEBlbHNlIGlmICR6ZXJvLWJyZWFrcG9pbnQgPT0gZmFsc2Uge1xuICAgICQtbGlzdDogc2wtcmVtb3ZlKCQtbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gSXRlcmF0ZSBvbiBicmVha3BvaW50KHMpXG4gIEBlYWNoICRicCBpbiAkLWxpc3Qge1xuICAgICRvbGQtemYtc2l6ZTogbnVsbDtcbiAgICBAaWYgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cygtemYtc2l6ZSkge1xuICAgICAgJG9sZC16Zi1zaXplOiAkLXpmLXNpemU7XG4gICAgfVxuICAgICQtemYtc2l6ZTogJGJwICFnbG9iYWw7XG5cbiAgICBAaWYgKCRtZWRpYS1xdWVyaWVzID09IHRydWUgb3IgKCRtZWRpYS1xdWVyaWVzID09ICdmb3ItbGlzdHMnIGFuZCAkLWJyZWFrcG9pbnRzLWlzLWEtbGlzdCkpIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG5cbiAgICAkLXpmLXNpemU6ICRvbGQtemYtc2l6ZSAhZ2xvYmFsO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSB0aGUgYEBjb250ZW50YCBwYXNzZWQgdG8gdGhlIG1peGluIHdpdGggYSB2YWx1ZSBgJC16Zi1icC12YWx1ZWAgcmVsYXRlZCB0byBhIGJyZWFrcG9pbnQsIGRlcGVuZGluZyBvbiB0aGUgYCRuYW1lYCBwYXJhbWV0ZXI6XG4vLy8gLSBGb3IgYSBzaW5nbGUgdmFsdWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGlzIHZhbHVlLlxuLy8vIC0gRm9yIGEgYnJlYWtwb2ludCBuYW1lLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAuXG4vLy8gLSBGb3IgXCJhdXRvXCIsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYCBhbmQgaXMgcGFzc2VkIHRvIGBAY29udGVudGAsIHdoaWNoIGlzIG1hZGUgcmVzcG9uc2l2ZSBmb3IgZWFjaCBicmVha3BvaW50IG9mIGAkbWFwYC5cbi8vLyBAcGFyYW0ge051bWJlcnxBcnJheXxLZXl3b3JkfSAkbmFtZSBbYXV0b10gLSBTaW5nbGUgdmFsdWUsIGJyZWFrcG9pbnQgbmFtZSwgb3IgbGlzdCBvZiBicmVha3BvaW50IG5hbWVzIHRvIHVzZS4gXCJhdXRvXCIgYnkgZGVmYXVsdC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBNYXAgb2YgYnJlYWtwb2ludHMgYW5kIHZhbHVlcyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlLlxuQG1peGluIC16Zi1icmVha3BvaW50LXZhbHVlKFxuICAkbmFtZTogYXV0byxcbiAgJG1hcDogbnVsbFxuKSB7XG4gIEBpZiAkbmFtZSA9PSBhdXRvIGFuZCB0eXBlLW9mKCRtYXApID09ICdtYXAnIHtcbiAgICAvLyBcImF1dG9cIlxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGspIHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLWJyZWFrcG9pbnQtdmFsdWUoJHYsICRtYXApIHtcbiAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gYnJlYWtwb2ludCBuYW1lXG4gICAgQGlmIHR5cGUtb2YoJG5hbWUpID09ICdzdHJpbmcnIHtcbiAgICAgICRicC12YWx1ZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgICAgQGlmICRicC12YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgJG5hbWU6ICRicC12YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAqIDAuNSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBmb3JtIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeGVzXG5cbiAgICAgICY6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICAmOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhlc1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nICogMC41ICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICogJGlucHV0LWxpbmUtaGVpZ2h0KSArIChnZXQtc2lkZSgkaW5wdXQtcGFkZGluZywgJ3RvcCcpICsgZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICdib3R0b20nKSkgLSByZW0tY2FsYygxKTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICYsICYuaW5wdXQtZ3JvdXAtYnV0dG9uID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uLFxuICAgIGxhYmVsIHtcbiAgICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuXG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICB9XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSAqIHVuaXRsZXNzLWNhbGMoJGlucHV0LWxpbmUtaGVpZ2h0KSkgKyAoZ2V0LXNpZGUoJGlucHV0LXBhZGRpbmcsICd0b3AnKSArIGdldC1zaWRlKCRpbnB1dC1wYWRkaW5nLCAnYm90dG9tJykpIC0gcmVtLWNhbGMoMSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGlucHV0LWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgbWF4IHdpZHRoIGNvbnRhaW5lciwgZGVzaWduZWQgdG8gaG91c2UgeW91ciBncmlkIGNvbnRlbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFskZ3JpZC1jb250YWluZXJdIC0gYSB3aWR0aCB0byBsaW1pdCB0aGUgY29udGFpbmVyIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJGdyaWQtY29udGFpbmVyLXBhZGRpbmddIC0gcGFkZGluZ3Mgb2YgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiB4eS1ncmlkLWNvbnRhaW5lcihcbiAgJHdpZHRoOiAkZ3JpZC1jb250YWluZXIsXG4gICRwYWRkaW5nOiAkZ3JpZC1jb250YWluZXItcGFkZGluZ1xuKSB7XG4gIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRwYWRkaW5nLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuXG4gIG1heC13aWR0aDogJHdpZHRoO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgeW91ciBmbGV4IGNlbGxzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtob3Jpem9udGFsXSAtIEVpdGhlciBob3Jpem9udGFsIG9yIHZlcnRpY2FsIGRpcmVjdGlvbiBvZiBjZWxscyB3aXRoaW4uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkd3JhcCBbdHJ1ZV0gLSBJZiB0aGUgY2VsbHMgd2l0aGluIHNob3VsZCB3cmFwIG9yIG5vdC5cbkBtaXhpbiB4eS1ncmlkKFxuICAkZGlyZWN0aW9uOiBob3Jpem9udGFsLFxuICAkd3JhcDogdHJ1ZVxuKSB7XG4gICRkaXJlY3Rpb246IGlmKCRkaXJlY3Rpb24gPT0gJ2hvcml6b250YWwnLCByb3csIGNvbHVtbik7XG4gICR3cmFwOiBpZigkd3JhcCwgd3JhcCwgbm93cmFwKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLyBNYXJnaW4gR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmFzZS1ncmlkLWNsYXNzZXMge1xuXG4gIC8vIEdyaWQgQ29udGFpbmVyXG4gIC5ncmlkLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1jb250YWluZXI7XG5cbiAgICAmLmZsdWlkIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29udGFpbmVyKDEwMCUpO1xuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWNvbnRhaW5lcigxMDAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIC5ncmlkLXgge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQ7XG4gIH1cblxuICAuY2VsbCB7XG4gICAgQGluY2x1ZGUgeHktY2VsbChmdWxsLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuXG4gICAgJi5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShhdXRvKTtcbiAgICB9XG5cbiAgICAmLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgfVxuICAuZ3JpZC14IHtcbiAgICA+IC5hdXRvIHtcbiAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEF1dG8gd2lkdGhcbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAvLyBUaGlzIGlzIGEgYml0IG9mIGEgaGFjay93b3JrYXJvdW5kLCBzZWUgdGhlc2UgaXNzdWVzICYgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzEwMjQ0XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9wdWxsLzEwMjIyIGFuZFxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgIC5ncmlkLXgge1xuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgLy8gUmVzcG9uc2l2ZSBcImF1dG9cIiBtb2RpZmllclxuICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAuZ3JpZC14ID4gLiN7JC16Zi1zaXplfS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJhc2Uoc2hyaW5rKTtcbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tc2hyaW5rIHtcbiAgICAgICAgQGV4dGVuZCAlLXh5LWNlbGwtYmFzZS1zaHJpbmstaG9yaXpvbnRhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICRndXR0ZXItdHlwZTogbm9uZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLmdyaWQteCA+IC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay1ob3Jpem9udGFsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHdpZHRoIHdoZW4gdXNpbmcgYC5ncmlkLW1hcmdpbi14YCBub3Qgb24gYC5ncmlkLXhgXG4gIC5ncmlkLW1hcmdpbi14Om5vdCguZ3JpZC14KSA+IC5jZWxsIHtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxuXG4gIC8vIFJlc2V0IGhlaWdodCB3aGVuIHVzaW5nIGAuZ3JpZC1tYXJnaW4teWAgbm90IG9uIGAuZ3JpZC15YFxuICAuZ3JpZC1tYXJnaW4teTpub3QoLmdyaWQteSkgPiAuY2VsbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbkBtaXhpbiAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGNsYXNzLWJyZWFrcG9pbnQsICRndXR0ZXItYnJlYWtwb2ludCwgJHZlcnRpY2FsKSB7XG4gICRwcmVmaXg6IGlmKCRjbGFzcy1icmVha3BvaW50ID09ICQtemYtemVyby1icmVha3BvaW50LCAnJywgJyN7JGNsYXNzLWJyZWFrcG9pbnR9LScpO1xuICA+IC4jeyRwcmVmaXh9YXV0byB7XG4gICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKGF1dG8sICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gID4gLiN7JHByZWZpeH1zaHJpbmsge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZShzaHJpbmssICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICRjbGFzc25hbWU6IGlmKCR2ZXJ0aWNhbCwgJy4jeyRjbGFzcy1icmVha3BvaW50fS0jeyRpfScsICcuI3skY2xhc3MtYnJlYWtwb2ludH0tI3skaX0nKTtcblxuICAgID4gI3skY2xhc3NuYW1lfSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoJGksICR2ZXJ0aWNhbDogJHZlcnRpY2FsKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFyZ2luIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LW1hcmdpbi1ncmlkLWNsYXNzZXMoXG4gICRndXR0ZXItcG9zaXRpb246IGxlZnQgcmlnaHQsXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICR3cmFwcGluZy1zZWxlY3RvcjogJy5ncmlkLW1hcmdpbi14J1xuKXtcbiAgI3skd3JhcHBpbmctc2VsZWN0b3J9IHtcbiAgICBAaW5jbHVkZSB4eS1ndXR0ZXJzKCRuZWdhdGl2ZTogdHJ1ZSwgJGd1dHRlci1wb3NpdGlvbjogJGd1dHRlci1wb3NpdGlvbik7XG5cbiAgICAvLyBCYXNlIGNlbGwgc3R5bGVzXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgfVxuXG4gICAgLy8gYmFzZSBzdHlsZXMgbmVlZCB0byBhbGwgYmUgYmVmb3JlIHRoZSBhdXRvIGFuZCBzaHJpbmsgc3R5bGVzXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpZih0eXBlLW9mKCRncmlkLW1hcmdpbi1ndXR0ZXJzKSA9PSAnbWFwJyBhbmQgbWFwLWhhcy1rZXkoJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSkgYW5kICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC5jZWxsIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKCR2ZXJ0aWNhbDogJHZlcnRpY2FsLCAkb3V0cHV0OiAoc2l6ZSBndXR0ZXJzKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuXG4gICAgICAvLyBUaGlzIGlzIHB1cmVseSBmb3IgcmVzcG9uc2l2ZSBndXR0ZXJzIC0gdGhlIG1hcmdpbiBncmlkIGhhcyB0byBnbyBiYWNrIGFuZCBhZGp1c3Qgd2lkdGhzIChvciBoZWlnaHRzKVxuICAgICAgLy8gZm9yIGFsbCBwcmlvciBicmVha3BvaW50cy5cbiAgICAgIC8vIEFzIHRoZWlyIGd1dHRlciBpcyBkZWZpbmVkIHdpdGggdGhlaXIgd2lkdGgvaGVpZ2h0LCBldmVuIGJyZWFrcG9pbnQgd2l0aG91dCBhIG5ldyBtYXJnaW4gbXVzdCBiZVxuICAgICAgLy8gZ2VuZXJhdGVkIHRvIG5vdCBoYXZpbmcgdGhlaXIgd2lkdGgvaGVpZ2h0IG92ZXJyaWRlZCBieSByZS1hZGp1c3RlZCBzbWFsbGVyIGJyZWFrcG9pbnRzLlxuICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICBAZWFjaCAkYnAgaW4gLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkLXpmLXNpemUpIHtcbiAgICAgICAgICBAaW5jbHVkZSAteHktYnJlYWtwb2ludC1jZWxsLWNsYXNzZXMoJGJwLCAkLXpmLXNpemUsICR2ZXJ0aWNhbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXh5LWJyZWFrcG9pbnQtY2VsbC1jbGFzc2VzKCQtemYtc2l6ZSwgJC16Zi1zaXplLCAkdmVydGljYWwpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQYWRkaW5nIEdyaWQgY2xhc3Nlc1xuQG1peGluIHh5LXBhZGRpbmctZ3JpZC1jbGFzc2VzIHtcbiAgLmdyaWQtcGFkZGluZy14IHtcblxuICAgIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3IgbmVzdGVkIGdyaWRzXG4gICAgLmdyaWQtcGFkZGluZy14IHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBOZWdhdGl2ZSBtYXJnaW4gZm9yIGdyaWRzIHdpdGhpbiBgZ3JpZC1jb250YWluZXIvZ3JpZC1jb250YWluZXIuZmx1aWRgXG4gICAgLy8gVGhpcyBhbGxvd3MgbWFyZ2luIGFuZCBwYWRkaW5nIGdyaWRzIHRvIGxpbmUgdXAgd2l0aCBlYWNob3RoZXJcbiAgICAuZ3JpZC1jb250YWluZXI6bm90KC5mdWxsKSA+ICYge1xuICAgICAgQGluY2x1ZGUgeHktZ3V0dGVycygkbmVnYXRpdmU6IHRydWUpO1xuICAgIH1cblxuICAgIC8vIEJhc2UgY2VsbCBzdHlsZXNcbiAgICA+IC5jZWxsIHtcbiAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gQmxvY2sgR3JpZCBjbGFzc2VzXG5AbWl4aW4geHktYmxvY2stZ3JpZC1jbGFzc2VzKCRtYXJnaW4tZ3JpZDogdHJ1ZSwgJHBhZGRpbmctZ3JpZDogdHJ1ZSkge1xuICBAaWYgJHBhZGRpbmctZ3JpZCB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtbGF5b3V0KCRuOiAkaSwgJHNlbGVjdG9yOiAnLmNlbGwnLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcsICRvdXRwdXQ6IChzaXplKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJHh5LWJsb2NrLWdyaWQtbWF4IHtcbiAgICAgICAgLy8gVGhpcyBpcyBwdXJlbHkgZm9yIHJlc3BvbnNpdmUgZ3V0dGVycyAtIHRoZSBtYXJnaW4gZ3JpZCBoYXMgdG8gZ28gYmFjayBhbmQgYWRqdXN0IHdpZHRocyAob3IgaGVpZ2h0cylcbiAgICAgICAgLy8gZm9yIHByaW9yIGJyZWFrcG9pbnRzIGJhc2VkIG9uIHRoZSByZXNwb25zaXZlIGd1dHRlci5cbiAgICAgICAgQGlmKHR5cGUtb2YoJGdyaWQtbWFyZ2luLWd1dHRlcnMpID09ICdtYXAnIGFuZCBtYXAtaGFzLWtleSgkZ3JpZC1tYXJnaW4tZ3V0dGVycywgJC16Zi1zaXplKSkge1xuICAgICAgICAgIEBlYWNoICRicCBpbiAtemYtYnJlYWtwb2ludHMtbGVzcy10aGFuKCQtemYtc2l6ZSkge1xuICAgICAgICAgICAgQGlmKG1hcC1oYXMta2V5KCRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkYnApKSB7XG4gICAgICAgICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JGJwfS11cC0jeyRpfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR4eS1ibG9jay1ncmlkLW1heCB7XG4gICAgICAgIC5ncmlkLW1hcmdpbi14LiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1sYXlvdXQoJG46ICRpLCAkc2VsZWN0b3I6ICcuY2VsbCcsICRndXR0ZXItdHlwZTogbWFyZ2luLCAkb3V0cHV0OiAoc2l6ZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbGxhcHNlIGNsYXNzZXNcbkBtaXhpbiB4eS1jb2xsYXBzZS1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkOiB0cnVlLCAkcGFkZGluZy1ncmlkOiB0cnVlKSB7XG4gIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICAgIC4jeyRicH0tbWFyZ2luLWNvbGxhcHNlIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1jb2xsYXBzZSgkZ3V0dGVyLXR5cGU6IG1hcmdpbiwgJG1pbi1icmVha3BvaW50OiAkYnApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAgIC4jeyRicH0tcGFkZGluZy1jb2xsYXBzZSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWdyaWQtY29sbGFwc2UoJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkbWluLWJyZWFrcG9pbnQ6ICRicCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE9mZnNldCBjbGFzc2VzXG5AbWl4aW4geHktb2Zmc2V0LWNlbGwtY2xhc3NlcyB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAvLyBPZmZzZXRzXG4gICAgICAkbzogJGkgLSAxO1xuXG4gICAgICAuI3skLXpmLXNpemV9LW9mZnNldC0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtb2Zmc2V0KCRvLCAkZ3V0dGVyczogJGdyaWQtcGFkZGluZy1ndXR0ZXJzLCAkZ3V0dGVyLXR5cGU6IHBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuZ3JpZC1tYXJnaW4teCA+IC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWZXJ0aWNhbCBHcmlkIGNsYXNzZXNcbkBtaXhpbiB4eS12ZXJ0aWNhbC1ncmlkLWNsYXNzZXMoXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZVxuKSB7XG5cbiAgLy8gQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgLy8gICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC5ncmlkLXkge1xuICAgIEBpbmNsdWRlIHh5LWdyaWQodmVydGljYWwsIGZhbHNlKTtcblxuXG4gICAgPiAuY2VsbCB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXJlc2V0KCk7XG4gICAgfVxuXG4gICAgPiAuYXV0byB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoYXV0bywgJGd1dHRlci10eXBlOiBub25lLCAkdmVydGljYWw6IHRydWUpO1xuICAgIH1cblxuICAgID4gLnNocmluayB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgfVxuXG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCkge1xuICAgICAgLy8gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2svd29ya2Fyb3VuZCwgc2VlIHRoZXNlIGlzc3VlcyBhbmQgUFJzIGZvciB0aGUgYmFja3N0b3J5OlxuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZvdW5kYXRpb24vZm91bmRhdGlvbi1zaXRlcy9pc3N1ZXMvMTAyNDRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDIyMiBhbmRcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvcHVsbC8xMDE2NFxuICAgICAgJHN0cjogXCI+IC4jeyQtemYtc2l6ZX0tc2hyaW5rLCA+IC4jeyQtemYtc2l6ZX0tZnVsbFwiO1xuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgJHN0cjogJHN0ciArIFwiLCA+IC4jeyQtemYtc2l6ZX0tI3skaX1cIjtcbiAgICAgIH1cbiAgICAgICN7JHN0cn0ge1xuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoKSB7XG4gICAgICAvLyBSZXNwb25zaXZlIFwiYXV0b1wiIG1vZGlmaWVyXG4gICAgICBAaWYgbm90KCQtemYtc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAgICAgICA+IC4jeyQtemYtc2l6ZX0tYXV0byB7XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbChhdXRvLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtYmFzZShzaHJpbmspO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXNwb25zaXZlIFwic2hyaW5rXCIgbW9kaWZpZXJcbiAgICAgIEBpZiBub3QoJC16Zi1zaXplID09ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gICAgICAgID4gLiN7JC16Zi1zaXplfS1zaHJpbmsge1xuICAgICAgICAgIEBleHRlbmQgJS14eS1jZWxsLWJhc2Utc2hyaW5rLXZlcnRpY2FsLSN7JC16Zi1zaXplfTtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1jZWxsLXNpemUoc2hyaW5rLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gUmVzcG9uc2l2ZSB3aWR0aCBtb2RpZmllcnNcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgPiAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgICBAZXh0ZW5kICUteHktY2VsbC1iYXNlLXNocmluay12ZXJ0aWNhbC0jeyQtemYtc2l6ZX07XG4gICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUsICR2ZXJ0aWNhbDogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFkZGluZy1ncmlkIHtcbiAgICAuZ3JpZC1wYWRkaW5nLXkge1xuICAgICAgLy8gTmVnYXRpdmUgbWFyZ2luIGZvciBuZXN0ZWQgZ3JpZHNcbiAgICAgIC5ncmlkLXBhZGRpbmcteSB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJG5lZ2F0aXZlOiB0cnVlLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cblxuICAgICAgLy8gQmFzZSBjZWxsIHN0eWxlc1xuICAgICAgPiAuY2VsbCB7XG4gICAgICAgIEBpbmNsdWRlIHh5LWd1dHRlcnMoJGd1dHRlcnM6ICRncmlkLXBhZGRpbmctZ3V0dGVycywgJGd1dHRlci10eXBlOiBwYWRkaW5nLCAkZ3V0dGVyLXBvc2l0aW9uOiB0b3AgYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgJG1hcmdpbi1ncmlkIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKHRvcCBib3R0b20sIHRydWUsICcuZ3JpZC1tYXJnaW4teScpO1xuICB9XG5cbn1cblxuQG1peGluIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZDogdHJ1ZSwgJG1hcmdpbi1ncmlkOiB0cnVlKSB7XG4gIC8vIEZyYW1lZCBncmlkIHN0eWxlc1xuICAuZ3JpZC1mcmFtZSB7XG4gICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZTtcbiAgfVxuXG4gIC5jZWxsIC5ncmlkLWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgfVxuXG4gIC5jZWxsLWJsb2NrIHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKCk7XG4gIH1cblxuICAuY2VsbC1ibG9jay15IHtcbiAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICB9XG5cblxuICAuY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHh5LWNlbGwtYmxvY2stY29udGFpbmVyKCk7XG4gIH1cblxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcblxuICAgIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lO1xuICAgIH1cblxuICAgIC5jZWxsIC4jeyQtemYtc2l6ZX0tZ3JpZC1mcmFtZSB7XG4gICAgICB3aWR0aDogMTAwJTsgLy8gU2FtZSBhcyBpbmNsdWRlIHdpdGggJG5lc3RlZCwgYnV0IHdpdGggbGVzcyBjc3NcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jaygpO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tY2VsbC1ibG9jay1jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgeHktY2VsbC1ibG9jay1jb250YWluZXIoKTtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LWNlbGwtYmxvY2steSB7XG4gICAgICBAaW5jbHVkZSB4eS1jZWxsLWJsb2NrKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdmVydGljYWwtZ3JpZCB7XG4gICAgLmdyaWQteSB7XG4gICAgICAmLmdyaWQtZnJhbWUge1xuICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAmLiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBAaW5jbHVkZSB4eS1ncmlkLWZyYW1lKHRydWUpO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmNlbGwge1xuICAgICAgLmdyaWQteS5ncmlkLWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlOyAvLyBTYW1lIGFzIGluY2x1ZGUgd2l0aCAkbmVzdGVkLCBidXQgd2l0aCBsZXNzIGNzc1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludChmYWxzZSkge1xuICAgICAgICAuZ3JpZC15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7IC8vIFNhbWUgYXMgaW5jbHVkZSB3aXRoICRuZXN0ZWQsIGJ1dCB3aXRoIGxlc3MgY3NzXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGlmICRtYXJnaW4tZ3JpZCB7XG4gICAgQGluY2x1ZGUgeHktbWFyZ2luLWdyaWQtY2xhc3Nlcyh0b3AgYm90dG9tLCB0cnVlLCAnLmdyaWQtbWFyZ2luLXknKTtcbiAgICAuZ3JpZC1mcmFtZS5ncmlkLW1hcmdpbi15IHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUodHJ1ZSwgZmFsc2UsICRncmlkLW1hcmdpbi1ndXR0ZXJzLCAkaW5jbHVkZS1iYXNlOiBmYWxzZSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQoZmFsc2UpIHtcbiAgICAgIC5ncmlkLW1hcmdpbi15LiN7JC16Zi1zaXplfS1ncmlkLWZyYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgeHktZ3JpZC1mcmFtZSh0cnVlLCBmYWxzZSwgJGdyaWQtbWFyZ2luLWd1dHRlcnMsICQtemYtc2l6ZSwgZmFsc2UpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGaW5hbCBjbGFzc2VzXG5AbWl4aW4gZm91bmRhdGlvbi14eS1ncmlkLWNsYXNzZXMoXG4gICRiYXNlLWdyaWQ6IHRydWUsXG4gICRtYXJnaW4tZ3JpZDogdHJ1ZSxcbiAgJHBhZGRpbmctZ3JpZDogdHJ1ZSxcbiAgJGJsb2NrLWdyaWQ6IHRydWUsXG4gICRjb2xsYXBzZTogdHJ1ZSxcbiAgJG9mZnNldDogdHJ1ZSxcbiAgJHZlcnRpY2FsLWdyaWQ6IHRydWUsXG4gICRmcmFtZS1ncmlkOiB0cnVlXG4pIHtcblxuICAvLyBCYXNlIGdyaWQgc3R5bGVzXG4gIEBpZigkYmFzZS1ncmlkKSB7XG4gICAgQGluY2x1ZGUgeHktYmFzZS1ncmlkLWNsYXNzZXMoKTtcbiAgfVxuXG4gIC8vIE1hcmdpbiBncmlkXG4gIEBpZigkbWFyZ2luLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1tYXJnaW4tZ3JpZC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBQYWRkaW5nIGdyaWRcbiAgQGlmKCRwYWRkaW5nLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1wYWRkaW5nLWdyaWQtY2xhc3NlcygpO1xuICB9XG5cbiAgLy8gQmxvY2sgZ3JpZFxuICBAaWYoJGJsb2NrLWdyaWQpIHtcbiAgICBAaW5jbHVkZSB4eS1ibG9jay1ncmlkLWNsYXNzZXMoJG1hcmdpbi1ncmlkLCAkcGFkZGluZy1ncmlkKTtcbiAgfVxuXG4gIC8vIENvbGxhcHNlIGd1dHRlcnNcbiAgQGlmKCRjb2xsYXBzZSkge1xuICAgIEBpbmNsdWRlIHh5LWNvbGxhcHNlLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgLy8gT2Zmc2V0IGd1dHRlcnNcbiAgQGlmKCRvZmZzZXQpIHtcbiAgICBAaW5jbHVkZSB4eS1vZmZzZXQtY2VsbC1jbGFzc2VzKCk7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBncmlkXG4gIEBpZigkdmVydGljYWwtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LXZlcnRpY2FsLWdyaWQtY2xhc3NlcygkbWFyZ2luLWdyaWQsICRwYWRkaW5nLWdyaWQpO1xuICB9XG5cbiAgQGlmICgkZnJhbWUtZ3JpZCkge1xuICAgIEBpbmNsdWRlIHh5LWZyYW1lLWdyaWQtY2xhc3NlcygkdmVydGljYWwtZ3JpZCwgJG1hcmdpbi1ncmlkKVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBGaW5kcyB0aGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3Igb2YgdHdvIGludGVnZXJzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhIC0gRmlyc3QgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiIC0gU2Vjb25kIG51bWJlciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGdyZWF0ZXN0IGNvbW1vbiBkaXZpc29yLlxuQGZ1bmN0aW9uIGdjZCgkYSwgJGIpIHtcbiAgLy8gRnJvbTogaHR0cDovL3Jvc2V0dGFjb2RlLm9yZy93aWtpL0dyZWF0ZXN0X2NvbW1vbl9kaXZpc29yI0phdmFTY3JpcHRcbiAgQGlmICgkYiAhPSAwKSB7XG4gICAgQHJldHVybiBnY2QoJGIsICRhICUgJGIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIGFicygkYSk7XG4gIH1cbn1cblxuLy8vIEhhbmRsZXMgZGVjaW1hbCBleHBvbmVudHMgYnkgdHJ5aW5nIHRvIGNvbnZlcnQgdGhlbSBpbnRvIGEgZnJhY3Rpb24gYW5kIHRoZW4gdXNlIGEgbnRoLXJvb3QtYWxnb3JpdGhtIGZvciBwYXJ0cyBvZiB0aGUgY2FsY3VsYXRpb25cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSAtIFRoZSBiYXNlIG51bWJlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGV4cG9uZW50IC0gVGhlIGV4cG9uZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHByb2R1Y3Qgb2YgdGhlIGV4cG9uZW50aWF0aW9uLlxuQGZ1bmN0aW9uIHBvdygkYmFzZSwgJGV4cG9uZW50LCAkcHJlYzogMTYpIHtcbiAgQGlmIChmbG9vcigkZXhwb25lbnQpICE9ICRleHBvbmVudCkge1xuICAgICRwcmVjMjogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgZGl2aWRlKCRleHBvbmVudCwgJGRlbm9taW5hdG9yKSksIGRpdmlkZSgkcHJlYzIsICRkZW5vbWluYXRvciksICRwcmVjKTtcbiAgfVxuXG4gICR2YWx1ZTogJGJhc2U7XG4gIEBpZiAkZXhwb25lbnQgPiAxIHtcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRleHBvbmVudCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqICRiYXNlO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZXhwb25lbnQgPCAxIHtcbiAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoIC0kZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiBkaXZpZGUoJHZhbHVlLCAkYmFzZSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiBkaXZpZGUoMSwgJG4pICogKCgkbiAtIDEpICogJHggKyBkaXZpZGUoJG51bSwgcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiBkaXZpZGUoJGgsICR3KSAqIDEwMCU7XG59XG5cbi8vLyBQYXJzZSB0aGUgZ2l2ZW4gYCRmcmFjdGlvbmAgdG8gbnVtZXJhdG9ycyBhbmQgZGVudW1lcmF0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHsqfSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byBwYXJzZS4gSXQgY2FuIGJlIGZvcm1hdHRlZCBhcyBgNTAlYCwgYDEgb2YgMmAsIGAxLzJgIG9yIGA1MGAgKG5vIGRlbm9taW5hdG9yIHdvdWxkIGJlIHJldHVybmVkKS5cbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IExpc3Qgb2YgcGFyc2VkIHZhbHVlcyB3aXRoIG51bWVyYXRvciBhdCBmaXJzdCBwb3NpdGlvbiBhbmQgZGVudW1lcmF0b3IgYXMgc2Vjb25kLiBUaGVzZSB2YWx1ZXMgbWF5IGJlIG51bGwuXG5AZnVuY3Rpb24gemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKSB7XG5cbiAgQGlmIHR5cGUtb2YoJGZyYWN0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gXCI1MCVcIlxuICAgIEBpZiB1bml0KCRmcmFjdGlvbikgPT0gJyUnIHtcbiAgICAgIEByZXR1cm4gKHN0cmlwLXVuaXQoJGZyYWN0aW9uKSwgMTAwKTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKHVuaXQoJGZyYWN0aW9uKSA9PSAnJykge1xuICAgICAgLy8gXCIwLjVcIlxuICAgICAgQGlmICRmcmFjdGlvbiA8IDEge1xuICAgICAgICBAcmV0dXJuICgkZnJhY3Rpb24gKiAxMDAsIDEwMCk7XG4gICAgICB9XG4gICAgICAvLyBcIjUwXCJcbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJGZyYWN0aW9uLCBudWxsKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiB0eXBlLW9mKCRmcmFjdGlvbikgPT0gJ2xpc3QnIHtcbiAgICAvLyBcIjUwIG9mIDEwMFwiLCBcIjUwLzEwMFwiLi4uXG4gICAgQGlmIGxlbmd0aCgkZnJhY3Rpb24pID09IDNcbiAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAxKSA9PSAnbnVtYmVyJylcbiAgICBhbmQgdHlwZS1vZihudGgoJGZyYWN0aW9uLCAzKSA9PSAnbnVtYmVyJykge1xuICAgICAgQHJldHVybiAobnRoKCRmcmFjdGlvbiwgMSksIG50aCgkZnJhY3Rpb24sIDMpKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIChudWxsLCBudWxsKTtcbn1cblxuLy8vIFJldHVybnMgd2hldGhlciB0aGUgZ2l2ZW4gYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLiBTdXBwb3J0cyBmb3JtYXRzIGxpa2UgYDUwJWAsIGAxIG9mIDJgLCBgMSBwZXIgMmAgb3IgYDEvMmAuXG4vLy9cbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSAtIFZhbHVlIHRvIHRlc3QuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYWxsb3ctbm8tZGVub21pbmF0b3IgW2ZhbHNlXSAtIElmIGB0cnVlYCwgc2ltcGxlIG51bWJlcnMgd2l0aG91dCBkZW5vbWluYXRvcnMgbGlrZSBgNTBgIGFyZSBzdXBwb3J0ZWQuXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSBgdHJ1ZWAgaWYgYCR2YWx1ZWAgcmVwcmVzZW50cyBhIGZyYWN0aW9uLCBgZmFsc2VgIG90aGVyd2lzZS5cbkBmdW5jdGlvbiB6Zi1pcy1mcmFjdGlvbigkdmFsdWUsICRhbGxvdy1uby1kZW5vbWluYXRvcjogZmFsc2UpIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJHZhbHVlKTtcbiAgQHJldHVybiBub3QobnRoKCRwYXJzZWQsIDEpID09IG51bGxcbiAgICBvciAobnRoKCRwYXJzZWQsIDIpID09IG51bGwgYW5kICRhbGxvdy1uby1kZW5vbWluYXRvciA9PSBmYWxzZSkpO1xufVxuXG4vLy8gQ2FsY3VsYXRlIGEgcGVyY2VudGFnZSBmcm9tIGEgZ2l2ZW4gZnJhY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZnJhY3Rpb24gLSBWYWx1ZSByZXByZXNlbnRpbmcgYSBmcmFjdGlvbiB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBwZXJjZW50YWdlLCBmb3JtYXR0ZWQgYXMgYDUwYCAocmVsYXRpdmUgdG8gYCRkZW5vbWluYXRvcmApLCBgNTAlYCwgYDEgb2YgMmAgb3IgYDEvMmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGRlbm9taW5hdG9yIC0gRGVmYXVsdCB2YWx1ZSB0byB1c2UgYXMgZGVub21pbmF0b3Igd2hlbiBgJGZyYWN0aW9uYCByZXByZXNlbnRzIGFuIGFic29sdXRlIHZhbHVlLlxuQGZ1bmN0aW9uIGZyYWN0aW9uLXRvLXBlcmNlbnRhZ2UoXG4gICRmcmFjdGlvbixcbiAgJGRlbm9taW5hdG9yOiBudWxsXG4pIHtcbiAgJHBhcnNlZDogemYtcGFyc2UtZnJhY3Rpb24oJGZyYWN0aW9uKTtcbiAgJHBhcnNlZC1ub21pbmF0b3I6IG50aCgkcGFyc2VkLCAxKTtcbiAgJHBhcnNlZC1kZW5vbWluYXRvcjogbnRoKCRwYXJzZWQsIDIpO1xuXG4gIEBpZiAkcGFyc2VkLW5vbWluYXRvciA9PSBudWxsIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiIC8gXCJuL25cIi4nO1xuICB9XG4gIEBpZiAkcGFyc2VkLWRlbm9taW5hdG9yID09IG51bGwge1xuICAgIEBpZiB0eXBlLW9mKCRkZW5vbWluYXRvcikgPT0gJ251bWJlcicge1xuICAgICAgJHBhcnNlZC1kZW5vbWluYXRvcjogJGRlbm9taW5hdG9yO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgJ0Vycm9yIHdpdGggXCJmcmFjdGlvbi10by1wZXJjZW50YWdlKClcIi4gQSBkZWZhdWx0IFwiJGRlbm9taW5hdG9yXCIgaXMgcmVxdWlyZWQgdG8gc3VwcG9ydCBhYnNvbHV0ZSB2YWx1ZXMnO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gcGVyY2VudGFnZShkaXZpZGUoJHBhcnNlZC1ub21pbmF0b3IsICRwYXJzZWQtZGVub21pbmF0b3IpKTtcbn1cblxuLy8vIERpdmlkZSB0aGUgZ2l2ZW4gYCRkaXZpZGVudGAgYnkgdGhlIGdpdmVuIGAkZGl2aXNvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGRpdmlkZW50IC0gVGhlIGRpdmlkZW50LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZGl2aXNvciAtIFRoZSBkaXZpc29yLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcHJlY2lzaW9uIC0gVGhlIHByZWNpc2lvbiBkZWNpbWFscyBmb3IgdGhlIGRpdmlzaW9uLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZGl2aXNpb24uXG5AZnVuY3Rpb24gZGl2aWRlKCRkaXZpZGVuZCwgJGRpdmlzb3IsICRwcmVjaXNpb246IDEyKSB7XG4gICRzaWduOiBpZigkZGl2aWRlbmQgPiAwIGFuZCAkZGl2aXNvciA+IDAgb3IgJGRpdmlkZW5kIDwgMCBhbmQgJGRpdmlzb3IgPCAwLCAxLCAtMSk7XG4gICRkaXZpZGVuZDogYWJzKCRkaXZpZGVuZCk7XG4gICRkaXZpc29yOiBhYnMoJGRpdmlzb3IpO1xuICBAaWYgJGRpdmlkZW5kID09IDAge1xuICAgIEByZXR1cm4gMDtcbiAgfVxuICBAaWYgJGRpdmlzb3IgPT0gMCB7XG4gICAgQGVycm9yICdDYW5ub3QgZGl2aWRlIGJ5IDAnO1xuICB9XG4gICRyZW1haW5kZXI6ICRkaXZpZGVuZDtcbiAgJHJlc3VsdDogMDtcbiAgJGZhY3RvcjogMTA7XG4gIEB3aGlsZSAoJHJlbWFpbmRlciA+IDAgYW5kICRwcmVjaXNpb24gPj0gMCkge1xuICAgICRxdW90aWVudDogMDtcbiAgICBAd2hpbGUgKCRyZW1haW5kZXIgPj0gJGRpdmlzb3IpIHtcbiAgICAgICRyZW1haW5kZXI6ICRyZW1haW5kZXIgLSAkZGl2aXNvcjtcbiAgICAgICRxdW90aWVudDogJHF1b3RpZW50ICsgMTtcbiAgICB9XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIDEwICsgJHF1b3RpZW50O1xuICAgICRmYWN0b3I6ICRmYWN0b3IgKiAwLjE7XG4gICAgJHJlbWFpbmRlcjogJHJlbWFpbmRlciAqIDEwO1xuICAgICRwcmVjaXNpb246ICRwcmVjaXNpb24gLSAxO1xuICAgIEBpZiAoJHByZWNpc2lvbiA8IDAgYW5kICRyZW1haW5kZXIgPj0gJGRpdmlzb3IgKiA1KSB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgMTtcbiAgICB9XG4gIH1cbiAgJHJlc3VsdDogJHJlc3VsdCAqICRmYWN0b3IgKiAkc2lnbjtcbiAgJGRpdmlkZW5kLXVuaXQ6IHVuaXQoJGRpdmlkZW5kKTtcbiAgJGRpdmlzb3ItdW5pdDogdW5pdCgkZGl2aXNvcik7XG4gICR1bml0LW1hcDogKFxuICAgICdweCc6IDFweCxcbiAgICAncmVtJzogMXJlbSxcbiAgICAnZW0nOiAxZW0sXG4gICAgJyUnOiAxJVxuICApO1xuICBAaWYgKCRkaXZpZGVuZC11bml0ICE9ICRkaXZpc29yLXVuaXQgYW5kIG1hcC1oYXMta2V5KCR1bml0LW1hcCwgJGRpdmlkZW5kLXVuaXQpKSB7XG4gICAgJHJlc3VsdDogJHJlc3VsdCAqIG1hcC1nZXQoJHVuaXQtbWFwLCAkZGl2aWRlbmQtdW5pdCk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY2VsbCddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRndXR0ZXItb3V0cHV0IFtudWxsXSAtIFtERVBSRUNBVEVEXSBXaGV0aGVyIG9yIG5vdCB0byBvdXRwdXQgZ3V0dGVycy5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFskZ3JpZC1tYXJnaW4tZ3V0dGVyc10gLSBNYXAgb3Igc2luZ2xlIHZhbHVlIGZvciBndXR0ZXJzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGd1dHRlci10eXBlIFttYXJnaW5dIC0gVHlwZSBvZiBndXR0ZXIgdG8gb3V0cHV0LiBBY2NlcHRzIGBtYXJnaW5gLCBgcGFkZGluZ2Agb3IgYG5vbmVgLlxuLy8vIEBwYXJhbSB7TGlzdH0gJGd1dHRlci1wb3NpdGlvbiBbbnVsbF0gLSBUaGUgcG9zaXRpb24gdG8gYXBwbHkgZ3V0dGVycyB0by4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uIEJ5IGRlZmF1bHQgYHJpZ2h0IGxlZnRgIGZvciBob3Jpem9udGFsIGNlbGxzIGFuZCBgdG9wIGJvdHRvbWAgZm9yIHZlcnRpY2FsIGNlbGxzLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgYnJlYWtwb2ludCB0byB1c2UgZm9yIHRoZSBjZWxsIGdlbmVyYXRpb24uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICR2ZXJ0aWNhbCBbZmFsc2VdIC0gU2V0IHRvIHRydWUgdG8gb3V0cHV0IHZlcnRpY2FsIChoZWlnaHQpIHN0eWxlcyByYXRoZXIgdGhhbiB3aWR0aHMuXG4vLy8gQHBhcmFtIHtMaXN0fSAkb3V0cHV0IFsoYmFzZSBzaXplIGd1dHRlcnMpXSAtIENlbGwgcGFydHMgdG8gb3V0cHV0LiBZb3Ugd2lsbCBuZWVkIHRvIGdlbmVyYXRlIG90aGVycyBwYXJ0cyBvZiB0aGUgY2VsbCBzZXBlcmF0ZWx5LCBpdCBtYXkgbm90IHdvcmsgY29ycmVjdGx5IG90aGVyd2lzZS5cbkBtaXhpbiB4eS1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jZWxsJyxcbiAgJGd1dHRlci1vdXRwdXQ6IG51bGwsXG4gICRndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycyxcbiAgJGd1dHRlci10eXBlOiBtYXJnaW4sXG4gICRndXR0ZXItcG9zaXRpb246IG51bGwsXG4gICRicmVha3BvaW50OiBudWxsLFxuICAkdmVydGljYWw6IGZhbHNlLFxuICAkb3V0cHV0OiAoYmFzZSBzaXplIGd1dHRlcnMpXG4pIHtcbiAgJHNpemU6IHBlcmNlbnRhZ2UoZGl2aWRlKDEsICRuKSk7XG5cbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgQGluY2x1ZGUgeHktY2VsbCgkc2l6ZSwgJGd1dHRlci1vdXRwdXQsICRndXR0ZXJzLCAkZ3V0dGVyLXR5cGUsICRndXR0ZXItcG9zaXRpb24sICRicmVha3BvaW50LCAkdmVydGljYWwsICRvdXRwdXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgeHktZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2VzIHRoZSBncmlkIGEgY2VsbHMgd2l0aGluIGl0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbLmNlbGxdIC0gVGhlIGNoaWxkIGVsZW1lbnQgdG8gcmVtb3ZlIHRoZSBndXR0ZXIgZnJvbS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRndXR0ZXItdHlwZSBbbWFyZ2luXSAtIFRoZSB0eXBlIG9mIGd1dHRlciB0byByZW1vdmUuXG4vLy8gQHBhcmFtIHtMaXN0fSAkZ3V0dGVyLXBvc2l0aW9uIFtyaWdodCBsZWZ0XSAtIFRoZSBwb3NpdGlvbnMgdG8gcmVtb3ZlIGd1dHRlcnMgZnJvbS4gQWNjZXB0cyBgdG9wYCwgYGJvdHRvbWAsIGBsZWZ0YCwgYHJpZ2h0YCBpbiBhbnkgY29tYmluYXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkbWluLWJyZWFrcG9pbnQgWyQtemYtemVyby1icmVha3BvaW50XSAtIE1pbmltdW0gYnJlYWtwb2ludCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgZm9yIHdoaWNoIHRvIGNvbGxhcHNlIHRoZSBndXR0ZXIuXG5AbWl4aW4geHktZ3JpZC1jb2xsYXBzZShcbiAgJHNlbGVjdG9yOiAnLmNlbGwnLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGd1dHRlci1wb3NpdGlvbjogcmlnaHQgbGVmdCxcbiAgJG1pbi1icmVha3BvaW50OiAkLXpmLXplcm8tYnJlYWtwb2ludFxuKSB7XG4gIC8vIEZpcnN0LCBsZXRzIG5lZ2F0ZSBhbnkgbWFyZ2lucyBvbiB0aGUgdG9wIGxldmVsXG4gIEBpZiAoJGd1dHRlci10eXBlID09ICdtYXJnaW4nKSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtaW4tYnJlYWtwb2ludCkge1xuICAgICAgQGVhY2ggJHZhbHVlIGluICRndXR0ZXItcG9zaXRpb24ge1xuICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgfVxuXG4gICAgICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tI3skdmFsdWV9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJGV4Y2x1ZGVkLWJwczogLXpmLWJyZWFrcG9pbnRzLWxlc3MtdGhhbigkbWluLWJyZWFrcG9pbnQpO1xuXG4gICAgLy8gT3V0cHV0IG5ldyB3aWR0aHMgdG8gbm90IGluY2x1ZGUgZ3V0dGVyc1xuICAgIEBlYWNoICRicCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZihzbC1jb250YWluKCRleGNsdWRlZC1icHMsICRicCkpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICAgICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgICAgICAgPiAuI3skYnB9LSN7JGl9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgeHktY2VsbC1zaXplKCRpLCAkZ3V0dGVyLXR5cGU6IG5vbmUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAgICAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgICAgICAgID4gLiN7JGJwfS0jeyRpfSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHh5LWNlbGwtc2l6ZSgkaSwgJGd1dHRlci10eXBlOiBub25lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbWluLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBlYWNoICR2YWx1ZSBpbiAkZ3V0dGVyLXBvc2l0aW9uIHtcbiAgICAgICAgbWFyZ2luLSN7JHZhbHVlfTogMDtcbiAgICAgIH1cblxuICAgICAgPiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJGd1dHRlci1wb3NpdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy0jeyR2YWx1ZX06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB4eS1ncmlkXG4vLy8vXG5cbi8vLyBSZXR1cm5zIHRoZSBhcHByb3ByaWF0ZSBDU1MgdmFsdWUgdG8gb2Zmc2V0IGEgY2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWtwb2ludCBbbnVsbF0gLSBUaGUgbmFtZSBvZiB0aGUgYnJlYWtwb2ludCBzaXplIGluIHlvdXIgZ3V0dGVycyBtYXAgdG8gZ2V0IHRoZSBzaXplIGZyb20uIElmIHVzaW5nIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRoaXMgd2lsbCBiZSBzZXQgYXV0b21hdGljYWxseSB1bmxlc3MgbWFudWFsbHkgZW50ZXJlZC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ8U3RyaW5nfSBUaGUgY2VsbCBvZmZzZXQgcHJvcGVydHkgdmFsdWUuXG5AZnVuY3Rpb24geHktY2VsbC1vZmZzZXQoXG4gICRuLFxuICAkZ3V0dGVyczogJGdyaWQtbWFyZ2luLWd1dHRlcnMsXG4gICRndXR0ZXItdHlwZTogbWFyZ2luLFxuICAkYnJlYWtwb2ludDogbnVsbFxuKSB7XG4gICRicmVha3BvaW50OiAtemYtY3VycmVudC1icmVha3BvaW50KCRicmVha3BvaW50LCAkZGVmYXVsdDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICAkc2l6ZTogeHktY2VsbC1zaXplKCRuKTtcblxuICAkb2Zmc2V0OiAkc2l6ZTtcbiAgQGlmICgkZ3V0dGVyLXR5cGUgPT0gJ21hcmdpbicpIHtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgJGd1dHRlcjogcmVtLWNhbGMoeHktY2VsbC1ndXR0ZXJzKCRndXR0ZXJzLCAkYnJlYWtwb2ludCkpO1xuICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICB9XG4gICAgJG9mZnNldDogaWYoJGd1dHRlciA9PSAwLCAkc2l6ZSwgY2FsYygjeyRzaXplfSArICN7JGd1dHRlcn0gLyAyKSk7XG4gIH1cbiAgQHJldHVybiAkb2Zmc2V0O1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQvYm90dG9tIGJ5IGAkbmAgY29sdW1ucy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gU2l6ZSB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGB4eS1jZWxsKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLW1hcmdpbi1ndXR0ZXJzXSBNYXAgb2YgZ3V0dGVycyBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIGZvciByZXNwb25zaXZlIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZ3V0dGVyLXR5cGUgW21hcmdpbl0gVGhlIHR5cGUgb2YgZ3V0dGVyIHRvIHVzZS4gQ2FuIGJlIGBtYXJnaW5gIG9yIGBwYWRkaW5nYFxuLy8vIEBwYXJhbSB7TnVtYmVyfEFycmF5fEtleXdvcmR9ICRicmVha3BvaW50IFtudWxsXSAtIEJyZWFrcG9pbnQgdG8gdXNlIGZvciBgJGd1dHRlcnNgLiBJdCBjYW4gYmUgYSBicmVha3BvaW50IG5hbWUsIGxpc3Qgb2YgYnJlYWtwb2ludHMgb3IgYGF1dG9gIGZvciBhbGwgYnJlYWtwb2ludHMuIElmIGEgbGlzdCBpcyBnaXZlbiwgbWVkaWEtcXVlcmllcyB3aWxsIGJlIGdlbmVyYXRlZC4gSWYgdXNpbmcgd2l0aCB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdGhpcyB3aWxsIGJlIHNldCBhdXRvbWF0aWNhbGx5IHVubGVzcyBtYW51YWxseSBlbnRlcmVkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIHRoZSBvZmZzZXQuIElmIHNldCB0byB0cnVlIHdpbGwgYXBwbHkgbWFyZ2luLXRvcCBpbnN0ZWFkLlxuQG1peGluIHh5LWNlbGwtb2Zmc2V0KFxuICAkbixcbiAgJGd1dHRlcnM6ICRncmlkLW1hcmdpbi1ndXR0ZXJzLFxuICAkZ3V0dGVyLXR5cGU6IG1hcmdpbixcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkYnJlYWtwb2ludDogLXpmLWN1cnJlbnQtYnJlYWtwb2ludCgkYnJlYWtwb2ludCwgJGRlZmF1bHQ6ICQtemYtemVyby1icmVha3BvaW50KTtcbiAgJGRpcmVjdGlvbjogaWYoJHZlcnRpY2FsLCAndG9wJywgJGdsb2JhbC1sZWZ0KTtcblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50LWluKCRicmVha3BvaW50LCAkbWVkaWEtcXVlcmllczogJ2Zvci1saXN0cycpIHtcbiAgICAkb2Zmc2V0OiB4eS1jZWxsLW9mZnNldCgkbiwgJGd1dHRlcnMsICRndXR0ZXItdHlwZSk7XG4gICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06ICN7JG9mZnNldH07XG4gIH1cbn1cbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIG5vLXZlbmRvci1wcmVmaXhlc1xuXG4vLy8gTW9kaWZpZXMgYSBncmlkIHRvIGdpdmUgaXQgXCJmcmFtZVwiIGJlaGF2aW9yIChubyBvdmVyZmxvdywgbm8gd3JhcCwgc3RyZXRjaCBiZWhhdmlvcilcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJG5lc3RlZCBbZmFsc2VdIC0gSXMgZ3JpZCBuZXN0ZWQgb3Igbm90LiBJZiBuZXN0ZWQgaXMgdHJ1ZSB0aGlzIHNldHMgdGhlIGZyYW1lIHRvIDEwMCUgaGVpZ2h0LCBvdGhlcndpc2Ugd2lsbCBiZSAxMDB2aC5cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRndXR0ZXJzIFtudWxsXSAtIE1hcCBvciBzaW5nbGUgdmFsdWUgZm9yIGd1dHRlcnMuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IFtudWxsXSAtIFRoZSBuYW1lIG9mIHRoZSBicmVha3BvaW50IHNpemUgaW4geW91ciBndXR0ZXJzIG1hcCB0byBnZXQgdGhlIHNpemUgZnJvbS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRpbmNsdWRlLWJhc2UgW3RydWVdIC0gSW5jbHVkZSB0aGUgYmFzZSBzdHlsZXMgdGhhdCBkb24ndCB2YXJ5IHBlciBicmVha3BvaW50LlxuQG1peGluIHh5LWdyaWQtZnJhbWUoXG4gICR2ZXJ0aWNhbDogZmFsc2UsXG4gICRuZXN0ZWQ6IGZhbHNlLFxuICAkZ3V0dGVyczogbnVsbCxcbiAgJGJyZWFrcG9pbnQ6IG51bGwsXG4gICRpbmNsdWRlLWJhc2U6IHRydWVcbikge1xuXG4gIEBpZiAkaW5jbHVkZS1iYXNlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuXG4gIEBpZiAkYnJlYWtwb2ludCA9PSBudWxsIGFuZCB0eXBlLW9mKCRndXR0ZXJzKSA9PSAnbWFwJyB7XG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgpIHtcbiAgICAgIEBpbmNsdWRlIHh5LWdyaWQtZnJhbWUoJHZlcnRpY2FsLCAkbmVzdGVkLCAkZ3V0dGVycywgJC16Zi1zaXplLCBmYWxzZSk7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAvLyBHZXQgb3VyIGd1dHRlcnMgaWYgYXBwbGljYWJsZVxuICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkYnJlYWtwb2ludCk7XG5cbiAgICAvLyBJZiB3ZSBoYXZlIGEgZ3V0dGVyLCBhZGQgaXQgdG8gdGhlIHdpZHRoL2hlaWdodFxuICAgIEBpZiAkZ3V0dGVyIHtcbiAgICAgIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgICAgICR1bml0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgICAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcik7XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IDAgaXMgdHJhbnNsYXRlZCBpbiAwcmVtIGZvciBjYWxjKClcbiAgICAgICAgQGlmICRndXR0ZXIgPT0gMCB7XG4gICAgICAgICAgJGd1dHRlcjogMHJlbTtcbiAgICAgICAgfVxuICAgICAgICBoZWlnaHQ6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAkdW5pdDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICAgICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpO1xuICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCAwIGlzIHRyYW5zbGF0ZWQgaW4gMHJlbSBmb3IgY2FsYygpXG4gICAgICAgIEBpZiAkZ3V0dGVyID09IDAge1xuICAgICAgICAgICRndXR0ZXI6IDByZW07XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IGNhbGMoI3skdW5pdH0gKyAjeyRndXR0ZXJ9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICAgICAgaGVpZ2h0OiBpZigkbmVzdGVkID09IHRydWUsIDEwMCUsIDEwMHZoKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB3aWR0aDogaWYoJG5lc3RlZCA9PSB0cnVlLCAxMDAlLCAxMDB2dyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBNb2RpZmllcyBhIGNlbGwgdG8gZ2l2ZSBpdCBcImJsb2NrXCIgYmVoYXZpb3IgKG92ZXJmbG93IGF1dG8sIGluZXJ0aWFsIHNjcm9sbGluZylcbi8vL1xuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHZlcnRpY2FsIFtmYWxzZV0gLSBJcyBncmlkIHZlcnRpY2FsIG9yIGhvcml6b250YWwuIFNob3VsZCBtYXRjaCBncmlkLlxuQG1peGluIHh5LWNlbGwtYmxvY2soXG4gICR2ZXJ0aWNhbDogZmFsc2Vcbikge1xuICAkcHJvcGVydHk6IGlmKCR2ZXJ0aWNhbCA9PSB0cnVlLCAnb3ZlcmZsb3cteScsICdvdmVyZmxvdy14Jyk7XG5cbiAgQGlmICR2ZXJ0aWNhbCA9PSB0cnVlIHtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfSBAZWxzZSB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xufVxuXG4vLy8gQ29udGFpbmVyIGZvciBpbnNpZGUgYSBncmlkIGZyYW1lIGNvbnRhaW5pbmcgbXVsdGlwbGUgYmxvY2tzLiBUeXBpY2FsbHkgdXNlZFxuLy8vIGFzIGEgbW9kaWZpZXIgZm9yIGEgYC5jZWxsYCB0byBhbGxvdyB0aGUgY2VsbCB0byBwYXNzIGFsb25nIGZsZXggc2l6aW5nXG4vLy8gY29uc3RyYWludHMgLyBmcm9tIHBhcmVudHMgdG8gY2hpbGRyZW4uXG5AbWl4aW4geHktY2VsbC1ibG9jay1jb250YWluZXIoKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgPiAuZ3JpZC14IHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tei1pbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBCdXR0b24gc2l6ZSB0byB1c2UgYXMgZGVmYXVsdFxuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLXNpemVcbi8vLyBAc2VlICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbFxuLy8vIEBzZWUgJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbFxuJGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZTogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTaXplKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uIFVzZWQgdG8gZ2VuZXJhdGUgc2l6aW5nIG1vZGlmaWVycy5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAkY2xvc2VidXR0b24tei1pbmRleDtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgLy8gVXNlIGJ5IGRlZmF1bHQgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBkZWZhdWx0IHNpemVcbiAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JGNsb3NlYnV0dG9uLWRlZmF1bHQtc2l6ZX07XG5cbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAvLyBHZW5lcmF0ZSBhIHBsYWNlaG9sZGVyIGFuZCBhIGNsYXNzIGZvciBlYWNoIHNpemVcbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGNsb3NlYnV0dG9uLXNpemUge1xuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAlemYtY2xvc2UtYnV0dG9uLS0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoJG5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAZXh0ZW5kICV6Zi1jbG9zZS1idXR0b24tLSN7JG5hbWV9O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDogMC41ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIGZvciBhIGRpc2FibGVkIHN3aXRjaC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgLy8gaW5kaWNhdGUgYSBkaXNhYmxlZCBzd2l0Y2hcbiAgaW5wdXQ6ZGlzYWJsZWQgfiAmIHtcbiAgICBjdXJzb3I6ICRzd2l0Y2gtY3Vyc29yLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6ICRzd2l0Y2gtb3BhY2l0eS1kaXNhYmxlZDtcbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3dpdGNoLWhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHN3aXRjaC1oZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcblxuICAkc3dpdGNoLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAqIDI7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtaGVpZ2h0OiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICRzd2l0Y2gtd2lkdGg7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogJHBhZGRsZS1vZmZzZXQ7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLW9mZnNldDtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAkc3dpdGNoLWhlaWdodC10aW55LCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKiAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHN0YWNrZWQgdGFibGUgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRuZXN0IFtmYWxzZV0gLSBOZWVkZWQgaWYgeW91IG9ubHkgd2FudCB0byBhcHBseSB0aGlzIHRvIGEgc3BlY2lmaWMgdGFibGUuXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSB0cnVlIHtcbiAgICAvLyBEYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2UgaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZSBpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGUtc3RhY2stYnJlYWtwb2ludCBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuJGNvbnRyYXN0LXdhcm5pbmdzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUGF0Y2ggdG8gZml4IGlzc3VlICMxMjA4MFxuJHByaW1hcnktY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiBudWxsICFkZWZhdWx0O1xuJHdhcm5pbmctY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6IG51bGwgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1jb2xvcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiBkaXZpZGUoJHJnYiwgMjU1KTtcblxuICAgICRyZ2I6IGlmKCRyZ2IgPCAwLjAzOTI4LCBkaXZpZGUoJHJnYiwgMTIuOTIpLCBwb3coZGl2aWRlKCRyZ2IgKyAwLjA1NSwgMS4wNTUpLCAyLjQpKTtcblxuICAgICRyZ2JhMjogYXBwZW5kKCRyZ2JhMiwgJHJnYik7XG4gIH1cblxuICBAcmV0dXJuIDAuMjEyNiAqIG50aCgkcmdiYTIsIDEpICsgMC43MTUyICogbnRoKCRyZ2JhMiwgMikgKyAwLjA3MjIgKiBudGgoJHJnYmEyLCAzKTtcbn1cblxuLy8vIENoZWNrcyB0aGUgY29udHJhc3QgcmF0aW8gb2YgdHdvIGNvbG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLWNvbnRyYXN0KCRjb2xvcjEsICRjb2xvcjIpIHtcbiAgLy8gQWRhcHRlZCBmcm9tOiBodHRwczovL2dpdGh1Yi5jb20vTGVhVmVyb3UvY29udHJhc3QtcmF0aW8vYmxvYi9naC1wYWdlcy9jb2xvci5qc1xuICAvLyBGb3JtdWxhOiBodHRwOi8vd3d3LnczLm9yZy9UUi8yMDA4L1JFQy1XQ0FHMjAtMjAwODEyMTEvI2NvbnRyYXN0LXJhdGlvZGVmXG4gICRsdW1pbmFuY2UxOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMSkgKyAwLjA1O1xuICAkbHVtaW5hbmNlMjogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjIpICsgMC4wNTtcbiAgJHJhdGlvOiBkaXZpZGUoJGx1bWluYW5jZTEsICRsdW1pbmFuY2UyKTtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiBkaXZpZGUoMSwgJHJhdGlvKTtcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApICogMC4xO1xuXG4gIEByZXR1cm4gJHJhdGlvO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRiYXNlYCwgYW5kIHJldHVybnMgdGhlIGNvbG9yIGZyb20gYCRjb2xvcnNgIChsaXN0IG9mIGNvbG9ycykgdGhhdCBoYXMgdGhlIG1vc3QgY29udHJhc3QuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFzZSAtIENvbG9yIHRvIGNoZWNrIGx1bWluYW5jZS5cbi8vLyBAcGFyYW0ge0xpc3R9ICRjb2xvcnMgWygkd2hpdGUsICRibGFjayldIC0gQ29sb3JzIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0b2xlcmFuY2UgWyRnbG9iYWwtY29sb3ItcGljay1jb250cmFzdC10b2xlcmFuY2VdIC0gQ29udHJhc3QgdG9sZXJhbmNlLlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbkBmdW5jdGlvbiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYXNlLCAkY29sb3JzOiAoJHdoaXRlLCAkYmxhY2spLCAkdG9sZXJhbmNlOiAkZ2xvYmFsLWNvbG9yLXBpY2stY29udHJhc3QtdG9sZXJhbmNlKSB7XG4gICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAxKSk7XG4gICRiZXN0OiBudGgoJGNvbG9ycywgMSk7XG5cbiAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCBsZW5ndGgoJGNvbG9ycykge1xuICAgICRjdXJyZW50LWNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgQGlmICgkY3VycmVudC1jb250cmFzdCAtICRjb250cmFzdCA+ICR0b2xlcmFuY2UpIHtcbiAgICAgICRjb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgICAgJGJlc3Q6IG50aCgkY29sb3JzLCAkaSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkY29udHJhc3Qtd2FybmluZ3MgYW5kICRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiAnQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH0nO1xuICB9XG5cbiAgQHJldHVybiAkYmVzdDtcbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGRhcmtlciBpZiBpdCdzIGxpZ2h0LCBvciBsaWdodGVyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBHZXQgY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEBwYXJhbSB7a2V5fSBjb2xvciBrZXkgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gY29sb3IgZnJvbSBmb3VuZGF0aW9uLXBhbGV0dGVcbkBmdW5jdGlvbiBnZXQtY29sb3IoJGtleSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSkge1xuICAgIEByZXR1cm4gbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGVycm9yICdnaXZlbiAka2V5IGlzIG5vdCBhdmFpbGFibGUgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSc7XG4gIH1cbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogIzE3NzliYSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogIzc2NzY3NiAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6ICMzYWRiNzYgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgICR3YXJuaW5nLWNvbG9yOiAjZmZhZTAwICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkYWxlcnQtY29sb3I6ICNjYzRiMzcgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzZXBlcmF0b3IgYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvcjogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gSWYgaXQgZXhpc3RzICRicmVhZGNydW1icy1pdGVtLXNsYXNoIGlzIHVzZWQgdG8gYnVpbGQgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLiBTZWUgdGhlIGRvY3VtZW50YXRpb24uXG5AaWYgdmFyaWFibGUtZXhpc3RzKGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gpIHtcbiAgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDtcbn1cblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW06ICcvJyAhZGVmYXVsdDtcblxuLy8vIFVzZWQgY2hhcmFjdGVyIGZvciB0aGUgYnJlYWRjcnVtYiBzZXBhcmF0b3IgaW4gcnRsIG1vZGUuXG4vLy8gQHR5cGUgQ29udGVudFxuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCcgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBJZiBpdCBleGlzdHMgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gtY29sb3IgaXMgdXNlZCB0byBidWlsZCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3IuIFNlZSB0aGUgZG9jdW1lbnRhdGlvbi5cbkBpZiB2YXJpYWJsZS1leGlzdHMoYnJlYWRjcnVtYnMtaXRlbS1zbGFzaC1jb2xvcikge1xuICAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzZXBhcmF0b3I6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICRicmVhZGNydW1icy1pdGVtLXNlcGFyYXRvci1pdGVtLCAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbS1ydGwpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBjb250ZW50OiAkc2VwYXJhdG9yO1xuICAgICAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgQ2FsbG91dCBwYWRkaW5ncy5cbi8vLyBAdHlwZSBNYXBcbiRjYWxsb3V0LXNpemVzOiAoXG4gIHNtYWxsOiAwLjVyZW0sXG4gIGRlZmF1bHQ6IDFyZW0sXG4gIGxhcmdlOiAzcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiBtYXAtZ2V0KCRjYWxsb3V0LXNpemVzLCBkZWZhdWx0KTtcblxuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRiYWNrZ3JvdW5kLCAoJGNhbGxvdXQtZm9udC1jb2xvciwgJGNhbGxvdXQtZm9udC1jb2xvci1hbHQpKTtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluIG1hcC1yZW1vdmUoJGNhbGxvdXQtc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoJHBhZGRpbmcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuXG4gIC8vIEFsbG93IGFuIGludGVybWl0dGVudCBzdGF0ZSB0byBkbyBwb3NpdGlvbmluZyBiZWZvcmUgbWFraW5nIHZpc2libGUuXG4gICYuaXMtb3BlbmluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLmlzLW9wZW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQ29udGVudCBmb3IgdGhlIHBsdXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLXBsdXMtY29udGVudDogJ1xcMDAyQicgIWRlZmF1bHQ7XG5cbi8vLyBDb250ZW50IGZvciB0aGUgbWludXMgaWNvbiB3aGVuIGAkYWNjb3JkaW9uLXBsdXNtaW51c2AgaXMgYHRydWVgXG4vLy8gQHR5cGUgU3RyaW5nXG4kYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ6ICdcXDIwMTMnICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3IsXG4gICRib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXIsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1ib3R0b206ICRib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgICAgY29udGVudDogJGFjY29yZGlvbi1wbHVzLWNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAkYWNjb3JkaW9uLW1pbnVzLWNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IChcbiAgJHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZDogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICBjb2xvcjogJGNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG4gIG1hcmdpbi1ib3R0b206ICRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgJi5tYWluLXNlY3Rpb24ge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICYubWlkZGxlIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCBkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgZm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgY29sb3I6ICRjb2xvci1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCAoXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZCxcbiAgJGNvbG9yOiAkdGFiLWNvbnRlbnQtY29sb3IsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwgKFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwgKFxuICAkcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmdcbikge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBwaWxsIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtcy1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBzaW1wbGUgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LXNpbXBsZS1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSB0ZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFsdC1hY3RpdmU6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciBtZW51IHN0YXRlLiBJZiB0cnVlLCB0aGlzIGR1cGxpY2F0ZSBgYWN0aXZlYCB3aXRoIGBpcy1hY3RpdmVgLlxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBhY3RpdmVgIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyB2ZXJzaW9ucy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZm9yIG1lbnUgY2VudGVyZWQuIElmIHRydWUsIHRoaXMgZHVwbGljYXRlIGAubWVudS1jZW50ZXJlZCA+IC5tZW51YCB3aXRoIGAubWVudS5hbGlnbi1jZW50ZXJgLlxuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IGBtZW51LWNlbnRlcmVkYCB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtY2VudGVyZWQtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGZvciB1c2luZyBgaWNvbi0qYCBjbGFzc2VzIHdpdGhvdXQgYC5pY29uc2AgY2xhc3Nlc1xuLy8vIEJ1dCBwbGVhc2Ugbm90ZSB0aGF0IHRoaXMgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aWxsIGJlIHJlbW92ZWQgaW4gdXBjb21pbmcgdmVyc2lvbnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxuXG4gIGEsXG4gIC5idXR0b24ge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtcy1wYWRkaW5nO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIGlucHV0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIG1lbnUgaXRlbXMuXG5AbWl4aW4gbWVudS1hbGlnbigkYWxpZ25tZW50KSB7XG4gIEBpZiAkYWxpZ25tZW50ID09IGxlZnQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRhbGlnbm1lbnQgPT0gcmlnaHQge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi52ZXJ0aWNhbCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuXG4gICAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG5cbiAgICAgIC5zdWJtZW51IGxpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGdsb2JhbC1sZWZ0O1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICAgIHRleHQtYWxpZ246ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSBjZW50ZXIge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAuc3VibWVudSBsaSB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLnN1Ym1lbnUgbGkge1xuICAgICAgICB0ZXh0LWFsaWduOiAkZ2xvYmFsLWxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFRoaXMgZWZmZWN0cyB0aGUgc2lkZSBvZiB0aGUgYDxsaT5gIHRoYXQgcmVjZWl2ZXMgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1hcmdpbiBbJG1lbnUtc2ltcGxlLW1hcmdpbl0gLSBUaGUgbWFyZ2luIHRvIGFwcGx5IHRvIGVhY2ggYDxsaT5gLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCwgJG1hcmdpbjogJG1lbnUtc2ltcGxlLW1hcmdpbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgbGkgKyBsaSB7XG4gICAgbWFyZ2luLSN7JGRpcn06ICRtYXJnaW47XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJG1hcmdpbiBbJG1lbnUtbmVzdGVkLW1hcmdpbl0gLSBMZW5ndGggb2YgdGhlIG1hcmdpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRuZXN0ZWQtYWxpZ25tZW50IFtsZWZ0XSAtIEFsaWdubWVudCBvZiB0aGUgbmVzdGVkIGNsYXNzXG5AbWl4aW4gbWVudS1uZXN0ZWQoXG4gICRtYXJnaW46ICRtZW51LW5lc3RlZC1tYXJnaW4sXG4gICRuZXN0ZWQtYWxpZ25tZW50OiBsZWZ0XG4pIHtcbiAgQGlmICRuZXN0ZWQtYWxpZ25tZW50ID09IHJpZ2h0IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJG1hcmdpbjtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xuICB9XG5cbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBpY29ucyBpbiBtZW51cy5cbkBtaXhpbiBtZW51LWljb25zKCkge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBpbWcsXG4gICAgaSxcbiAgICBzdmcge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgKyBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFsaWduIHRvcC9ib3R0b20gaWNvbnMgd2l0aGluIGEgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRhbGlnbm1lbnQgW2NlbnRlcl0gLSBBbGlnbm1lbnQgb2YgdGhlIGljb25cbkBtaXhpbiBtZW51LWljb24tYWxpZ25tZW50KCRhbGlnbm1lbnQ6IGNlbnRlcikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAmLmljb24tdG9wLFxuICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgbGkgYSB7XG4gICAgICAgIGltZyxcbiAgICAgICAgaSxcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICBAaWYgJGFsaWdubWVudCA9PSBsZWZ0IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHBvc2l0aW9uIGNsYXNzZXMgZm9yIGljb25zIHdpdGhpbiBhIG1lbnUuXG5AbWl4aW4gbWVudS1pY29uLXBvc2l0aW9uKCRwb3NpdGlvbjogbGVmdCwgJHNwYWNpbmc6ICRtZW51LWljb24tc3BhY2luZykge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxpIGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICBsaSBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XG4gICAgbGkgYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAkc3BhY2luZyBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtZW51LXRleHQge1xuICBwYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcblxuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG5AbWl4aW4gbWVudS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlLCAoJG1lbnUtaXRlbS1jb2xvci1hY3RpdmUsICRtZW51LWl0ZW0tY29sb3ItYWx0LWFjdGl2ZSkpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQobGVmdCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb24tYWxpZ25tZW50KGxlZnQpO1xuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEJyZWFrcG9pbnQgc3BlY2lmaWMgdmVyc2lvbnNcbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXNpbXBsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBJY29uIEJhc2UgU3R5bGVzXG4gICAgJi5pY29ucyB7XG4gICAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuICAgIH1cblxuICAgIC8vIEJhY2t3YXJkIENvbXBhdGliaWxpdHkgZm9yIGFjdGl2ZSBzdGF0ZVxuICAgIEBpZiAkbWVudS1pY29ucy1iYWNrLWNvbXBhdCB7XG4gICAgICAmLmljb24tdG9wLFxuICAgICAgJi5pY29uLXJpZ2h0LFxuICAgICAgJi5pY29uLWJvdHRvbSxcbiAgICAgICYuaWNvbi1sZWZ0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29ucztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNZW51IGljb24gcG9zaXRpb25cbiAgICAvLyBJbmNsdWRlcyBzcGVjaWZpY2l0eSB0byBuZXN0ZWQgaWNvbnMgd2l0aCBhIGRpZmZlcmVudCBwb3NpdGlvblxuICAgICYsXG4gICAgJi5uZXN0ZWQge1xuICAgICAgLy8gSWNvbiBMZWZ0XG4gICAgICAmLmljb24tbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1wb3NpdGlvbihsZWZ0KTtcbiAgICAgIH1cblxuICAgICAgLy8gSWNvbiBSaWdodFxuICAgICAgJi5pY29uLXJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1pY29uLXBvc2l0aW9uKHJpZ2h0KTtcbiAgICAgIH1cblxuICAgICAgLy8gSWNvbiBUb3BcbiAgICAgICYuaWNvbi10b3Age1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24odG9wKTtcbiAgICAgIH1cblxuICAgICAgLy8gSWNvbiBCb3R0b21cbiAgICAgICYuaWNvbi1ib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWljb24tcG9zaXRpb24oYm90dG9tKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuaXMtYWN0aXZlID4gYSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBCYWNrd2FyZCBDb21wYXRpYmlsaXR5IGZvciBhY3RpdmUgc3RhdGVcbiAgICBAaWYgJG1lbnUtc3RhdGUtYmFjay1jb21wYXQge1xuICAgICAgLmFjdGl2ZSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXN0YXRlLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBsZWZ0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtbGVmdH0ge1xuICAgICAgQGluY2x1ZGUgbWVudS1hbGlnbihsZWZ0KTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKHJpZ2h0KTtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbi1hbGlnbm1lbnQocmlnaHQpO1xuXG4gICAgICAubmVzdGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJG5lc3RlZC1hbGlnbm1lbnQ6IHJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiBjZW50ZXJcbiAgICAmLmFsaWduLWNlbnRlciB7XG4gICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLm1lbnUtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBtZW51LXRleHQ7XG4gICAgfVxuICB9XG5cbiAgQGlmICRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0IHtcbiAgICAubWVudS1jZW50ZXJlZCB7XG4gICAgICA+IC5tZW51IHtcbiAgICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZW51LWFsaWduKGNlbnRlcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgbmVzdGVkIG1hcmdpblxuLy8vIEB0eXBlIE51bWJlclxuJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbjogJGdsb2JhbC1tZW51LW5lc3RlZC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IHN1Ym1lbnUgcGFkZGluZy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGFjY29yZGlvbm1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBib3JkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWJvcmRlcjogbnVsbCAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgaXRlbSBwYWRkaW5nLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTGlzdFxuJGFjY29yZGlvbi1zdWJtZW51LXRvZ2dsZS1ib3JkZXI6ICRhY2NvcmRpb25tZW51LWJvcmRlciAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgc3VibWVudSB0b2dnbGUgYmFja2dyb3VuZCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLXdpZHRoOiA0MHB4ICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBzdWJtZW51IHRvZ2dsZSBiYWNrZ3JvdW5kIGhlaWdodC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRhY2NvcmRpb25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuQG1peGluIHpmLWFjY29yZGlvbi1tZW51LWxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudDpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSkgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMSAqICgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplICogMC41KTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgfVxuICB9XG5cbiAgJi5hbGlnbi1sZWZ0IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG59XG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG5cbiAgLmFjY29yZGlvbi1tZW51IHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJGFjY29yZGlvbm1lbnUtYm9yZGVyO1xuICAgICAgICBib3JkZXItcmlnaHQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6ICRhY2NvcmRpb25tZW51LWJvcmRlcjtcbiAgICAgIH1cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgQGlmICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb25tZW51LWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGEge1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGFjY29yZGlvbm1lbnUtbmVzdGVkLW1hcmdpbik7XG4gICAgfVxuXG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIC5uZXN0ZWQuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkYWNjb3JkaW9ubWVudS1uZXN0ZWQtbWFyZ2luLCByaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1hY2NvcmRpb24tbWVudS1sZWZ0LXJpZ2h0LWFycm93cztcblxuICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpIHtcbiAgICBAaWYgJGFjY29yZGlvbm1lbnUtYm9yZGVyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5oYXMtc3VibWVudS10b2dnbGUgPiBhIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4gIH1cblxuICAvLyBTdWJtZW51IHRvZ2dsZVxuICAuc3VibWVudS10b2dnbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcblxuICAgIHdpZHRoOiAkYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyO1xuXG4gICAgQGlmICRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWJhY2tncm91bmQge1xuICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGFycm93IHRvIHRoZSB0b2dnbGVcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGFjY29yZGlvbm1lbnUtYXJyb3ctc2l6ZSwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuXG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLy8gUm90YXRlIHRoZSBhcnJvdyB3aGVuIG1lbnUgaXMgb3BlblxuICAuc3VibWVudS10b2dnbGVbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIH1cblxuICAuc3VibWVudS10b2dnbGUtdGV4dCB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBpdGVtIHBhZGRpbmcuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJpbGxkb3duLW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIG1lbnUgaXRlbSBwYWRkaW5nIGluIHRoZSBzdWJtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc6ICRkcmlsbGRvd24tcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyaWxsZG93bi1hcnJvdy1zaXplO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICB9XG4gIH1cblxuICAmLmFsaWduLWxlZnQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgbGVmdDogYXV0bztcbiAgfVxuXG4gICYuYWxpZ24tcmlnaHQgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxcmVtO1xuICB9XG5cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHRvcCBsZXZlbCA8dWw+XG4gIC5kcmlsbGRvd24ge1xuICAgIGEge1xuICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuICAgICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIC8vIEFwcGxpZWQgdG8gc3VibWVudSA8dWw+c1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgICAgfVxuXG4gICAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN1Ym1lbnUgaXRlbSBwYWRkaW5nXG4gICAgICBhIHtcbiAgICAgICAgcGFkZGluZzogJGRyaWxsZG93bi1zdWJtZW51LXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5lc3RlZC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZCgkZHJpbGxkb3duLW5lc3RlZC1tYXJnaW4pO1xuICAgIH1cblxuICAgIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgICBAaW5jbHVkZSB6Zi1kcmlsbGRvd24tbGVmdC1yaWdodC1hcnJvd3M7XG5cbiAgICAgIC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBwYWRkaW5nIGZvciBhbGlnbmluZyB0aGUgYXJyb3cgY29ycmVjdGx5LlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1wYWRkaW5nOiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRvcCBsZXZlbCBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiBudWxsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgdG9wIGxldmVsIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3dubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBuZXN0ZWQgbWFyZ2luXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBzdWItbWVudSBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tY29sb3ItYWN0aXZlOiBnZXQtY29sb3IocHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0uIEV4cGxpY2l0IG92ZXJyaWRlIGZvciBtZW51IGRlZmF1bHRzXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG5AbWl4aW4gemYtZHJvcGRvd24tbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICAjeyRnbG9iYWwtbGVmdH06IGF1dG87XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAqIDAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIHpmLWRyb3Bkb3duLWxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW1cbiAgICA+IGxpID4gYSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgICBwYWRkaW5nOiAkZHJvcGRvd25tZW51LXBhZGRpbmc7XG4gICAgfVxuXG4gICAgLy8gVG9wLWxldmVsIGl0ZW0gYWN0aXZlIHN0YXRlXG4gICAgPiBsaS5pcy1hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bi1tZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGRyb3Bkb3duLW1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubmVzdGVkLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQoJGRyb3Bkb3dubWVudS1uZXN0ZWQtbWFyZ2luKTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ7XG5cbiAgICAuZHJvcGRvd24gJiBhIHtcbiAgICAgIHBhZGRpbmc6ICRkcm9wZG93bm1lbnUtc3VibWVudS1wYWRkaW5nO1xuICAgIH1cblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSB6Zi1kcm9wZG93bi1sZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggbWFwIG9mIGEgbGVmdC9yaWdodCBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE1hcFxuJG9mZmNhbnZhcy1zaXplczogKFxuICBzbWFsbDogMjUwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG1hcCBvZiBhIHRvcC9ib3R0b20gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBNYXBcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIG92ZXJsYXAgcGFuZWwuXG4vLy8gQHR5cGUgU2hhZG93XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNykgIWRlZmF1bHQ7XG5cbi8vLyBJbm5lciBib3ggc2hhZG93IHNpemUgZm9yIHRoZSBvZmYtY2FudmFzIHB1c2ggcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4ICFkZWZhdWx0O1xuXG4vLy8gSW5uZXIgYm94IHNoYWRvdyBjb2xvciBmb3IgdGhlIG9mZi1jYW52YXMgcHVzaCBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBjb250ZW50IG92ZXJsYXkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLW92ZXJsYXktemluZGV4OiAxMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgcHVzaGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtcHVzaC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBvdmVybGFwYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1vdmVybGFwLXppbmRleDogMTMgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgcGFuZWwgdXNpbmcgdGhlIGByZXZlYWwtZm9yLSpgIGNsYXNzZXMgb3IgbWl4aW4uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXJldmVhbC16aW5kZXg6IDEyICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuXG4gIC8vLyBUcmFuc2Zvcm0gZGVwcmVjYXRlZCBzaXplIHNldHRpbmdzIGludG8gbWFwICYgc2hvdyB3YXJuaW5nXG4gIEBpZiB2YXJpYWJsZS1leGlzdHMob2ZmY2FudmFzLXNpemUpIHtcbiAgICAkb2ZmY2FudmFzLXNpemVzOiAoc21hbGw6ICRvZmZjYW52YXMtc2l6ZSwgbWVkaXVtOiAkb2ZmY2FudmFzLXNpemUpICFnbG9iYWw7XG4gICAgQHdhcm4gJyRvZmZjYW52YXMtc2l6ZSBpcyBkZXByZWNhdGVkIGFuZCBub3QgdXNlZCBhbnltb3JlISBQbGVhc2UgdXBkYXRlIHlvdXIgc2V0dGluZ3MgYW5kIHVzZSB0aGUgbWFwICRvZmZjYW52YXMtc2l6ZXMgaW5zdGVhZCc7XG4gIH1cbiAgQGlmIHZhcmlhYmxlLWV4aXN0cyhvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkge1xuICAgICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChzbWFsbDogJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplLCBtZWRpdW06ICRvZmZjYW52YXMtdmVydGljYWwtc2l6ZSkgIWdsb2JhbDtcbiAgICBAd2FybiAnJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplIGlzIGRlcHJlY2F0ZWQgYW5kIG5vdCB1c2VkIGFueW1vcmUhIFBsZWFzZSB1cGRhdGUgeW91ciBzZXR0aW5ncyBhbmQgdXNlIHRoZSBtYXAgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcyBpbnN0ZWFkJztcbiAgfVxuXG4gIC8vIENoZWNrcyB0aGUgei1pbmRleGVzIGFuZCBpbmNyZWFzZSB0aGVtIGR1ZSB0byBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgLy8gVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB0aGUgb3ZlcmxheSdzIHotaW5kZXggaXMgbmV3IHNpbmNlIHY2LjQgYW5kIG1heSBiZSBpZGVudGljYWwgdG8gdGhlIHVzZXIgY3VzdG9tIHNldHRpbmdzIG9mIHRoZSBwdXNoIHotaW5kZXguXG4gIEBpZiAkb2ZmY2FudmFzLXB1c2gtemluZGV4IDw9ICRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXggeyAkb2ZmY2FudmFzLXB1c2gtemluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXktemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4IDw9ICRvZmZjYW52YXMtcHVzaC16aW5kZXggeyAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4ICsgMSAhZ2xvYmFsOyB9XG4gIEBpZiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXggPD0gJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCB7ICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleCArIDEgIWdsb2JhbDsgfVxuXG4gIC8vIEhpZGVzIG92ZXJmbG93IG9uIGJvZHkgd2hlbiBhbiBvZmYtY2FudmFzIHBhbmVsIGlzIG9wZW4uXG4gIC5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogJG9mZmNhbnZhcy1vdmVybGF5LXppbmRleDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nLCB2aXNpYmlsaXR5ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcblxuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuXG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2FibGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgICYuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAvLyBTZXQgdGhlIG9mZi1jYW52YXMgei1pbmRleC5cbiAgei1pbmRleDogJG9mZmNhbnZhcy1wdXNoLXppbmRleDtcblxuICAvLyBJbmNyZWFzZSBDU1Mgc3BlY2lmaWNpdHlcbiAgJi5pcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtcHVzaC16aW5kZXg7XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblxuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAvLyBIaWRlIGluYWN0aXZlIG9mZi1jYW52YXMgd2l0aGluIHRoZSBjb250ZW50IHRoYXQgaGF2ZSB0aGUgc2FtZSBwb3NpdGlvblxuICAmLmlzLWNsb3NlZCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLy8gT3ZlcmxhcCBvbmx5IHN0eWxlcy5cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg7XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogJG9mZmNhbnZhcy1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0cyB0cmFuc2Zvcm0gdG8gMCB0byBzaG93IGFuIG9mZi1jYW52YXMgcGFuZWwuXG4gICYuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHBvc2l0aW9uIGFuIG9mZi1jYW52YXMgcGFuZWwgdG8gdGhlIGxlZnQvcmlnaHQvdG9wL2JvdHRvbS5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRvcmllbnRhdGlvbjogaG9yaXpvbnRhbCxcbiAgJHNpemVzOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplcywgJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplcylcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHBvc2l0aW9uIGZvciBuZXN0ZWQgb2ZmLWNhbnZhcyBlbGVtZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAub2ZmLWNhbnZhcy5wb3NpdGlvbi0jeyRwb3NpdGlvbn0ge1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcblxuICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG5cbiAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfS5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9LmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgICAgIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2l6ZXMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0cyB0aGUgcG9zaXRpb24gZm9yIG5lc3RlZCBvZmYtY2FudmFzIGVsZW1lbnRcbiAgICBAYXQtcm9vdCAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IC5vZmYtY2FudmFzLnBvc2l0aW9uLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJHNpemVzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXRzIHRoZSBvcGVuIHBvc2l0aW9uIGZvciB0aGUgY29udGVudFxuICAgIEBhdC1yb290IC4jeyRtYWluY29udGVudC1jbGFzc30uaXMtb3Blbi0jeyRwb3NpdGlvbn0ge1xuICAgICAgJi5oYXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgICAgQGVhY2ggJG5hbWUsICRzaXplIGluICRzaXplcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kc2l6ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctc2l6ZSBpcyBzZXQsIGFkZCBpbm5lciBib3gtc2hhZG93LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtaW5uZXItc2hhZG93LXNpemUge1xuICAgICYuaXMtdHJhbnNpdGlvbi1wdXNoIHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIGlubmVyLXNpZGUtc2hhZG93KHJpZ2h0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBpbm5lci1zaWRlLXNoYWRvdyhsZWZ0LCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3coYm90dG9tLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgaW5uZXItc2lkZS1zaGFkb3codG9wLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplLCAkb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8vIFNldHMgdGhlIHN0eWxlcyBmb3IgdGhlIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIG9mZi1jYW52YXMtY29udGVudCgpIHtcbiAgdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgLy8gQmluZCB0byBoYXMtdHJhbnNpdGlvbi1YIGNsYXNzIHRvIHByZXZlbnQgdHJhbnNpdGlvbiBmb3IgdHJhbnNmb3JtOm5vbmVcbiAgJi5oYXMtdHJhbnNpdGlvbi1vdmVybGFwLFxuICAmLmhhcy10cmFuc2l0aW9uLXB1c2gge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cblxuICAvLyBUcmFuc2Zvcm0gc2NvcGUgdW50aWwgdGhlIGVsZW1lbnQgaXMgY2xvc2VkIChtYWtlcyBzdXJlIHRyYW5zaXRpb25lbmQgZ2V0cyB0cmlnZ2VyZWQpXG4gICYuaGFzLXRyYW5zaXRpb24tcHVzaCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gIH1cblxuICAvLyBDb25zaWRlciBlbGVtZW50ICYgY29udGVudCwgbmVzdGVkIGluIGFub3RoZXIgY29udGVudFxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdGhhdCByZXZlYWwgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkemluZGV4OiAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsXG4gICRjb250ZW50OiAkbWFpbmNvbnRlbnQtY2xhc3MsXG4gICRicmVha3BvaW50OiBzbWFsbFxuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gQ29uc2lkZXIgcmV2ZWFsZWQgZWxlbWVudCBpcyBuZXN0ZWQgaW4gY29udGVudFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9ICYge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIEBhdC1yb290IC4jeyRjb250ZW50fS5oYXMtcmV2ZWFsLSN7JHBvc2l0aW9ufSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogLXpmLWdldC1icC12YWwoJG9mZmNhbnZhcy1zaXplcywgJGJyZWFrcG9pbnQpO1xuICB9XG5cbiAgLy8gYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKHByaW9yIHRvIHY2LjQpXG4gICYgfiAuI3skY29udGVudH0ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06IC16Zi1nZXQtYnAtdmFsKCRvZmZjYW52YXMtc2l6ZXMsICRicmVha3BvaW50KTtcbiAgfVxufVxuXG4vLy8gT3ZlcnJpZGVzIHRoZSBvZmYtY2FudmFzIHN0eWxlc1xuQG1peGluIGluLWNhbnZhcygpIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgLy8gSW5jcmVhc2UgQ1NTIHNwZWNpZmljaXR5XG4gICYucG9zaXRpb24tbGVmdCxcbiAgJi5wb3NpdGlvbi1yaWdodCxcbiAgJi5wb3NpdGlvbi10b3AsXG4gICYucG9zaXRpb24tYm90dG9tIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxuXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgLy8gRm9yY2UgcG9zaXRpb24gYWJzb2x1dGUgZm9yIG5lc3RlZCBvZmYtY2FudmFzIGJlY2F1c2UgZml4ZWQgZG9lc24ndCB3b3JrIGZvciBwdXNoIHRyYW5zaXRpb24gd2l0aGluIHRoZSB0cmFuc2Zvcm0gc2NvcGUuXG4gICAgLy8gQGF0LXJvb3QgLiN7JG1haW5jb250ZW50LWNsYXNzfSAmIHtcbiAgICAvLyAgIC8vIE5PVEU6IHNpbmNlIG92ZXJsYXAgdHJhbnNpdGlvbiBpcyBjdXJyZW50bHkgZm9yY2VkIGlmIG5lc3RlZCwgdGhlcmUncyBubyBuZWVkIHRvIGZvcmNlIHBvc2l0aW9uIGFic29sdXRlIHVudGlsIG5lc3RlZCBwdXNoIHRyYW5zaXRpb24gaXMgc3VwcG9ydGVkLlxuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vIH1cbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgY29udGFpbmVyIHdpdGggYWJzb2x1dGUgcG9zaXRpb25cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZSgkZml4ZWQ6IGZhbHNlKTtcbiAgfVxuXG4gIC8vIE9mZi1jYW52YXMgcG9zaXRpb24gY2xhc3Nlc1xuICAucG9zaXRpb24tbGVmdCAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24obGVmdCwgICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tcmlnaHQgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24ocmlnaHQsICBob3Jpem9udGFsKTsgfVxuICAucG9zaXRpb24tdG9wICAgICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24odG9wLCAgICB2ZXJ0aWNhbCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbSAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGJvdHRvbSwgdmVydGljYWwpOyB9XG5cbiAgLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1jb250ZW50O1xuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgcGFuZWwgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0LCAkb2ZmY2FudmFzLXJldmVhbC16aW5kZXgsICRtYWluY29udGVudC1jbGFzcywgJG5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbCh0b3AsICRvZmZjYW52YXMtcmV2ZWFsLXppbmRleCwgJG1haW5jb250ZW50LWNsYXNzLCAkbmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGJvdHRvbSwgJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LCAkbWFpbmNvbnRlbnQtY2xhc3MsICRuYW1lKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIE1vdmUgaW4tY2FudmFzIGZvciBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5vZmYtY2FudmFzLmluLWNhbnZhcy1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGluLWNhbnZhcztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgRmxleGJveCBVdGlsaXRpZXNcbi8vLy9cbi8vXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3IgdGhlIGNvdW50IG9mIHNvdXJjZSBvcmRlcmluZ2Bcbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNiAhZGVmYXVsdDtcblxuLy8vIFF1aWNrbHkgZGlzYWJsZS9lbmFibGUgUmVzcG9uc2l2ZSBicmVha3BvaW50cyBmb3IgVmFuaWxsYSBGbGV4IEhlbHBlcnMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50czogdHJ1ZSAhZGVmYXVsdDtcblxuQG1peGluIGZsZXgtaGVscGVycyB7XG4gIC5mbGV4LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgfVxuXG4gIC5mbGV4LWNoaWxkLWF1dG8ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICB9XG5cbiAgLmZsZXgtY2hpbGQtZ3JvdyB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICAuZmxleC1jaGlsZC1zaHJpbmsge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgQGVhY2ggJGRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWRpcmVjdGlvbiB7XG4gICAgLmZsZXgtZGlyLSN7JGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGZsZXhib3gtcmVzcG9uc2l2ZS1icmVha3BvaW50cykge1xuICAgIC8vIExvb3AgdGhyb3VnaCBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY29udGFpbmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLiN7JHNpemV9LWZsZXgtY2hpbGQtYXV0byB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuI3skc2l6ZX0tZmxleC1jaGlsZC1ncm93IHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWNoaWxkLXNocmluayB7XG4gICAgICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAZWFjaCAkZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtZGlyZWN0aW9uIHtcbiAgICAgICAgICAgIC4jeyRzaXplfS1mbGV4LWRpci0jeyRkaXJ9IHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oJHByb3ApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluICQtemYtZmxleC1qdXN0aWZ5IHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gSG9yaXpvbnRhbCBhbGlnbm1lbnQgU3BlY2lmaWNhbGx5IGZvciBWZXJ0aWNhbCBNZW51XG4gIEBlYWNoICRoZGlyLCAkcHJvcCBpbiBtYXAtcmVtb3ZlKCQtemYtZmxleC1qdXN0aWZ5LCAnanVzdGlmeScsICdzcGFjZWQnKSB7XG4gICAgLmFsaWduLSN7JGhkaXJ9IHtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICAmLm1lbnUgPiBsaSA+IGEge1xuICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6ICRoZGlyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENlbnRyYWwgYWxpZ25tZW50IG9mIGNvbnRlbnRcbiAgLmFsaWduLWNlbnRlci1taWRkbGUge1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oJHg6IGNlbnRlciwgJHk6IG1pZGRsZSk7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGZsZXgtc291cmNlLW9yZGVyaW5nLWNvdW50IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tb3JkZXItI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWYW5pbGxhIEZsZXhib3ggSGVscGVyc1xuICBAaW5jbHVkZSBmbGV4LWhlbHBlcnM7XG59XG4iLCJAZnVuY3Rpb24gLXpmLWZsZXgtanVzdGlmeSgkdGV4dC1kaXJlY3Rpb24pIHtcbiAgJC16Zi1mbGV4LWp1c3RpZnk6IChcbiAgICAnbGVmdCc6IGlmKCR0ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGZsZXgtZW5kLCBmbGV4LXN0YXJ0KSxcbiAgICAncmlnaHQnOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBmbGV4LXN0YXJ0LCBmbGV4LWVuZCksXG4gICAgJ2NlbnRlcic6IGNlbnRlcixcbiAgICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbiAgKTtcblxuICBAcmV0dXJuICQtemYtZmxleC1qdXN0aWZ5O1xufVxuXG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXNcbi8vIGh0dHBzOi8vZ2V0LmZvdW5kYXRpb25cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgLy8gTWF4IHZhbHVlIGlzIDAuMnB4IHVuZGVyIHRoZSBuZXh0IGJyZWFrcG9pbnQgKDAuMDIgLyAxNiA9IDAuMDAxMjUpLlxuICAvLyBVc2UgYSBwcmVjaXNpb24gdW5kZXIgMXB4IHRvIHN1cHBvcnQgYnJvd3NlciB6b29tLCBidXQgbm90IHRvIGxvdyB0byBhdm9pZCByb3VuZGluZy5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9mb3VuZGF0aW9uL2ZvdW5kYXRpb24tc2l0ZXMvaXNzdWVzLzExMzEzXG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gMC4wMDEyNTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtIDAuMDAxMjU7XG4gIC8vIHRlc3QgYWN0dWFsIGxvd2VyLWJvdW5kLXNpemUsIGlmIDAgc2V0IGl0IHRvIDBlbVxuICBAaWYgc3RyaXAtdW5pdCgkbG93ZXItYm91bmQtc2l6ZSkgPT0gMCB7XG4gICAgJGxvd2VyLWJvdW5kOiAtemYtYnAtdG8tZW0oJGxvd2VyLWJvdW5kLXNpemUpO1xuICB9XG5cbiAgQGlmICR1cHBlci1ib3VuZC1zaXplID09IG51bGwge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgJHVwcGVyLWJvdW5kOiAtemYtYnAtdG8tZW0oJHVwcGVyLWJvdW5kLXNpemUpO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdXBwZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yKCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvci1vbmx5KCRzaXplKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXMge1xuICAvLyBCYXNpYyBoaWRpbmcgY2xhc3Nlc1xuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmludmlzaWJsZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIC52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG5cbiAgLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC5oaWRlLWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIGhpZGUtZm9yKCRzaXplKTtcbiAgICAgIH1cblxuICAgICAgLnNob3ctZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgc2hvdy1mb3IoJHNpemUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIGhpZGUtZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cblxuICAgIC5zaG93LWZvci0jeyRzaXplfS1vbmx5IHtcbiAgICAgIEBpbmNsdWRlIHNob3ctZm9yLW9ubHkoJHNpemUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNjcmVlbiByZWFkZXIgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIC8vIE5lZWQgYSBcImhpZGUtZm9yLXNyXCIgY2xhc3M/IEFkZCBhcmlhLWhpZGRlbj0ndHJ1ZScgdG8gdGhlIGVsZW1lbnRcbiAgLnNob3ctZm9yLXNyLFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG4gIH1cblxuICAvLyBPbmx5IGRpc3BsYXkgdGhlIGVsZW1lbnQgd2hlbiBpdCdzIGZvY3VzZWRcbiAgLnNob3ctb24tZm9jdXMge1xuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgIH1cbiAgfVxuXG4gIC8vIExhbmRzY2FwZSBhbmQgcG9ydHJhaXQgdmlzaWJpbGl0eVxuICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhbmRzY2FwZSkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRGFyayBNb2RlIFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWRhcmstbW9kZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaGlkZS1mb3ItZGFyay1tb2RlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHtcbiAgICAuc2hvdy1mb3ItZGFyay1tb2RlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5oaWRlLWZvci1kYXJrLW1vZGUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIElFMTArIFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWllIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBtZWRpYSBhbGwgYW5kICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSksICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSB7XG4gICAgLnNob3ctZm9yLWllIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5oaWRlLWZvci1pZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gU3RpY2t5IFZpc2liaWxpdHlcbiAgLnNob3ctZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAuaXMtc3R1Y2sgLnNob3ctZm9yLXN0aWNreSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgLmlzLXN0dWNrIC5oaWRlLWZvci1zdGlja3kge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi8qXHJcbi0tLS0tIE1lbnVzIC0tLS0tXHJcblRPRE86IFRoaXMgaXMgYSB3b3JrIGluIHByb2dyZXNzIEkgYW0gc3RpbGwgbWlncmF0aW5nIGZyb20gYSBtYXNzaXZlIGJsb2Igb2YgY29kZSBlbWJlZGRlZCBpbiBoZWFkZXIuc2Nzcy5cclxuSGFuZGxlcyB0aGUgZm9sbG93aW5nOiBcclxuLSBEcm9wZG93bnNcclxuLSBEcmlsbCBkb3duc1xyXG4tIEFjY29yZGlvbnNcclxuLSBNZWdhIG1lbnVcclxuICAtIE1lZ2EgbWVudSBzZWUgbW9yZSBsaW5rLlxyXG4gIC0gRUJHIGltYWdlLlxyXG4qL1xyXG5cclxuLm1lbnUtaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcbiAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICBAaW5jbHVkZSBjbG9zZUJ1dHRvbigkaWNvbi1zaXplLCAkbWVudXMtaGVhZGVyLWNvbG91cik7XHJcbiAgICB9XHJcbiAgICAubWVudS1oZWFkaW5nIHtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xyXG4gICAgICAgIGNvbG9yOiAkbWVudXMtaGVhZGVyLWNvbG91cjtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtZW51cy1oZWFkZXItZm9udC1zaXplKTtcclxuICAgICAgICBmb250LXdlaWdodDogJG1lbnVzLWhlYWRlci1mb250LXdlaWdodDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG91cjMtMjtcclxuICAgIH1cclxufVxyXG5cclxuLy8gR2V0cyB3cmFwcGVkIGFyb3VuZCBhbGwgbWVudXMuXHJcbi5tZW51LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubWVudSwgLmRyb3Bkb3duLm1lbnUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIC8vIFN1cHJlc3NpbmcgZHVlIHRvIG1lZ2EgbWVudSBvdmVybGFwcGluZyBkcm9wZG93biBtZW51cy5cclxuICAgIC8vIHotaW5kZXg6IDU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgQGlmIG5vdCAkaGVhZGVyLWxvd2VyLWl0ZW0tZ3JvdyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBVc2VkIGZvciBiYXNrZXQgcHJldmlldywgc2VhcmNoICYgbW9iaWxlIG1lZ2EgbWVudS5cclxuICAgIC5uYXZpZ2F0aW9uLWNtcy1jb250YWluZXIsIC5tZW51LWhlYWRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbjogJG1lbnUtbmF2LXRleHQtbWFyZ2luO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplLCBzbWFsbCkpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC13ZWlnaHQsIHNtYWxsKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmNsb3NlLWJ1dHRvbiB7XHJcbiAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gICAgLy8gTW9iaWxlIGV4cGllcmFuY2UuXHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XHJcbiAgICAgICAgLy8gTGV2ZWwgMVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0xLWJvcmRlci1ib3R0b20sIHNtYWxsKTtcclxuICAgICAgICAgICAgLy8gTGV2ZWwgMlxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lbnVzLWxldmVsLTItcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0yLWJvcmRlci10b3AsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkbWVudXMtbGV2ZWwtMi1saS1ib3JkZXIsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtc2l6ZSwgc21hbGwpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtZm9udC13ZWlnaHQsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBMZXZlbCAzXHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gbWFyZ2luOiBtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29udGFpbmVyLW1hcmdpbiwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1jb2xvdXIsIHNtYWxsKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1mb250LXdlaWdodCwgc21hbGwpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJG1lZ2EtbWVudS1jaGlsZC1zaXplLCBzbWFsbCkpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuYWNjb3VudC1tZW51IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI21lZ2EtbWVudS1pbWFnZS1jb250YWluZXIsIC5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tIEFjY29yZGlvbiBNZW51IC0tLVxyXG4gICAgJi5hY2NvcmRpb24tbWVudSB7XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGV2ZWwtMS1pY29uLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGV2ZWwtMS1pY29uLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmFjdGl2ZXtcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0xLWljb24tY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYWNjb3JkaW9uLW1lbnU6bm90KFtkYXRhLXN1Ym1lbnUtdG9nZ2xlPVwidHJ1ZVwiXSkge1xyXG4gICAgICAgIC8vIExldmVsIDEuXHJcbiAgICAgICAgPiBsaS5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9dHJ1ZV0ge1xyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVudS1vcGVuKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9ICBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6ICRtZW51LWRyb3Bkb3duLWFycm93cy1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcblxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIExldmVsIDJcclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICA+IGxpLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgJlthcmlhLWV4cGFuZGVkPXRydWVdIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LW9wZW4pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtaXRlbS1wcmVmaXgtaWNvbigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIExldmVsIDNcclxuICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICBcclxuICAgIH1cclxuICAgIC8vIElmIHRoZSBhbmNob3IgaXMgbGlua2luZyB0byBwYWdlIGJ1dCB3ZSB3YW50IG1lbnUgdG9nZ2xlIGJ1dHRvbi5cclxuICAgICYuYWNjb3JkaW9uLW1lbnVbZGF0YS1zdWJtZW51LXRvZ2dsZT1cInRydWVcIl0ge1xyXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD10cnVlXSB7XHJcbiAgICAgICAgICAgID4gYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24gYW5kIHVzaW5nIEV4cHJlc3MncyBzaXRlLWljb25zIGZvciBjb25zaXN0ZW5jeS5cclxuICAgICAgICBAYXQtcm9vdCB7XHJcbiAgICAgICAgICAgIC5zdWJtZW51LXRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkbWVudS1kcm9wZG93bi1hcnJvd3Mtc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc3VibWVudSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gbGkge1xyXG4gICAgICAgIC8vICAgICAvLyBNYWtlIHN1cmUgaWYgYW4gaXRlbSBoYXMgYSB0b2dnbGUgYnV0dG9uIHRoYXQgY2hpbGQgaXRlbShzKSBrZWVwIGl0ZW0gZGVzY3JpcHRpb25zIGlubGluZS4gXHJcbiAgICAgICAgLy8gICAgICYuaGFzLXN1Ym1lbnUtdG9nZ2xlIHtcclxuICAgICAgICAvLyAgICAgICAgICYgfiBsaSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgJjpub3QoLmhhcy1zdWJtZW51LXRvZ2dsZSk6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgLy8gICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcclxuICAgICAgICAvLyAgICAgICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgICAgbGkuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICY6bm90KC5oYXMtc3VibWVudS10b2dnbGUpIHtcclxuICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0tLSBCYWNrZ3JvdW5kIGNvbG91ciwgdGV4dCBjb2xvdXIsIGhvdyB3ZSBoYW5kbGUgRUdCIGdyb3VwIGNvbG91cnMuIC0tLS0tXHJcbiAgICAvLyBDYXJyeSBvdXQgc29tZSBwcmUtcHJvY2Vzc2luZyBvZiB0aGUgY29sb3VycyB0byB0ZXN0IHRoZSBsZWdpYmlsaXR5IG9mIHRoZSBjb250ZW50IGFnYWluc3QgdGhlaXIgYmFja2dyb3VuZHMuXHJcbiAgICAvLyAtLS0gR3JhbmQgcGFyZW50IGNvbG91cnMuIC0tLVxyXG4gICAgLy8gTW9iaWxlXHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIsIHNtYWxsKTtcclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1zbWFsbCksICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIERlc2t0b3BcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRncmFuZC1wYXJlbnQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LWxhcmdlKSwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci5cclxuICAgICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRncmFuZC1wYXJlbnQtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBob3ZlciksICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGFjdGl2ZSksICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyAtLS0gUGFyZW50IGNvbG91cnMgLS0tIFxyXG4gICAgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjE7XHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJHBhcmVudC1jb2xvdXI6ICBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBkZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci5cclxuICAgICRwYXJlbnQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJHBhcmVudC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBhY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyAtLS0gQ2hpbGQgY29sb3VycyAtLS0gXHJcbiAgICAvLyBUT0RPOlxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRjaGlsZC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuIFxyXG4gICAgJGNoaWxkLWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1ob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJGNoaWxkLWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgQG1peGluIGdyYW5kLXBhcmVudC1hY3RpdmUtc3R5bGVzKCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbi5cclxuICAgICAgICAgICAgY29sb3I6ICRncmFuZC1wYXJlbnQtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgICAvLyBJZiBlQnVzaW5lc3MgZ3JvdXAgYmFja2dyb3VuZCBpcyBjb25maWd1cmVkLlxyXG4gICAgICYuZWJnLWNvbG91ci1iYWNrZ3JvdW5kICB7XHJcbiAgICAgICAgbGlbc3R5bGUqPVwiLS1lYmdcIl0uaXMtc3VibWVudS1pdGVtIHtcclxuICAgICAgICAgICAgQGlmIG5vdCAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICA+IGE6aG92ZXIsIGxpOmhvdmVyIGEge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTsgXHJcbiAgICAgICAgICAgICAgICBsaSB7IFxyXG4gICAgICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsaVtzdHlsZSo9XCItLWViZ1wiXTpub3QoLmlzLXN1Ym1lbnUtaXRlbSkge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIElmIGVCdXNpbmVzcyBncm91cCBjb2xvdXIgb24gaG92ZXIgaXMgY29uZmlndXJlZC5cclxuICAgICYuZWJnLWNvbG91ci1ob3ZlciB7XHJcbiAgICAgICAgbGlbc3R5bGUqPVwiLS1lYmdcIl0ge1xyXG4gICAgICAgICAgICAmOmhvdmVyLCAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgICAgIEBpZiBub3QgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gYTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91ci1zaG93LW9uLWFuY2hvcikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1lYmctYmFja2dyb3VuZC1jb2xvdXIsICRncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWViZy1mb3JlZ3JvdW5kLWNvbG91ciwgJG1vYmlsZS1ncmFuZC1wYXJlbnQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgbGk6bm90KFtzdHlsZSo9XCItLWViZ1wiXSkge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICA+IGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSwgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tZWJnLWZvcmVncm91bmQtY29sb3VyLCAkbW9iaWxlLWdyYW5kLXBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gbGlbc3R5bGUqPVwiLS1lYmdcIl06bm90KC5pcy1zdWJtZW51LWl0ZW0pOmhvdmVyIHtcclxuICAgICAgICAvLyAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZWJnLWJhY2tncm91bmQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAvLyAgICAgPiBhIHtcclxuICAgICAgICAvLyAgICAgICAgIGNvbG9yOiB2YXIoLS1lYmctZm9yZWdyb3VuZC1jb2xvdXIsICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICB9XHJcbiAgICAvLyBEZWZhdWx0IHN0eWxlcy5cclxuICAgIGxpIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBMZXZlbCAxICggR3JhbmRwYXJlbnQgKVxyXG4gICAgPiBsaSB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgLy8gU2V0dGluZyBjb2x1bW4gbGF5b3V0IGZvciBmaWx0ZXJzIGFuZCBpdCBtYWRlIHNlbnNlIGZvciBnZW5lcmFsIG1lbnUgbG9naWMgYXMgd2VsbC5cclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkbWVudXMtbGlzdC1pdGVtLWxpbmUtaGVpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gYSwgPiBwIHtcclxuICAgICAgICAgICAgJi5oYXMtbGluay1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1mbGV4LWRpcmVjdGlvbjtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogKHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZywgMSwgbGFyZ2UpIC8gMik7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IChzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXBhZGRpbmcsIDMsIGxhcmdlKSAvIDIpO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmxpbmstaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1pbWFnZS1zaXplKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXBhZGRpbmcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWltYWdlLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uT3V0cm8sIGhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmICsgLmxpbmstZGVzY3JpcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1kZXNjcmlwdGlvbi1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAvLyBBZGRpbmcgZmxleCBncm93IHRvIGFsbG93IGZvciB0aGUgYW5jaG9yIHRvIHRha2UgdXAgZW50aXJlIHdpZHRoIG9mIHRoZSBjb250YWluZXIgKCB0aGluayBwcm9kdWN0IGxpc3QgZmlsdGVycyApLlxyXG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbidzIGxpbmUtaGVpZ2h0IHdpdGggdGhlIGdsb2JhbCBsaW5lIGhlaWdodC5cclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRtZW51cy1saXN0LWl0ZW0tbGluZS1oZWlnaHQ7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogaWYoJGhlYWRlci1sb3dlci10ZXh0LWFsaWduID09IFwibGVmdFwiLGZsZXgtc3RhcnQsY2VudGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBMZXZlbCAyICggUGFyZW50IClcclxuICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgLy8gU3BlY2lmaWMgaGlkaW5nIHRoaXMgb24gcGFnZSBsb2FkIC8gaW50aXRpYWxpc2F0aW9uIHRvIHByZXZlbnQgY29udGVudCBmcm9tIGJlaW5nIHNob3duIHRoZW4gaGlkZGVuLlxyXG4gICAgICAgICAgICAmOm5vdCguc3VibWVudSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0yLXBhZGRpbmcsIHNtYWxsKTtcclxuICAgICAgICAgICAgQGlmICgkbWVudS1lbmFibGUtZHJvcGRvd24tZm9vdGVyKSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWViZy1iYWNrZ3JvdW5kLWNvbG91ciwgJGRlZmF1bHQtbWVudS1kcm9wZG93bi1ib3JkZXItY29sb3VyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRtZW51cy1sZXZlbC0yLXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAvLyBMZXZlbCAzLCBBZGRpbmcgY2xhc3MgdG8gbm90IGJyZWFrIGxvd2VyIGRvd24gbGlzdHMgKCBpLmUgY29udGV4dCBtZW51IClcclxuICAgICAgICAgICAgICAgIHVsIGxpLmlzLXN1Ym1lbnUtaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgID4gbGksIC5pcy1hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgbWVnYS1tZW51LWxpbmstaWNvbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbidzIHBvc2l0aW9uaW5nLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1jaGV2cm9ucyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lZ2EtbWVudS1saW5rLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBHcm91cCBpbmRpY2F0b3IgaW4gbW9iaWxlLlxyXG4gICAgICAgICAgICAgICAgLy8gJi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtaXRlbS1wcmVmaXgtaWNvbigpO1xyXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZHJvcGRvd24ge1xyXG4gICAgICAgIGxpID4gYSB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICYuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gSUYgd2Ugc3BlY2lmaWNhbGx5IHdhbnQgdG8gYWRkIGEgcmFkaXVzIHRvIHRoZSBib3R0b20gb2Ygc3VibWVudSBhbmNob3JzICggYmV3YXJlIHRoaXMgbWF5IGxvb2sgb2RkIHdpdGggZHJvcGRvd24gbWVudXMgKS5cclxuICAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1ib3R0b206IGlmKHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cywgMyksICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMsIDApO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKSBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykgJGJvcmRlci1yYWRpdXMtYm90dG9tICRib3JkZXItcmFkaXVzLWJvdHRvbTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOm5vdCguaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQpIHtcclxuICAgICAgICAgICAgICAgIEBpZiBzbW9vdGgtZWRnZXMoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYm9yZGVyLXJhZGl1cykge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBAaWYgKCRtZW51LWRyb3Bkb3duLWFycm93cykge1xyXG4gICAgICAgICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgICAgIC8vIE5vdCBhIHNpdGUtc2V0dGluZyBkdWUgdG8gZGVzaWduIGNhbGxlZCBmb3IgY2hldnJvbiB0byBiZSBvbiBiZWZvcmUgdGhlIHRleHQgaW5zdGVhZCBvZiBhZnRlci5cclxuICAgICAgICAgICAgICAgICY6bm90KC5zaXRlLXNldHRpbmctbWVudSkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2UtbWVudS1yb290LWRyb3Bkb3duLWFycm93KCRncmFuZC1wYXJlbnQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWhvdmVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLm9uLXBhZ2UtbWVudSB7XHJcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG91cjM7XHJcbiAgICAgICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcclxuICAgICAgICAgICAgYm9yZGVyOiAwO1xyXG4gICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMztcclxuICAgICAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAtLS0tLSBIb21lIGJ1dHRvbiAtLS0tLSBcclxuICAgIC8vIExlZ2liaWxpdHkgY2hlY2tlci5cclxuICAgIC8vIERlZmF1bHRcclxuICAgICRob21lLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAkaG9tZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaG9tZS1idXR0b24tY29sb3VyLCBkZWZhdWx0KSwgJGhvbWUtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXJcclxuICAgICRob21lLWhvdmVyLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgaG92ZXIpO1xyXG4gICAgJGhvbWUtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJGhvbWUtYnV0dG9uLWNvbG91ciwgaG92ZXIpLCRob21lLWhvdmVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIEFjdGl2ZVxyXG4gICAgJGhvbWUtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICRob21lLWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaG9tZS1idXR0b24tY29sb3VyLCBhY3RpdmUpLCRob21lLWFjdGl2ZS1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgLmhvbWUtYnV0dG9uIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogJGhvbWUtYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG9tZS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRob21lLWJ1dHRvbi1pY29uLWJhY2tncm91bmQtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob21lLWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbk91dHJvLCBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG9tZS1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhvbWUtYnV0dG9uLWljb24tYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRob21lLWFjdGl2ZS1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIGhvbWUpO1xyXG4gICAgICAgICAgICAgICAgQGlmICRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmcge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRob21lLWJ1dHRvbi1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRob21lLWJ1dHRvbi1pY29uLXNpemU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGhvbWUtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaG9tZS1idXR0b24taWNvbi1iYWNrZ3JvdW5kLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBAaWYgc21vb3RoLWVkZ2VzKCRob21lLWJ1dHRvbi1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJGhvbWUtYnV0dG9uLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvLCBwYWRkaW5nICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICRob21lLXNlcGVyYXRvciB7XHJcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbWFwLWdldCgkaG9tZS1zZXBlcmF0b3ItZGltZW5zaW9ucywgd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogbWFwLWdldCgkaG9tZS1zZXBlcmF0b3ItZGltZW5zaW9ucywgaGVpZ2h0KTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkaG9tZS1zZXBlcmF0b3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IChtYXAtZ2V0KCRob21lLXNlcGVyYXRvci1kaW1lbnNpb25zLCBoZWlnaHQpIC8gMS42KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0ICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDk1JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvbWUtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy8gLS0tLS0gQWNjb3VudCBNZW51IC0tLS0tIFxyXG4gICAgLmFjY291bnQtbWVudSB7XHJcbiAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGFjY291bnQtbWVudS13aWR0aCwgc21hbGwpO1xyXG4gICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbi5cclxuICAgICAgICByaWdodDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nOiBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtcGFkZGluZywgc21hbGwpO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgbWF4LWhlaWdodDogJG1lZ2EtbWVudS1sZXZlbC0yLWRlc2t0b3AtbWF4LWhlaWdodDtcclxuICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGFjY291bnQtbWVudS13aWR0aCwgbGFyZ2UpO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAgbWFwLWdldCgkYWNjb3VudC1tZW51LXBhZGRpbmcsIGxhcmdlKTtcclxuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBEZWNsYWlyaW5nIHBhZGRpbmcgaGVyZSBhcyB3ZWxsIHRvIG92ZXJyaWRlIGRlZmF1bHQgbWVudSBhbmNob3Igc3R5bGluZy5cclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6ICRhY2NvdW50LW1lbnUtaXRlbS1wYWRkaW5nO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5hY2NvdW50LXBhZ2Uge1xyXG4gICAgICAgICAgICAmID4gYSB7XHJcbiAgICAgICAgICAgICAgICAvLyBTdXBwcmVzcyBwcmVmaXggY2hldnJvbi5cclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB1bnNldDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgdG9wOiAxMDAlIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWZvb3RlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH0gIFxyXG4gICAgLy8gLS0tLS0gTW9iaWxlIHNpdGUgc2V0dGluZyBtZW51cyAtLS0tIFxyXG4gICAgLnNpdGUtc2V0dGluZy1tZW51IHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIzO1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gdWwge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHggMjBweDtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxNjBweDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggNDVweCAxMHB4IDIycHg7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDkwJTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXItYm9yZGVyKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuY3VycmVuY3ktaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1cnJlbmN5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcclxuICAgICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zZWxlY3RlZC1vcHRpb24ge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRzaXRlLWljb25zLCBtZW51LWNsb3NlKTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uIHN0eWxlcy5cclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0byAxNXB4IGF1dG8gMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogY3VzdG9tLWljb24tZmFtaWx5KCRmb250QXdlc29tZVNvbGlkLCAkc2l0ZS1pY29ucy1jdXN0b20tY2hldnJvbnMpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnUtZHJvcGRvd24tYXJyb3dzLXNpemU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXIzLTM7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jdXJyZW5jeS1pY29uICB7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IC0xcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgLy8gYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIoJGNvbG91cjQsICRoZWFkZXItdXBwZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAvLyBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDZweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmN1cnJlbmN5IHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICAgICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNTtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmN1cnJlbmN5LWljb24ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICAgICAgICAgLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uIHRvIGZvcmNlIHNpdGUgc2V0dGluZyBkcm9wZG93biB0byBwaW4gdG8gdGhlIHRvcCBvZiB0aGUgdmlld3BvcnQuXHJcbiAgICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgI3tzcGFjaW5nLXZhbHVlKCRoZWFkZXItdXBwZXItcGFkZGluZywgMSl9KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUbyBvdmVycmlkZSBkZWZhdWx0IG1lbnUgc3R5bGVzLlxyXG4gICAgICAgICYuaXMtYWN0aXZlID4gYTpob3ZlciAubGFiZWwge1xyXG4gICAgICAgICAgICBjb2xvcjogJGNvbG91cjQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuaXMtYWN0aXZlLCAmOmhvdmVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICBhIHsgXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY29sb3I6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkaGVhZGVyLXVwcGVyLWNvbG91ciwgaG92ZXIpLCAkaGVhZGVyLXVwcGVyLWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgICAgICAgICAgICAgICAgICAuY3VycmVuY3ktaWNvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyNDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIG1lbnUtb3Blbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy0zO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gRXhwbGljaXRseSBoYW5kbGluZyBjb250YWN0IGljb25zIG9uIGFuY2hvcnMuXHJcbnVsLm1lbnUge1xyXG4gICAgbGkge1xyXG4gICAgICAgIGFbaHJlZl49XCJ0ZWw6XCJdLCBhW2hyZWZePVwibWFpbHRvOlwiXSB7XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIC8vIFRPRE86IENvbmZpZyBuYW1lcyBuZWVkIHRvIGJlIHJlZmFjdG9yIHRvIGJlIG1vcmUgZ2VuZXJpYyBhcyB0aGlzIGNvZGUgY2FuIG5vdyBiZSB1c2VkIGFueXdoZXJlLlxyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkaGVhZGVyLXVwcGVyLWljb24tbWFyZ2luO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJGhlYWRlci11cHBlci1pY29uLXBhZGRpbmc7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkaGVhZGVyLXVwcGVyLWljb25zLWNvbG91ciwgZGVmYXVsdCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnRBd2Vzb21lU29saWQ7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCRoZWFkZXItdXBwZXItaWNvbnMtYm9yZGVyLXJhZGl1cyk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uT3V0cm8sIGNvbG9yICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uSW50cm8sIGNvbG9yICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRoZWFkZXItdXBwZXItaWNvbnMtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGhlYWRlci11cHBlci1pY29ucy1iYWNrZ3JvdW5kLWNvbG91ciwgYWN0aXZlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhW2hyZWZePVwibWFpbHRvOlwiXSB7XHJcbiAgICAgICAgICAgIEBpZiAkbWVudXMtZW1haWwtZm9udC1zaXplIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJG1lbnVzLWVtYWlsLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkc2l0ZS1pY29ucywgZW1haWwpO1xyXG4gICAgICAgICAgICAgICAgQGlmICgkc2l0ZS1pY29ucy1jdXN0b20tZW1haWwtaWNvbikge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJGZvbnRBd2Vzb21lU29saWQsICRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnVzLWVtYWlsLWljb24tc2l6ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBhW2hyZWZePVwidGVsOlwiXSB7XHJcbiAgICAgICAgICAgIEBpZiAkbWVudXMtdGVsZXBob25lLWZvbnQtc2l6ZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRtZW51cy10ZWxlcGhvbmUtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaWYgJG1lbnVzLXRlbGVwaG9uZS1mb250LXdlaWdodCAge1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRtZW51cy10ZWxlcGhvbmUtZm9udC13ZWlnaHQgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJHNpdGUtaWNvbnMsIHRlbGVwaG9uZSk7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzaXRlLWljb25zLWN1c3RvbS1lbWFpbC1pY29uKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGN1c3RvbS1pY29uLWZhbWlseSgkZm9udEF3ZXNvbWVTb2xpZCwgJHNpdGUtaWNvbnMtY3VzdG9tLXRlbGVwaG9uZS1pY29uKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKCRtZW51cy10ZWxlcGhvbmUtaWNvbi1yb3RhdGUpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRtZW51cy10ZWxlcGhvbmUtaWNvbi1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJG1lbnVzLXRlbGVwaG9uZS1pY29uLXNpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5AaWYgJG1lZ2EtbWVudS1zaG93LWljb25zIHtcclxuICAgIFtjbGFzc149XCJtZW51LWljb24tXCJdIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBAaWYgbm90ICRtZWdhLW1lbnUtc2hvdy1pY29ucy1tb2JpbGUge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBtYXJnaW46IG1hcC1nZXQoJG1lZ2EtbWVudS1pY29ucy1tYXJnaW4sIHNtYWxsKTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAkbWVnYS1tZW51LWljb25zLXNpemU7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBjdXN0b20taWNvbi1mYW1pbHkoJG1lZ2EtbWVudS1pY29ucy1mb250LWZhbWlseSwgJHNpdGUtaWNvbnMtY3VzdG9tLWNoZXZyb25zKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBtYXAtZ2V0KCRtZWdhLW1lbnUtaWNvbnMtbWFyZ2luLCBsYXJnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubWVudS1pY29uLWFjY291bnQ6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBtYXAtZ2V0KCRhY2NvdW50LWljb25zLCBhY2NvdW50KTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5tZW51LXNjcm9sbC1jb250YWluZXIge1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxufVxyXG5cclxuLy8gLS0tLS0gU3VibWVudSdzIC0tLS0tLSBcclxuLnN1Ym1lbnUge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogNDAwO1xyXG4gICAgQGlmIHNtb290aC1lZGdlcygpIHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgc21vb3RoLWVkZ2VzKCkgc21vb3RoLWVkZ2VzKCk7XHJcbiAgICB9XHJcbiAgICAvLyBPbmx5IGFwcGx5IHRoZSBmb290ZXIgYm9yZGVyIHRvIHRoZSBzZWNvbmQgbGV2ZWwgb2YgYSBtZW51LlxyXG4gICAgLy8gVE9ETzogbmVlZCB0byB3b3JrIG91dCB0aGUgdXNlIG9mIC5sZXZlbCBjbGFzc2VzIGFuZCBpbnN0ZWFkIHVzZSBwYXJlbnQgY2hpbGQgcmVsYXRpb25zaGlwJ3MgYmV0d2VlbiB1bCBsaSBhcyB3ZSByZWN1cnNpdmlseSB0cmF2ZXJzZSBkb3duLlxyXG4gICAgJi5sZXZlbDIge1xyXG4gICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICRtZW51cy1zdWJtZW51LWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGlmICgkbWVudS1lbmFibGUtZHJvcGRvd24tZm9vdGVyKSB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1mb290ZXIoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICAgID4gbGkge1xyXG4gICAgICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkbWVudXMtbGlzdC1pdGVtLWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbnVzLWxpc3QtaXRlbS1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuLy8gT3ZlcnJpZGluZyBmb3VuZGF0aW9uIGFzIHRoaXMgaXMgY2F1c2luZyBhIHN0ZXAuXHJcbi5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbn1cclxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcclxuICAgICYub3BlbnMtcmlnaHQge1xyXG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAkc3VibWVudS1wYWRkaW5nOiBzcGFjaW5nLXZhbHVlKCRtZW51cy1sZXZlbC0yLXBhZGRpbmcsIDIsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgIEBpZiAoJHN1Ym1lbnUtcGFkZGluZyA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAjeyRzdWJtZW51LXBhZGRpbmd9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gTWVudSBFQkcgaW1hZ2UuXHJcbi5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIC8vIFN1cHByZXNzaW5nIHRvIHNwYW4gdGhlIGVudGlyZSB3aWR0aCBvZiBhdmFpbGFibGUgc3BhY2UuXHJcbiAgICAgICAgLy8gd2lkdGg6ICRtZWdhLW1lbnUtaW1hZ2UtZGltZW5zaW9ucztcclxuICAgICAgICAvL2hlaWdodDogJG1lZ2EtbWVudS1pbWFnZS1kaW1lbnNpb25zO1xyXG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogJG1lZ2EtbWVudS1pbWFnZS1kZXNrdG9wLW1hcmdpbjtcclxuICAgICAgICBncmlkLXJvdzogMSAvIHNwYW4gbGFzdC1saW5lO1xyXG4gICAgfVxyXG4gICAgLmltYWdlIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgICAgIEBpZiAoJG1lZ2EtbWVudS1pbWFnZS1ib3gtc2hhZG93KSB7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRtZWdhLW1lbnUtaW1hZ2UtYm94LXNoYWRvdztcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAkbWVnYS1tZW51LWltYWdlLWJvcmRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyAtLS0tLSBNZWdhIG1lbnUgLS0tLS0tIFxyXG4vLyBNZWdhIG1lbnUgZ2VuZXJhbCBzdHlsZXNcclxuLy8gU3BlY2lmaWNhbGx5IG1lZ2EgbWVudSBzdHlsZXMgKCBpLmUgY29sdW1uIGxheW91dHMgKVxyXG4ubWVnYS1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAtLW1lZ2EtbWVudS1kcm9wZG93bi1ndXR0ZXI6ICN7c3BhY2luZy12YWx1ZSgkbWVnYS1tZW51LWRyb3Bkb3duLWd1dHRlciwgMil9O1xyXG4gICAgLy8gRG9uJ3Qgd3JhcCBhcyB0aGlzIHdpbGwgY2F1c2UgaXNzdWVzIHdoZW4gdXNpbmcgdGhlIGRyb3Bkb3duLlxyXG4gICAgPiB1bC5tZW51IHtcclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgIEBpZiAkbWVnYS1tZW51LWRyb3Bkb3duLWZ1bGwtd2lkdGgge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGluaGVyaXQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgIC8vIE1lZ2EgbWVudSBjb2x1bW4gbGF5b3V0IGluIGRlc2t0b3AuXHJcbiAgICAgICAgICAgIEBmb3IgJGNvdW50IGZyb20gMSB0aHJvdWdoICRtZWdhLW1lbnUtbWF4LWNvbHVtbnMge1xyXG4gICAgICAgICAgICAgICAgJltkYXRhLW1lZ2EtbWVudS1jb2x1bW4tY291bnQ9XCIjeyRjb3VudH1cIl0gPiBsaSA+IHVsLnN1Ym1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIFdvcmsgb3V0IGd1dHRlcnMuXHJcbiAgICAgICAgICAgICAgICAgICAgJGd1dHRlcnM6ICgoJGNvdW50IC0gMSkgKiBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyLCAyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQXBwbHkgY29sdW1uIGNvdW50LCB0YWtlIGF2YWlsYWJsZSBzcGFjZSBpbnRvIGFjY291bnQgKCBpLmUgZHJvcGRvd24gcGFkZGluZyAvIGd1dHRlcnMgKVxyXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KCN7JGNvdW50fSwgY2FsYygoI3skbWVnYS1tZW51LWRyb3Bkb3duLWNvbnRlbnQtY29udGFpbmVyfSAtICN7KCRndXR0ZXJzKX0pIC8gI3skY291bnR9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTWVnYSBtZW51IGltYWdlIHBvc2l0aW9uLCB0aGlzIHdpbGwgb2J2aW91c2x5IGNoYW5nZSBkZXBlbmRpbmcgb24gdGhlIGNvbHVtbiBjb3VudC5cclxuICAgICAgICAgICAgICAgICAgICAubWVudS1lZ2ItaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46ICN7JGNvdW50fTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gIFxyXG4gICAgICAgIH1cclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICAgICAgLy8gTGV2ZWwgMiBcclxuICAgICAgICAgICAgJjpob3ZlciA+IC5zdWJtZW51IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAvLyBncmlkLWF1dG8tZmxvdzogZGVuc2U7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBnYXA6ICRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyO1xyXG4gICAgICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiB1bCB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtbGV2ZWwtMi1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci1yYWRpdXM7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLm92ZXJmbG93LXNjcm9sbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAkbWVnYS1tZW51LWxldmVsLTItZGVza3RvcC1tYXgtaGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEdWUgdG8gdGhlIHNjcm9sbGJhciBwdXNoIHRoZSBjb250ZW50IGxlZnQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICN7KHNwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1sZXZlbC0yLXBhZGRpbmcsIDIsIGxhcmdlKSAtIDE3cHgpfTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICAgICAgPiBsaS5oYXMtY2xvbmVkLWdyb3Vwcy1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGZpcnN0IGdyb3VwIGRvZXNuJ3QgZ2V0IHNob3duIGFzIGl0cyBiZWVuIGR1cGxpY2F0ZWQgaW50byB0aGUgc3VibWVudS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmLnN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBnYXA6ICRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmIHNtb290aC1lZGdlcygkbWVnYS1tZW51LXBhcmVudC1ib3JkZXItcmFkaXVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygkbWVnYS1tZW51LXBhcmVudC1ib3JkZXItcmFkaXVzKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA+IGxpLCAuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBSZXZlcnNpbmcgdGhpcyBjaGFuZ2UgYXMgaXQgd2FzIGNhdXNpbmcgYWxpZ25tZW50IGlzc3VlcyB3aGVuIHNvbWUgZ3JvdXAgZGlkbid0IGhhdmUgYW55IGNvbG91cidzIGNvbmZpZ3VyZWQuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gJjpub3QoW3N0eWxlKj1cIi0tZWJnLVwiXSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZW51LWdyb3VwLWRyb3Bkb3duLWFycm93cykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBHcm91cCBob3ZlciBpY29ucywgbm9ybWFsbHkgdGhpcyBpcyBwb3NpdGlvbmVkIHRvIHRoZSBsZWZ0IG9mIHRoZSBncm91cC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1pdGVtLXByZWZpeC1pY29uKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzIGljb24gZm9yIGxhcmdlIHdoZW4gYW5jaG9yIGlzIGluIGl0cyBkZWZhdWx0IHN0YXRlLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBsaS5tZW51LWVnYi1pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcclxuICAgICAgICAvLyBPdmVycmlkaW5nIGZvdW5kYXRpb24ncyBzdHlsZXMuXHJcbiAgICAgICAgQGlmIG5vdCAoJG1lbnUtZW5hYmxlLWRyb3Bkb3duLWZvb3Rlcikge1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFN1cnByZXNzaW5nIHRoaXMgaW4gZmF2b3VyIGlmIHVzaW5nIGZsZXhib3ggYXMgd2UgY3VycmVudGx5IGRvbnQgbmVlZCB0aGlzIGNvbXBsZXhpdHksIHRoaXMgb25seSBjb25mdXNlcyB0aGluZ3Mgd2hlbiBoYXZlIHRvIGhhbmRsZSB0aGUgdmlldyBtb3JlIGl0ZW0gYXQgdGhlbiBlbmQgb2YgYVxyXG4gICAgLy8gLm1lZ2EtbWVudS1jb2x1bW4tc3BhbiB7XHJcbiAgICAvLyAgICAgPiAuc3VibWVudSB7XHJcbiAgICAvLyAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAvLyAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KHZhcigtLW1lZ2EtbWVudS1jb2x1bW4td3JhcCksIDFmcik7XHJcbiAgICAvLyAgICAgICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XHJcbiAgICAvLyAgICAgICAgIGdhcDogMCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyLCAyKTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLm1lbnUgLmhhcy1jbG9uZWQtZ3JvdXBzIHtcclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm1lZ2FtZW51LWNvbHVtbi1jbG9uZWQtc3BhbiB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCh2YXIoLS1tZWdhLW1lbnUtY29sdW1uLWNsb25lZC13cmFwKSwgMWZyKTtcclxuICAgICAgICBncmlkLWF1dG8tZmxvdzogY29sdW1uO1xyXG4gICAgICAgIGdhcDogMCBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtZHJvcGRvd24tZ3V0dGVyLCAyKTtcclxuICAgIH1cclxuXHJcbiAgICAuY2hpbGRmcmVlLXBhcmVudCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNvbHVtbi1zcGFubmVkIHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5jbG9uZWQtdG8tc2VwZXJhdGUtcm93IHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIGxpLmlzLXN1Ym1lbnUtcGFyZW50LmFjY291bnQtbWVudS1jb250YWluZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB1bC5hY2NvdW50LW1lbnUge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBPdmVycmlkZSBkZWZhdWx0LlxyXG4gICAgICAgICAgICAgICAgd2lkdGg6IG1hcC1nZXQoJGFjY291bnQtbWVudS13aWR0aCwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgdWwuYWNjb3VudC1tZW51IHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICBtYXAtZ2V0KCRhY2NvdW50LW1lbnUtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5wZXJzaXN0ZW50LWViZy1pbWFnZXMge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgdWwuc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3VwcHJlc3MgYW55IGFycm93cy5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gTG93ZXIgbGV2ZWwgZ3JvdXAgaXRlbXMgdG8gYmUgc3VwcHJlc3NlZC5cclxuICAgICAgICAgICAgICAgICAgICAmID4gdWwuc3VibWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAuNjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuaW1hZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5wZXJzaXN0ZW50LWViZy1pbWFnZSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAje3NwYWNpbmctdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtcGFkZGluZywgMSwgbGFyZ2UpfTtcclxuICAgICAgICAgICAgQGlmICgkc21vb3RoLWVkZ2VzLWVuYWJsZWQpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRzbW9vdGgtZWRnZXMtZW5hYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubWVnYS1tZW51LWNvbnRhaW5lciwgLmhlYWRlci1tZW51LXJpZ2h0LWNvbnRhaW5lciB7XHJcbiAgICAvLyAtLS0tLSBCYWNrZ3JvdW5kIGNvbG91ciwgdGV4dCBjb2xvdXIsIGhvdyB3ZSBoYW5kbGUgRUdCIGdyb3VwIGNvbG91cnMuIC0tLS0tXHJcbiAgICAvLyBDYXJyeSBvdXQgc29tZSBwcmUtcHJvY2Vzc2luZyBvZiB0aGUgY29sb3VycyB0byB0ZXN0IHRoZSBsZWdpYmlsaXR5IG9mIHRoZSBjb250ZW50IGFnYWluc3QgdGhlaXIgYmFja2dyb3VuZHMuXHJcbiAgICAvLyAtLS0gR3JhbmQgcGFyZW50IGNvbG91cnMuIC0tLVxyXG4gICAgLy8gTW9iaWxlXHJcbiAgICAkbW9iaWxlLWdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogbWFwLWdldCgkbWVudXMtYmFja2dyb3VuZC1jb2xvdXIsIHNtYWxsKTtcclxuICAgICRtb2JpbGUtZ3JhbmQtcGFyZW50LWNvbG91cjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWNvbG91ciwgZGVmYXVsdC1zbWFsbCksICRtb2JpbGUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuICAgIC8vIERlc2t0b3BcclxuICAgIC8vIERlZmF1bHQuXHJcbiAgICAkZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyOiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICRncmFuZC1wYXJlbnQtY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBkZWZhdWx0LWxhcmdlKSwgJGdyYW5kLXBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci5cclxuICAgICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICRncmFuZC1wYXJlbnQtaG92ZXItY29sb3VyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtY29sb3VyLCBob3ZlciksICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJGdyYW5kLXBhcmVudC1hY3RpdmUtYmFja2dyb3VuZC1jb2xvdXI6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICAkZ3JhbmQtcGFyZW50LWFjdGl2ZS1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1jb2xvdXIsIGFjdGl2ZSksICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyAtLS0gUGFyZW50IGNvbG91cnMgLS0tIFxyXG4gICAgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cjogJGNvbG91cjE7XHJcbiAgICAvLyBEZWZhdWx0LlxyXG4gICAgJHBhcmVudC1jb2xvdXI6ICBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBkZWZhdWx0KSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcbiAgICAvLyBIb3Zlci5cclxuICAgICRwYXJlbnQtY29sb3VyLWhvdmVyOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJHBhcmVudC1jb2xvdXItYWN0aXZlOiBjb250cmFzdC1jaGVja2VyKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtY29sb3VyLCBhY3RpdmUpLCAkcGFyZW50LWJhY2tncm91bmQtY29sb3VyKTtcclxuXHJcbiAgICAvLyAtLS0gQ2hpbGQgY29sb3VycyAtLS0gXHJcbiAgICAvLyBUT0RPOlxyXG4gICAgLy8gRGVmYXVsdC5cclxuICAgICRjaGlsZC1jb2xvdXI6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtZGVmYXVsdCksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gSG92ZXIuIFxyXG4gICAgJGNoaWxkLWNvbG91ci1ob3ZlcjogY29udHJhc3QtY2hlY2tlcihtYXAtZ2V0KCRtZWdhLW1lbnUtY2hpbGQtY29sb3VyLCBsYXJnZS1ob3ZlciksICRwYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIpO1xyXG4gICAgLy8gQWN0aXZlLlxyXG4gICAgJGNoaWxkLWNvbG91ci1hY3RpdmU6IGNvbnRyYXN0LWNoZWNrZXIobWFwLWdldCgkbWVnYS1tZW51LWNoaWxkLWNvbG91ciwgbGFyZ2UtYWN0aXZlKSwgJHBhcmVudC1iYWNrZ3JvdW5kLWNvbG91cik7XHJcblxyXG4gICAgQG1peGluIGdyYW5kLXBhcmVudC1hY3RpdmUtc3R5bGVzKCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmFuZC1wYXJlbnQtYWN0aXZlLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgID4gYSB7XHJcbiAgICAgICAgICAgIC8vIE92ZXJyaWRpbmcgZm91bmRhdGlvbi5cclxuICAgICAgICAgICAgY29sb3I6ICRncmFuZC1wYXJlbnQtYWN0aXZlLWNvbG91cjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgLy8gRm9yIHdoZW4gd2UgZG9uJ3QgaGF2ZSByaWdodCBtZW51IGluIHRoZSBoZWFkZXItbWVudS1pbm5lci1jb250YWluZXIuXHJcbiAgICAgICAgQGlmICRoZWFkZXItbG93ZXItaXRlbS1ncm93IHtcclxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIC0tLSBMZXZlbCAyIC0tLSBcclxuICAgIC5sZXZlbDIge1xyXG4gICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMDtcclxuICAgICAgICAgICAgICAgICAgICA+IGEgeyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjA7ICBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XHJcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLy8gUHJldmVudCBzdWJtZW51IGZyb20gY2hhbmdpbmcgY29sb3VyIHdoZW4gYWN0aXZlLlxyXG4gICAgLnN1Ym1lbnUge1xyXG4gICAgICAgIGxpLmlzLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIExldmVsIDEgKCBHcmFuZHBhcmVudCApXHJcbiAgICB1bC5tZW51IHtcclxuICAgICAgICA+IGxpIHtcclxuICAgICAgICAgICAgLy8gRW5mb3JjZSBhIG1heGltdW0gd2lkdGggZm9yIGVhY2ggbWVudSBpdGVtLCBlc3NlbnRpYWxseSBmb3JjaW5nIGEgbGluZSBicmVhay5cclxuICAgICAgICAgICAgQGlmICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1heC13aWR0aCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LW1heC13aWR0aDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmICgkaGVhZGVyLWxvd2VyLWl0ZW0tZ3Jvdykge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBpZigkaGVhZGVyLWxvd2VyLXRleHQtYWxpZ24gPT0gXCJsZWZ0XCIsZmxleC1zdGFydCxjZW50ZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWFyZ2luKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgQGlmIG5vdCAoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IpIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JhbmQtcGFyZW50LWhvdmVyLWJhY2tncm91bmQtY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLXNob3ctb24tYW5jaG9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmFuZC1wYXJlbnQtaG92ZXItYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JhbmQtcGFyZW50LWhvdmVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAkdHJhbnNpdGlvbkludHJvICN7aWYoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXItc2hvdy1vbi1hbmNob3IsIFwiLGJhY2tncm91bmQtY29sb3JcIiAkdHJhbnNpdGlvbkludHJvLCAnJyl9O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdyYW5kLXBhcmVudC1hY3RpdmUtc3R5bGVzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQGlmICgkbWVudS1kcm9wZG93bi1hcnJvd3MpIHtcclxuICAgICAgICAgICAgICAgICYuaXMtc3VibWVudS1wYXJlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2UtbWVudS1yb290LWRyb3Bkb3duLWFycm93KCRncmFuZC1wYXJlbnQtY29sb3VyLCAkZ3JhbmQtcGFyZW50LWhvdmVyLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgIEBpZiAoc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYW5jaG9yLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWFuY2hvci1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGlmIChzbWFsbC12YWx1ZSgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1wYWRkaW5nKSAhPSAkZ2xvYmFsLW1lbnUtaXRlbS1wYWRkaW5nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtdGV4dC10cmFuc2Zvcm07XHJcbiAgICAgICAgICAgICAgICAvLyBMZWF2aW5nIGhlcmUgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmxpdHkuXHJcbiAgICAgICAgICAgICAgICBAaWYgKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWJvcmRlci1yYWRpdXMpIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1ib3JkZXItcmFkaXVzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LWFuY2hvci1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtYW5jaG9yLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJG1lZ2EtbWVudS1ncmFuZC1wYXJlbnQtcGFkZGluZywgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkbWVnYS1tZW51LWdyYW5kLXBhcmVudC1zaXplLCBsYXJnZSkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBtYXAtZ2V0KCRtZWdhLW1lbnUtZ3JhbmQtcGFyZW50LXdlaWdodCwgbGFyZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAgJGdyYW5kLXBhcmVudC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogJGhlYWRlci1sb3dlci10ZXh0LWFsaWduO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlIGdlbmVyaWMgb3BhY2l0eSBob3ZlciBlZmZlY3QgYXBwbGllZCB0byBhbGwgYW5jaG9ycy5cclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC8vIExldmVsIDIgKCBQYXJlbnQgKVxyXG4gICAgICAgICAgICA+IHVsIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBVc2UgdGhlICRtZWdhLW1lbnUtZHJvcGRvd24tZnVsbC13aWR0aCBmbGFnIHRvIG92ZXJyaWRlIHRoZSB3aWR0aCBpZiBzZXQuXHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICN7aWYoJG1lZ2EtbWVudS1kcm9wZG93bi1mdWxsLXdpZHRoLCAxMDAlLCAkbWVnYS1tZW51LWRyb3Bkb3duLXdpZHRoKX07XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1sZXZlbC0yLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDUwMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgQGlmICgkbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLXdpZHRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogJG1lZ2EtbWVudS1sZXZlbC0yLWJvcmRlci13aWR0aDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkbWVnYS1tZW51LWxldmVsLTItYm9yZGVyLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS1sZXZlbC0yLWJveC1zaGFkb3cpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJG1lZ2EtbWVudS1sZXZlbC0yLWJveC1zaGFkb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgID4gbGkge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGRlZmF1bHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1wYXJlbnQtbWFyZ2luKSBvciBzbWFsbC12YWx1ZSgkbWVnYS1tZW51LXBhcmVudC1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBob3ZlcikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG1lZ2EtbWVudS1wYXJlbnQtYmFja2dyb3VuZC1jb2xvdXIsIGhvdmVyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgY29sb3I6ICRwYXJlbnQtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIENoYW5naW5nIHRoZSBsb2dpYyBoZXJlIHRvIG9ubHkgcHV0IGhvdmVyIHRleHQgY29sb3VyIHdoZW4gcGFyZW50IGdyb3VwIGlzIGhvdmVyZWQgYXMgcmVxdWVzdCBmcm9tIHRoZSBRQyBvbiA4MTk2MDYuXHJcbiAgICAgICAgICAgICAgICAgICAgJiA+IGE6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBhcmVudC1jb2xvdXItaG92ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRtZWdhLW1lbnUtcGFyZW50LWJhY2tncm91bmQtY29sb3VyLCBhY3RpdmUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYgPiBhOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGFyZW50LWNvbG91ci1hY3RpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZ2EtbWVudS1sZXZlbC0yLWFuY2hvcigkcGFyZW50LWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBsZXZlbCAzXHJcbiAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vT3ZlcnJpZGluZyBmb3VuZGF0aW9uLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJi5jaGlsZGZyZWUtcGFyZW50cy1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPiBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWdhLW1lbnUtbGV2ZWwtMi1hbmNob3IoJHBhcmVudC1jb2xvdXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGxpLCBsaS5pcy1kcm9wZG93bi1zdWJtZW51LWl0ZW0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRvIGtlZXAgdG9wIGFuZCBib3R0b20gY29uc2lzdGVudC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBzcGFjaW5nLXZhbHVlKCRtZWdhLW1lbnUtcGFyZW50LXBhZGRpbmcsIDEsIGxhcmdlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNoaWxkLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbWVnYS1tZW51LWNoaWxkLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS1jaGlsZC1zaXplKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGxhcmdlLXZhbHVlKCRtZWdhLW1lbnUtY2hpbGQtZm9udC13ZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpob3ZlcjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY2hpbGQtY29sb3VyLWhvdmVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUsICY6YWN0aXZlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjaGlsZC1jb2xvdXItYWN0aXZlOyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBWaWV3IG1vcmUgYnV0dG9uLlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAubWVnYS1tZW51LXZpZXctbW9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtdmlldy1tb3JlLW1hcmdpbikpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNtYWxsLXZhbHVlKCRtZWdhLW1lbnUtdmlldy1tb3JlLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC13ZWlnaHQ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC1zdHlsZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoJG1lZ2EtbWVudS12aWV3LW1vcmUtZm9udC1zaXplKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkbWVnYS1tZW51LXZpZXctbW9yZS1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGRlZmF1bHQtY29sb3VyKCRtZWdhLW1lbnUtdmlldy1tb3JlLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChsYXJnZS12YWx1ZSgkbWVnYS1tZW51LXZpZXctbW9yZS1tYXJnaW4pKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogbGFyZ2UtdmFsdWUoJG1lZ2EtbWVudS12aWV3LW1vcmUtbWFyZ2luKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogaG92ZXItY29sb3VyKCRtZWdhLW1lbnUtdmlldy1tb3JlLWNvbG91cik7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIiwiLypcclxuLS0tLS0gUHJvZHVjdCBMaXN0IC0tLS0tXHJcbkhhbmRsZXMgdGhlIGZvbGxvd2luZzogXHJcbi0gVmFyaW91cyBsaXN0IHZpZXdzOlxyXG4gIC0gVGFibGVcclxuICAtIEdyaWRcclxuLSBBbnl3aGVyZSBhIHByb2R1Y3QgbGlzdCBpcyBzaG93ICggc2VhcmNoIHJlc3VsdHMsIHByb2R1Y3QgYnkgZ3JvdXAsIGFjY291bnQgYXJlYSBwYWdlcyApIHRoaXMgY29kZSB3aWxsIGJlIHVzZWQuXHJcbi0gVGhpcyBmaWxlIGlzIE5PVCBkZWRpY2F0ZWQgdG8gZmlsdGVycyBjb25zdWx0IGZpbHRlci5zY3NzIGZvciB0aGF0LlxyXG4tIEFsbCBzb3J0aW5nIG9wdGlvbnMgKCBpdGVtcyBwZXIgcGFnZXMsIHZpZXcgc2VsZWN0aW9uLCBwYWdpbmF0aW9uLCBpdGVtcyBmb3VuZCAmIHNvcnQgYnkgKVxyXG4tIE5vIHJlc3VsdHMgZm91bmQuXHJcbiovXHJcblxyXG4jYmVzcG9rZS1zZWFyY2gtcmVzdWx0cy1jb250YWluZXIge1xyXG4gICAgLy8gRm9yIFNpdGUgU2VhcmNoIDM2MCB0aGV5IHVzZSBhIGgyIGluc3RlYWQgb2YgYSBoMSBmb3Igc2hvd2luZyB0aGUgcXVlcnkgeW91IHNlYXJjaGVkIGZvci5cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW46ICRoZWFkaW5nLTEtbWFyZ2luO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGluZy0xLWZvbnQtc2l6ZSwgcHJlc2V0LTEpKTtcclxuICAgICAgICBmb250LXdlaWdodDogbWFwLWdldCgkaGVhZGluZy0xLWZvbnQtd2VpZ2h0LCBwcmVzZXQtMSk7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG1hcC1nZXQoJGhlYWRpbmctMS10ZXh0LXRyYW5zZm9ybSwgcHJlc2V0LTEpO1xyXG4gICAgICAgIEBpZiBtYXAtZ2V0KCRoZWFkaW5nLTEtdW5kZXJsaW5lLCBwcmVzZXQtMSkge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBoZWFkaW5nVW5kZXJMaW5lKDEsIG1hcC1nZXQoJGhlYWRpbmctMS1jb2xvdXIsIGRlZmF1bHQpLCAkaGVhZGluZy0xLXJ1bGUtY29sb3VyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zZWFyY2gtcmVzdWx0cy1zdWdnZXN0aW9ucyB7XHJcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xyXG4gICAgdWwge1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRyZWNvbW1lbmRlZC1yZXN1bHRzLW1hcmdpbik7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMuMyU7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNm4rMykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNm4rMikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoNm4rMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVjb21tZW5kZWQtcmVzdWx0cy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgICAgICAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBhLnN1Z2dlc3Rpb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRyZWNvbW1lbmRlZC1yZXN1bHRzLWl0ZW0tcGFkZGluZyk7XHJcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlY29tbWVuZGVkLXJlc3VsdHMtY29sb3VyLCBkZWZhdWx0KTtcclxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRyZWNvbW1lbmRlZC1yZXN1bHRzLWJhY2tncm91bmQtZm9udC1zaXplKTtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJHJlY29tbWVuZGVkLXJlc3VsdHMtY29sb3VyLCBob3Zlcik7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIge1xyXG4gICAgICAgIGdhcDogMDtcclxuICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRyZWNvbW1lbmRlZC1yZXN1bHRzLW1hcmdpbik7XHJcblxyXG4gICAgICAgIC5kZXNjcmlwdGlvbi1jb250YWluZXIgcCB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmRlc2NyaXB0aW9uLWNvbnRhaW5lciwgLnNuaXBwZXQtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAucmVzdWx0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgcGFkZGluZzogMjBweDtcclxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJlY29tbWVuZGVkLXJlc3VsdHMtYmFja2dyb3VuZC1jb2xvdXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi1kZXNjcmlwdGlvbiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4uc2VjdGlvbi1oZWFkaW5nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlY3Rpb24taGVhZGluZy1iYWNrZ3JvdW5kLWNvbG91cjtcclxuICAgIGNvbG9yOiAkc2VjdGlvbi1oZWFkaW5nLWNvbG91cjtcclxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHNlY3Rpb24taGVhZGluZy1mb250LXNpemUpO1xyXG4gICAgZm9udC1zdHlsZTogJHNlY3Rpb24taGVhZGluZy1mb250LXN0eWxlO1xyXG4gICAgZm9udC13ZWlnaHQ6ICRzZWN0aW9uLWhlYWRpbmctZm9udC13ZWlnaHQ7XHJcbiAgICBAaWYgKCRzZWN0aW9uLWhlYWRpbmctdGV4dC1hbGlnbikge1xyXG4gICAgICAgIHRleHQtYWxpZ246ICRzZWN0aW9uLWhlYWRpbmctdGV4dC1hbGlnbjtcclxuICAgIH1cclxuICAgIEBpZiAoJHNlY3Rpb24taGVhZGluZy1sZXR0ZXItc3BhY2luZykge1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAkc2VjdGlvbi1oZWFkaW5nLWxldHRlci1zcGFjaW5nO1xyXG4gICAgfVxyXG4gICAgQGlmICgkc2VjdGlvbi1oZWFkaW5nLXRleHQtdHJhbnNmb3JtKSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRzZWN0aW9uLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XHJcbiAgICB9XHJcbiAgICBAaWYgc21vb3RoLWVkZ2VzKCkge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgfVxyXG4gICAgQGlmICgkc2VjdGlvbi1oZWFkaW5nLWJvcmRlci13aWR0aCkge1xyXG4gICAgICAgIGJvcmRlci13aWR0aDogJHNlY3Rpb24taGVhZGluZy1ib3JkZXItd2lkdGg7XHJcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRzZWN0aW9uLWhlYWRpbmctYm9yZGVyLWNvbG91cjtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgcGFkZGluZzogMDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbiNwcm9kdWN0LWxpc3Qge1xyXG4gICAgI2dyb3VwRGF0YSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcclxuICAgIH1cclxufVxyXG5cclxuI3Byb2R1Y3RMaXN0SXRlbSB7XHJcbiAgICAuZ3JpZC14IC5jZWxsIHtcclxuICAgICAgICBAaW5jbHVkZSB4eS1jZWxsKDEyLCAkZ3V0dGVyczogKHNtYWxsOiAxMHB4LGxhcmdlOiAzMHB4KSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5saXN0aW5nLWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICAvLyBNYXJnaW4gaXMgYWxyZWFkeSBiZWluZyBzZXQgbXkgLmdyaWQteDpub3QoLmdyaWQtbWFyZ2luLXgpLCB0aGlzIGhhcyBtdWNoIGdyZWF0ZXIgYWZmZWN0cyBpZiB0aGlzIGlzIGNoYW5nZWQuXHJcbiAgICAvLyBLZWVwcyBjb25zaXN0ZW50IHNwYWNpbmcgd2l0aCBtb2R1bGVzLlxyXG4gICAgcGFkZGluZzogc21hbGwtdmFsdWUoJG1vZHVsZXMtbW9kdWxlLW1hcmdpbikgMDtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1tb2R1bGUtbWFyZ2luKSAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGVudENvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyBUbyBwcmV2ZW50IHRoZSBuZXcgJiBvbGQgY29udGVudCBmcm9tIGJlaW5nIGRpc3BsYXllZCBhdCB0aGUgc2FtZSB0aW1lLlxyXG4gICAgJltkYXRhLWNvbnRlbnQtdXBkYXRpbmc9dHJ1ZV0ge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICB9XHJcbiAgICAjYXR0cmlidXRlLWZpbHRlcnMtZm9ybSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ICRmaWx0ZXJzLWRlc2t0b3AtY29udGFpbmVyLW1heC13aWR0aDtcclxuICAgICAgICAgICAgLy8gVXNpbmcgcGVyc2VudGFnZSB0byB0cnkgYW5kIGdldCBiYWNrIHNvbWUgbW9yZSBzcGFjZSBiZXR3ZWVuIGxhcmdlIGFuZCB4eGxhcmdlXHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMSUgMCAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5hdHRyaWJ1dGVMaXN0e1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6ICgkZmlsdGVycy1kZXNrdG9wLWF0dHJpYnV0ZS1saXN0LXdpZHRoIC0gNjApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogJGZpbHRlcnMtZGVza3RvcC1hdHRyaWJ1dGUtbGlzdC13aWR0aDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAjcHJvZHVjdExpc3RJdGVtcyB7XHJcbiAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xyXG4gICAgICAgIC5zdWItaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBVc2UgdGhlIC5wcm9kdWN0LWdyaWQtbW9kdWxlIGluc3RlYWQuXHJcbiAgICAvLyAjcHJvZHVjdExpc3RJdGVtcy5ncmlkIHtcclxuICAgIC8vICAgICAvLyBUT0RPOiB2MiBjYW4gZ28gYWZ0ZXIgbW9kdWxlcyByZWZhY3RvciBjb21wbGV0ZS4uLi5cclxuICAgIC8vICAgICBAaW5jbHVkZSBwcm9kdWN0LWNvbGxlY3Rpb24tY2VsbChpZigkY29sbGVjdGlvbi1lYmctZ3JpZC1zdXBwcmVzcy1iYWNrZ3JvdW5kLCB0cnVlLCBmYWxzZSksIHRydWUpO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gU3R5bGVzIHNwZWNpZmljIHRvIHRoZSBwcm9kdWN0IGxpc3QuXHJcbiAgICAjcHJvZHVjdExpc3RJdGVtcy5saXN0IHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG4gICAgICAgICYuc2VwZXJhdG9yIC5yb3dDb250YWluZXIge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3VyMy0xO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub2RkRXZlbiA+IGRpdltjbGFzcyo9XCJsYXJnZS1cIl0ge1xyXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgICAgICAucm93Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1ldmVuLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYub2RkRXZlbiB7XHJcbiAgICAgICAgICAgIC5saXN0LWNhdGVnb3J5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAmID4gZGl2W2NsYXNzKj1cImxhcmdlLVwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAucm93Q29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWV2ZW4tYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWhvdmVyLWJhY2tncm91bmQtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJjpub3QoLnNlcGVyYXRvciksICY6bm90KC5vZGRFdmVuKSB7XHJcbiAgICAgICAgICAgIC5yb3dDb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbiBhIGgzIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnN1Yi1oZWFkaW5nLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIElnbm9yZSB0aGUgZmlyc3Qgcm93IGZvciBhc3NpZ25pbmcgdGhlIG1hcmdpbiBhYm92ZSB0aGUgc3ViLWhlYWRpbmcgYXMgdGhlIGRlc2lnbiBkb2Vzbid0IHJlcXVpcmUgaXQgODMxNzU2LlxyXG4gICAgICAgID4gZGl2Om5vdCg6bnRoLWNoaWxkKDEpKSB+IGRpdiB7XHJcbiAgICAgICAgICAgIC5zdWItaGVhZGluZy1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMTBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIC5oZWFkQ29udGFpbmVyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBwYWRkaW5nKTtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMobWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIGZvbnQtc2l6ZSkpO1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG1hcC1nZXQoJHRoZWFkLXByZXNldC0xLCBmb250LXdlaWdodCk7XHJcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHRoZWFkLXRoLWNvbW1vbi1mb250LWZhbWlseTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCR0aGVhZC1wcmVzZXQtMSwgY29sb3IpO1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbWFwLWdldCgkdGhlYWQtcHJlc2V0LTEsIHRleHQtYWxpZ24pOyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZGVzY3JpcHRpb24tY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1NSU7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZsZXg6IDE7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBSZW1vdmluZyBhYnNvbHV0ZSB3aWR0aHMgZHVlIHRvIHRvbyBtYW55IHdheXMgb2YgZGlzcGxheWluZyB0aGlzIHRhYmxlLlxyXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1heC13aWR0aDogMzU2cHg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1heC13aWR0aDogNDQwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5wcmljZS1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDE1JTtcclxuICAgICAgICAgICAgICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIC8vIFN1cHByZXNzaW5nIGluIGZhdm91ciBvZiBsZXR0aW5nIHRoZSBkZXNjcmlwdGlvbiBjb2x1bW4gZmxvdy5cclxuICAgICAgICAgICAgICAgIC8vICYgKyAucXVhbnRpdHktY29udGFpbmVyLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1wcmljZS1jb2wtd2lkdGgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAucXVhbnRpdHktY29udGFpbmVyLWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkdGFibGUtaXRlbS1jb250cm9scy1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnF1YW50aXR5LWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTQuNSU7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXF1YW50aXR5LWNvbC13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhc2tldC1jb2wge1xyXG4gICAgICAgICAgICAgICAgLy8gd2lkdGg6IDkuNSU7XHJcbiAgICAgICAgICAgICAgICAvLyBtaW4td2lkdGg6IDI1JTtcclxuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuZmF2b3VyaXRlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogJGZhdm91cml0ZXMtY29sLWRlc2t0b3Atd2lkdGg7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDkwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogOS41JTtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sb2dpbi1jb2wsIC5lbnF1aXJ5LWNvbCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRsb2dpbi1zdG9ja2xpbmUtd2lkdGg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAzNCU7XHJcbiAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnF1YW50aXR5IHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMiU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmJhc2tldCwgLmZhdm91cml0ZSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOSU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnJvd0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIC8vZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBncmlkLXRhYmxlLWxheW91dC1tb2JpbGUoKTtcclxuICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogc21vb3RoLWVkZ2VzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbk91dHJvLCBib3gtc2hhZG93ICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAkcHJvZHVjdC1saXN0LWxpc3Qtdmlldy1yb3ctbWFyZ2luO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogJHByb2R1Y3QtbGlzdC1saXN0LXZpZXctcm93LXBhZGRpbmc7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYmFja2dyb3VuZC1jb2xvcjtcclxuICAgICAgICAgICAgICAgIEBpZiAkcHJvZHVjdC1saXN0LWl0ZW0taG92ZXItYm94LXNoYWRvdyB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taG92ZXItYm94LXNoYWRvdztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgIEBpZiAoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUgIT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJGNvbGxlY3Rpb24taG92ZXItaW1hZ2Utc2NhbGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgPiBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICR0YWJsZS1pbWFnZS1zaXplO1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIENhbm5vdCBwcmV2ZW50IGhlaWdodCBkdWUgdG8gbmVlZGluZyB0byBzdXBwb3J0IHJlY3RhbmdsZSBpbWFnZXMuXHJcbiAgICAgICAgICAgICAgICAgICAgLy8gaGVpZ2h0OiAkdGFibGUtaW1hZ2Utc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IHNwYWNpbmctdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tbWFyZ2luLCAxLCBsYXJnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAtLW1lZGlhLWFzcGVjdC1yYXRpbzogI3skcHJvZHVjdC1pbWFnZS1hc3BlY3QtcmF0aW99O1xyXG4gICAgICAgICAgICAgICAgLy8gRG9uJ3QgZml0LWNvbnRlbnQgZHVlIHRvIGV4dGVybmFsIGRhdGEgc3VwcGx5aW5nIHZhcmlvdXMgc2l6ZXMuXHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogZml0LWNvbnRlbnQ7XHJcbiAgICAgICAgICAgICAgICAvLyBBZGRpbmcgMnB4IHRvIGFsbG93IGZvciB0aGUgYm9yZGVyIHRvIHByZXZlbnQgdGhlIGJyb3dzZXIgZnJvbSBzY2FsaW5nIHRoZSBpbWFnZS5cclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0taW1hZ2Utd2lkdGggKyAyKTtcclxuICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAkdGFibGUtaW1hZ2Utc2l6ZTtcclxuICAgICAgICAgICAgICAgIC8vIGhlaWdodDogJHRhYmxlLWltYWdlLXNpemU7XHJcbiAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgNDBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICBAaWYgKCRjb2xsZWN0aW9uLWhvdmVyLWltYWdlLXNjYWxlICE9IDApIHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAkY29sbGVjdGlvbi1ob3Zlci1pbWFnZS1wYWRkaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAkcHJvZHVjdC1saXN0LWl0ZW0taW1hZ2UtYm9yZGVyO1xyXG4gICAgICAgICAgICAgICAgQGlmIChzbW9vdGgtZWRnZXMoKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG91cjE7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1pbWFnZS1vcmRlcjtcclxuICAgICAgICAgICAgICAgICAgICAvLyBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICBtYXJnaW46IDAgNDBweCAwIDA7XHJcbiAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBAaWYgKHNtb290aC1lZGdlcygpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHNtb290aC1lZGdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvL3dpZHRoOiA2MCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgIGdhcDogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24tZ2FwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBzbWFsbC12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1tYXJnaW4pO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LWRlc2NyaXB0aW9uLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpZHRoOiAzMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMTtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLW1hcmdpbik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNDVweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRwYXJhZ3JhcGgtZm9udC1zaXplKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHByb2R1Y3QtY29sbGVjdGlvbi1ncm91cC1kZXNjcmlwdGlvbi10eXBvZ3JhcGh5KCk7XHJcbiAgICAgICAgICAgICAgICAuc3BlY2lmaWNhdGlvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkcHJvZHVjdC1saXN0LWl0ZW0tc3BlY2lmaWNhdGlvbi1mb250LXdlaWdodDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByb2R1Y3QtbGlzdC1pdGVtLXNwZWNpZmljYXRpb24tY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2RlLWNvbCB7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogNDAlO1xyXG4gICAgICAgICAgICAgICAgLy8gZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gbWFyZ2luOiAwIDAgMjBweDtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LWNvZGUtb3JkZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSAge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBsYXJnZS12YWx1ZSgkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1jb2RlLXdpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLWNvZGUtcGFkZGluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucHJpY2UtY29sIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzIwcHg7XHJcbiAgICAgICAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMjBweCAwO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkcGFyYWdyYXBoLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAkcHJvZHVjdC1saXN0LXByaWNlLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXByaWNlLWNvbC13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogbGFyZ2UtdmFsdWUoJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tcHJpY2UtY29sLXBhZGRpbmcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gLnByaWNlcyAucHJpY2UtY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8vICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICAgICAgLy8gJiArIC5xdWFudGl0eS1jb250YWluZXItY29sLCAmICsgLnF1YW50aXR5LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5sb2dpbi1jb2wsIC5lbnF1aXJ5LWNvbCB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1ub3QtbG9nZ2VkLWluLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGxvZ2luLXN0b2NrbGluZS13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIC5ub3QtbG9nZ2VkLWluLWNvbnRhaW5lciwgLmVucXVpcnktYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAkcHJvZHVjdC1saXN0LWxpc3QtaXRlbS1sb2dnaW4tYnV0dG9uLXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pbnRlcmFjdGl2ZS1jb250ZW50LCAucXVhbnRpdHktY29udGFpbmVyLCAubG9naW4tY29sLCAuZW5xdWlyeS1jb2wsIC5zdG9ja2xpbmUtY29sIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubG9naW4tY29sLCAuZW5xdWlyeS1jb2wsIC5zdG9ja2xpbmUtY29sIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zdG9ja2xpbmUtY29sIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogJGxvZ2luLXN0b2NrbGluZS13aWR0aDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMCAwIDAgMTBweDtcclxuICAgICAgICAgICAgICAgIC8vIC5zdG9ja2xpbmUtdmlldy1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIG1heC13aWR0aDogJHByb2R1Y3QtbGlzdC1saXN0LWl0ZW0tc3RvY2tsaW5lLWJ1dHRvbi13aWR0aDtcclxuICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAucXVhbnRpdHktY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBnYXA6IDAgMjBweDtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgICAgICAgICBvcmRlcjogJHByb2R1Y3QtbGlzdC1xdWFudGl0eS1wcmljZS1mYXZvdXJpdGVzLW9yZGVyO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkgIHtcclxuICAgICAgICAgICAgICAgICAgICAvL21heC13aWR0aDogJHByb2R1Y3QtbGlzdC1saXN0LXF1YW50aXR5LWRlc2t0b3AtbWF4LXdpZHRoO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkdGFibGUtaXRlbS1jb250cm9scy1jb250YWluZXItd2lkdGg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgIGdhcDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5xdWFudGl0eS1zZWxlY3Rvci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXF1YW50aXR5LWNvbC13aWR0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgICAgICAgICAuY29udHJvbC5zZWxlY3Qge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvIGF1dG8gYXV0byAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLmlucHV0LW51bWJlci1ncm91cCB7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnF1YW50aXR5LWZyZWUtdGV4dC1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGxhcmdlLXZhbHVlKCRwcm9kdWN0LWxpc3QtbGlzdC1pdGVtLXF1YW50aXR5LWNvbC13aWR0aCk7O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIC5hZGQtYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuYWRkVG9CYXNrZXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTdXByZXNzaW5nIGluZmF2b3VyIG9mIHVzaW5nIGZsZXhib3ggZm9yIGFsaWdubWVudC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bzsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuZmF2b3VyaXRlc0NvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDMzJTtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAkZmF2b3VyaXRlcy1jb2wtZGVza3RvcC13aWR0aDsgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDkwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1jZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFN1cHJlc3NpbmcgYXMgdGhpcyB3YXMgY2F1c2luZyBhbGlnbm1lbnQgaXNzdWVzIHdpdGggdGhlIGhlYWRlci5cclxuICAgICAgICAgICAgICAgICAgICAvLyAuZmF2b3VyaXRlcyB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGFiZWwtdmFsdWUtcGFpci1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRjb2xsZWN0aW9uLWxhYmVsLXZhbHVlLXBhaXItbGFiZWwtd2VpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJGNvbGxlY3Rpb24tbGFiZWwtdmFsdWUtcGFpci1sYWJlbC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnZhbHVlIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkY29sbGVjdGlvbi1sYWJlbC12YWx1ZS1wYWlyLXZhbHVlLWZvbnQtc2l6ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmRlc2NyaXB0aW9uIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcm9kdWN0LWxpc3QtaXRlbS1kZXNjcmlwdGlvbi1jb2xvdXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogJHByb2R1Y3QtbGlzdC1pdGVtLWRlc2NyaXB0aW9uLXdlaWdodDsgXHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6ICRsaXN0LWl0ZW0tZGVzY3JpcHRpb24tZGVmYXVsdC1saW5lLWhlaWdodDtcclxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJvZHVjdC1saXN0LWl0ZW0tZGVzY3JpcHRpb24taG92ZXItY29sb3VyO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpZiAkbGlzdC1pdGVtLWRlc2NyaXB0aW9uLWRlZmF1bHQtaG92ZXItdW5kZXJsaW5lIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb2RlIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2RlLWNvbG91cjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoJHBhcmFncmFwaC1mb250LXNpemUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHByaWNlKHRydWUpO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBycnAoKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgc2F2aW5nKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5lbnF1aXJ5LWNvbCB7XHJcbiAgICAgICAgICAgIGZsZXg6IDE7XHJcbiAgICAgICAgICAgIG9yZGVyOiA0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbi5saXN0LWNhdGVnb3J5LWNvbnRhaW5lciB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIH1cclxuICAgIGgyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4udGhpcmQtcGFydHktcmVzdWx0cy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IDEwcHggMDtcclxuICAgIC5yZXN1bHQtY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgZ2FwOiAyMHB4IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICBnYXA6IDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5pbWFnZS1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZGVzY3JpcHRpb24tY29udGFpbmVyIHtcclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc25pcHBldC1jb250YWluZXIge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDEwcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3VyMy02O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59IiwiLypcclxuXHJcbi0tLS0gQVhJUyBEZWJ1Z2dlciAtLS0tIFxyXG5cclxuVGhpcyBpcyBhIHNpZGUgcHJvamVjdCBvZiBtaW5lIHB1cmx5IHRvIG1ha2UgZGV2IGxpZmUgYSBsaXR0bGUgZWFzaWVyIC8gZmFzdGVyIGVzc2VudGlhbGx5IHRoaXMgaXMganVzdCBhIGRyYXdlciB3aXRoIGEgYnVuY2ggb2Ygb3B0aW9ucyB0byBmbHVzaCBjYWNoZSwgc2V0IGRlYnVnIGxldmVscyAmIGNsZWFyIHRoZSBjb25zb2xlLlxyXG5cclxuKi9cclxuXHJcbiRkZXZlbG9wbWVudC1kcmF3ZXItaWNvbnM6IChcclxuICAgICdjbGVhci1jYWNoZSc6ICdcXGYxYjgnLFxyXG4gICAgJ2NsZWFyLWNvbnNvbGUnOiAnXFxmMTIwJyxcclxuICAgICdzZXQtZGVidWdnaW5nLWxldmVsJzogJ1xcZjE4OCcsXHJcbiAgICBcInRlc3QtbW9kZVwiOiAnXFxmNDkyJyxcclxuICAgIFwic2l0ZS1zdHlsZVwiOiAnXFxmNTNmJ1xyXG4pICFkZWZhdWx0O1xyXG5cclxuXHJcbi5kZXZlbG9wbWVudC1kcmF3ZXItY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGNvbG91cjMtMTtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIHotaW5kZXg6IDgwMDAwMDAwMDA7XHJcbiAgICB0cmFuc2l0aW9uOiB3aWR0aCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoICR0cmFuc2l0aW9uSW50cm87XHJcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgICAgICB3aWR0aDogMjI1cHg7XHJcbiAgICAgICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3czO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuJG9wdGlvbi1pY29uLXNpemU6IDM4cHg7XHJcblxyXG4uZGV2ZWxvcG1lbnQtZHJhd2VyIHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCA5KTtcclxuICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNlcnZpY2Utd29ya2VyLWNvbnRhaW5lciB7XHJcblxyXG4gICAgICAgIC5oZWFkaW5nIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmhlYWRpbmctY29udGFpbmVyIHtcclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRuZXV0cmFsLWNvbG91ciwgMCk7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kcmF3ZXItaGVhZGVyIHtcclxuICAgICAgICAuY2xvc2UtYnV0dG9uIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgY2xvc2VCdXR0b24oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAub3B0aW9uIHtcclxuICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbjogMTBweCAwO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXJSYWRpdXMxO1xyXG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJG5ldXRyYWwtY29sb3VyLCAwKTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25PdXRybztcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250QXdlc29tZVNvbGlkO1xyXG4gICAgICAgICAgICBmb250LXNpemU6ICRvcHRpb24taWNvbi1zaXplO1xyXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkbmV1dHJhbC1jb2xvdXIsIDApO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciwgZm9udC1zaXplICR0cmFuc2l0aW9uT3V0cm87XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIExldmVsIHN0eWxlc1xyXG4gICAgICAgICRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyOiBtYXAtZ2V0KCRhbGVydC1jb2xvdXIsIDApO1xyXG4gICAgICAgICZbZGVidWctbGV2ZWw9XCIxXCJdIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMTAlKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJG9wdGlvbi1pY29uLXNpemUgKiAxLjEpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0xMCUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGVidWctbGV2ZWw9XCIyXCJdIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMjAlKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJG9wdGlvbi1pY29uLXNpemUgKiAxLjIpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0yMCUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGVidWctbGV2ZWw9XCIzXCJdIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtMzAlKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJG9wdGlvbi1pY29uLXNpemUgKiAxLjMpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC0zMCUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgICZbZGVidWctbGV2ZWw9XCI0XCJdIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBhZGp1c3QtaHVlKCRkZWJ1Zy1pY29uLWxldmVsLWJhc2UtY29sb3VyLCAtNDAlKTtcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAoJG9wdGlvbi1pY29uLXNpemUgKiAxLjQpO1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGFkanVzdC1odWUoJGRlYnVnLWljb24tbGV2ZWwtYmFzZS1jb2xvdXIsIC00MCUpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IsIGZvbnQtc2l6ZSAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLmNsZWFyLWNhY2hlOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRldmVsb3BtZW50LWRyYXdlci1pY29ucywgY2xlYXItY2FjaGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLmNsZWFyLWNvbnNvbGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zLCBjbGVhci1jb25zb2xlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5zZXQtZGVidWdnaW5nLWxldmVsOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG1hcC1nZXQoJGRldmVsb3BtZW50LWRyYXdlci1pY29ucywgc2V0LWRlYnVnZ2luZy1sZXZlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuYXhpcy10ZXN0LW1vZGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zLCB0ZXN0LW1vZGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmLnNpdGUtc3R5bGU6YmVmb3JlIHtcclxuICAgICAgICAgICAgY29udGVudDogbWFwLWdldCgkZGV2ZWxvcG1lbnQtZHJhd2VyLWljb25zLCBzaXRlLXN0eWxlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXIxO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvdXI0O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgJHRyYW5zaXRpb25JbnRybztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmOmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvdXI2O1xyXG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvdXIzLTI7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkdHJhbnNpdGlvbkludHJvO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG91cjMtMjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5zbGlkZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgIGNvbG9yOiAkY29sb3VyMTtcclxuICAgICAgICBcclxuICAgICAgICAubGFiZWwge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAgICAgW2RhdGEtc2xpZGVyLXZhbHVlXSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlucHV0IHtcclxuICAgICAgICAgICAgZmxleDogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc3dpdGNoIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vcHRpb24tY29udHJvbHMtY29udGFpbmVyLCAuY2hpbGQtY29udHJvbHMtY29udGFpbmVyIHtcclxuICAgIG1heC1oZWlnaHQ6IDA7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAkdHJhbnNpdGlvbk91dHJvO1xyXG4gICAgJi5hY3RpdmUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xyXG4gICAgICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgJHRyYW5zaXRpb25JbnRybztcclxuICAgIH1cclxufVxyXG5cclxuIiwiQGNoYXJzZXQgJ3V0Zi04JztcclxuLy8gRm91bmRhdGlvbiBzZXR0aW5nLlxyXG5AaW1wb3J0ICdzZXR0aW5ncyc7XHJcbi8vIEZvdW5kYXRpb24gbGlicmFyaWVzLlxyXG5AaW1wb3J0ICdmb3VuZGF0aW9uJztcclxuLy8gVGFibGVzLlxyXG5AaW1wb3J0ICd0YWJsZXMuc2Nzcyc7XHJcbi8vSW5wdXQgc3R5bGluZy5cclxuQGltcG9ydCAnaW5wdXRzLnNjc3MnO1xyXG4vL0ZvbnRhd2Vzb21lIGxpYnJhcnkuXHJcbi8vIFN1cHByZXNzaW5nIGFzIHRoaXMgZ2V0cyBoYW5kbGVkIGJ5IGJyYW5kaW5nLnNjc3NcclxuLy9AaW1wb3J0IFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvZm9udGF3ZXNvbWUuc2Nzc1wiO1xyXG4vLyBAaW1wb3J0IFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3Mvc29saWQuc2Nzc1wiO1xyXG4vLyBAaW1wb3J0IFwiLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL0Bmb3J0YXdlc29tZS9mb250YXdlc29tZS1mcmVlL3Njc3MvYnJhbmRzLnNjc3NcIjtcclxuXHJcbi8vIC0tLS0tIEV4cHJlc3MgQ29tcG9uZW50cyAtLS0tLS0gXHJcbi8vVE9ETzpOZWVkIHRvIG1ha2Ugc29tZSBzb3J0IG9mIGZ1bmN0aW9uYWxpdHkgdGhhdCBjYW4gdG9nZ2xlIGJldHdlZW4gMyBkaWZmZXJlbnQgdHlwZXMgb2Ygc3R5bGVzaGVldHMuXHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc2l0ZS1zdHlsZXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2Zvcm1zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9oZWFkZXIuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvZm9vdGVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYWpheFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvZmlsdGVycy5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9tb2RhbHMuc2Nzc1wiO1xyXG4vLyBUT0RPOiB2MiBjYW4gZ28gYWZ0ZXIgbW9kdWxlcyByZWZhY3RvciBjb21wbGV0ZS4uLi5cclxuLy9AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvbW9kdWxlcy5zY3NzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS9tb2R1bGVzLXYyLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL3N0b2NrLWluZGljYXRvcnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL3Byb2R1Y3Quc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvYmFza2V0LnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2FjY291bnQuc2Nzc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvY21zLXBhZ2VzLnNjc3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL2NoZWNrb3V0LnNjc3NcIjtcclxuLy9AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9icm9uemUvZW1haWwtdGVtcGxhdGVzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Jyb256ZS80MDRcIjtcclxuXHJcbi8vQ29tcG9uZW50IEltcG9ydFxyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWxpZ2h0Ym94XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbWFnbmlmaWVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2J4U2xpZGVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc2xpZGVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdG9vbHRpcFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXJlYWQtbW9yZVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWF1dG9jb21wbGV0ZVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9zd2VldC1hbGVydC1pY29uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW5vdGlmaWNhdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1pbWFnZS1vdmVybGF5c1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWNvdW50ZG93blwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXB3YVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXBheW1lbnQtbWV0aG9kc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXNvY2lhbC1tZWRpYS1pY29uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWVxdWlwbWVudC1zZWxlY3RvclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXBpY2stbi1taXhcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1hbmltYXRpb25zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtY2xpZW50LXNlYXJjaFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXRvcC1iYXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zdHlsZS1ndWlkZVwiO1xyXG4vLyBBZG1pbiBjb21wb25lbnQgaXMgaW4gaXRzIFwiIHByb3RvdHlwZSBcIiBwaGFzZS5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1hZG1pblwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9vZmZfY2FudmFzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtYWNjb3JkaW9uLXRhYnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zdGlja3lcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1saXN0LXNvcnRpbmctb3B0aW9uc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW1hbmFnZS1jYWxsc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWJhY2stdG8tdG9wXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtc2VjdGlvbnNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1lbGxpcHNpc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWJsdXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zdGF0aWNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1zdG9ja2lzdFwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXRyZWUtbWVudVwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXJldmlld3NcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1wYWdlLXNlY3Rpb24tY29sb3Vyc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXN0YXItcmF0aW5nc1wiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWJhcmNvZGUtc2Nhbm5lclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXBhZ2UtYmFja2dyb3VuZC1pbWFnZXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy10YWdzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtdG9nZ2xlclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXBhZ2UtYmFja2dyb3VuZC1jb2xvdXJzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbXVsdGktZmllbGQtbG9va3VwXCI7XHJcblxyXG4vL0BpbXBvcnQgJ21vdGlvbi11aSc7XHJcbi8vQW5pbWF0ZS5jc3MgKGN1c3RvbSBhbmltYXRpb24gbGlicmFyeSlcclxuQGltcG9ydCAnLi4vLi4vLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2FuaW1hdGUuY3NzL2FuaW1hdGUnO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLWVsZW1lbnQtcHJpbnRcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYXhpcy1kb2N1bWVudGF0aW9uXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtY29udGV4dC1tZW51XCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtZ3JhZHVhdGVkLWNvbG91ci1lZGdlXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtcmljaC10ZXh0LWVkaXRvclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLXZpZGVvLXBsYXllclwiO1xyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9heGlzLW11bHRpbWVkaWEtZWxlbWVudFwiO1xyXG5cclxuLy8gR2xvYmFsIHN0eWxlc1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xyXG5cclxuLy8gR3JpZHMgKGNob29zZSBvbmUpXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24teHktZ3JpZC1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xyXG5cclxuLy8gR2VuZXJpYyBjb21wb25lbnRzXHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xyXG4vLyBCYXNpYyBjb21wb25lbnRzXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XHJcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XHJcblxyXG4vLyBDb250YWluZXJzXHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcclxuLy8gQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XHJcbi8vIE1lbnUtYmFzZWQgY29udGFpbmVyc1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XHJcblxyXG4vLyBMYXlvdXQgY29tcG9uZW50c1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XHJcbi8vIFdlIHVzZSBvdXIgb3duIG1vZGFsIHN5c3RlbS5cclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcclxuLy8gVXNpbmcgY3VzdG9tIHN0eWxlcyBmb3IgdGhpcyBkdWUgdG8gdGhlIGhlYWRlciBiZWluZyBzbyBjb21wbGV4LlxyXG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xyXG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcclxuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XHJcblxyXG4vLyBIZWxwZXJzXHJcbi8vIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcclxuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XHJcbkBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xyXG4vLyBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb3RvdHlwZS1jbGFzc2VzO1xyXG5cclxuLy8gTW90aW9uIFVJXHJcbi8vQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xyXG4vL0BpbmNsdWRlIG1vdGlvbi11aS1hbmltYXRpb25zO1xyXG5cclxuLy8gQ29tcG9uZW50cyB0aGF0IG5lZWQgdG8gYmUgbG9hZGVkIGFmdGVyIGZvdW5kYXRpb24uXHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2F4aXMtbWVudXNcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvYnJvbnplL3Byb2R1Y3QtbGlzdC5zY3NzXCI7XHJcblxyXG5AaW1wb3J0ICcuLi9nbG9iYWwvZGVidWdnZXInO1xyXG5cclxuLy8tLS0tLSBHbG9iYWwgLS0tLS0gXHJcbjpyb290IHtcclxuICAgIC8vIFNldCBDU1MgdmFyaWFibGVzLlxyXG5cclxuICAgIC8vIC0tLSBDb2xvdXIgUGFsbGV0ZSAtLS0tXHJcbiAgICAvLyBQcmltYXJ5XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJwcmltYXJ5LWNvbG91clwiLCAkcHJpbWFyeS1jb2xvdXIpO1xyXG4gICAgLy8gU2Vjb25kYXJ5XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJzZWNvbmRhcnktY29sb3VyXCIsICRzZWNvbmRhcnktY29sb3VyKTtcclxuICAgIC8vIEFjY2VudCAxXHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJhY2NlbnQtY29sb3VyLTFcIiwgJGFjY2VudC1jb2xvdXItMSk7XHJcbiAgICAvLyBBY2NlbnQgMlxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwiYWNjZW50LWNvbG91ci0yXCIsICRhY2NlbnQtY29sb3VyLTIpO1xyXG4gICAgLy8gQWNjZW50IDNcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcImFjY2VudC1jb2xvdXItM1wiLCAkYWNjZW50LWNvbG91ci0zKTtcclxuICAgIC8vIEFjY2VudCA0XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJhY2NlbnQtY29sb3VyLTRcIiwgJGFjY2VudC1jb2xvdXItNCk7XHJcbiAgICAvLyBOZXV0cmFsIENvbG91clxyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwibmV1dHJhbC1jb2xvdXJcIiwgJG5ldXRyYWwtY29sb3VyKTtcclxuICAgIC8vIEJsYWNrXHJcbiAgICAtLWJsYWNrLWNvbG91cjogI3skY29sb3VyMn07XHJcbiAgICAvLyBXaGl0ZVxyXG4gICAgLS13aGl0ZS1jb2xvdXI6ICN7JGNvbG91cjF9O1xyXG5cclxuICAgIC8vIE5vdGlmaWNhdGlvbiBDb2xvdXJzLlxyXG4gICAgLy8tLXN1Y2Nlc3MtY29sb3VyLTA6ICN7JHN1Y2Nlc3MtY29sb3VyfTtcclxuICAgIEBpbmNsdWRlIHNldC1jb2xvdXItcGFsbGV0ZS10b25lcyhcInN1Y2Nlc3MtY29sb3VyXCIsICRzdWNjZXNzLWNvbG91cik7XHJcbiAgICBAaW5jbHVkZSBzZXQtY29sb3VyLXBhbGxldGUtdG9uZXMoXCJ3YXJuaW5nLWNvbG91clwiLCAkd2FybmluZy1jb2xvdXIpO1xyXG4gICAgQGluY2x1ZGUgc2V0LWNvbG91ci1wYWxsZXRlLXRvbmVzKFwiYWxlcnQtY29sb3VyXCIsICRhbGVydC1jb2xvdXIpO1xyXG5cclxuICAgIFxyXG5cclxuICAgIC8vIC0tLSBDb250ZW50IFdpZHRoIC0tLVxyXG4gICAgLy8gQ29udGFpbmVyIE1heCBXaWR0aHMuXHJcbiAgICAtLWNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aDogI3skZ2xvYmFsLXdpZHRofTtcclxuICAgIC0tdW5jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg6ICN7JGdsb2JhbC11bmNvbnRhaW5lZC1jb250ZW50LW1heC13aWR0aH07XHJcblxyXG4gICAgLy8gLS0tIEZvbnRzIC0tLS1cclxuICAgIEBlYWNoICRmb250LXR5cGUsICRmb250LW5hbWUgaW4gJHR5cG9ncmFnaHktZm9udC1mYW1pbGllcyB7XHJcbiAgICAgICAgLS0jeyRmb250LXR5cGV9OiAjeyRmb250LW5hbWV9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vIC0tLSBCb3JkZXIgUmFkaXVzIC0tLVxyXG4gICAgLS1zbW9vdGgtZWRnZXMtZW5hYmxlZDogI3skc21vb3RoLWVkZ2VzLWVuYWJsZWR9O1xyXG4gICAgLS1zbW9vdGgtZWRnZXMtbGV2ZWw6ICN7JHNtb290aC1lZGdlcy1sZXZlbH07XHJcbiAgICAtLWJvcmRlci1yYWRpdXMtMTogI3skYm9yZGVyUmFkaXVzMX07XHJcbiAgICAtLWJvcmRlci1yYWRpdXMtMjogI3skYm9yZGVyUmFkaXVzMn07XHJcblxyXG4gICAgLy8gLS0tIFR5cG9ncmFwZ3kgLS0tXHJcbiAgICAvLyBMaW5lIGhlaWdodC5cclxuICAgIC0tZ2xvYmFsLWxpbmUtaGVpZ2h0OiAjeyRkZWZhdWx0LWxpbmUtaGVpZ2h0fTtcclxuICAgIC8vIENvbG91ci5cclxuICAgIC0tdHlwb2dyYXBoeS1ib2R5LWZvbnQtY29sb3VyOiAjeyRib2R5LWZvbnQtY29sb3VyfTtcclxuXHJcbiAgICAvLyAtLS0gQnV0dG9ucyAtLS1cclxuICAgIC0tYnV0dG9ucy1ib3JkZXItcmFkaXVzOiAjeyRjb21tb24tYnV0dG9uLWJvcmRlci1yYWRpdXN9O1xyXG4gICAgXHJcbn1cclxuXHJcbi8vIExvb3AgdGhyb3VnaCBmb250IHN0YWNrcy5cclxuQGVhY2ggJGtleSwgJG1ldHJpY3MgaW4gJGZvbnQtZmFsbGJhY2stbWV0cmljcyB7XHJcbiAgICAkZm9udC1mYW1pbHk6IG1hcC1nZXQoJHR5cG9ncmFnaHktZm9udC1mYW1pbGllcywgI3ska2V5fS1mb250KTtcclxuICAgICRuYW1lOiBudGgoJGZvbnQtZmFtaWx5LCAxKTtcclxuICAgICRmYWxsYmFjazogbWFwLWdldCgkbWV0cmljcywgZmFsbGJhY2spO1xyXG4gICAgQGluY2x1ZGUgZm9udC1mYWxsYmFjaygkbmFtZSwgJGZhbGxiYWNrLCAkbWV0cmljcyk7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgLy8gQWxsb3dpbmcgY29udGVudCAvIGZvb3RlciB0byB1c2UgZmxleC1ncm93IHdoZW4gdGhlcmUgaXMgbm90IGVub3VnaCBjb250ZW50IHRvIGZpbGwgdGhlIHZpZXdwb3J0LlxyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIC8vIER1ZSB0byBhIGJ1ZyB3aXRoIGZvdW5hdGlvbidzIGd1dHRlcnMgd2hlbiB5b3UgdXNlIHRoZW0gaW4gYSBuZXN0IGdyaWQgZm9ybWF0IHRoZXkgY2F1c2UgYSBob3Jpem9udGFsIHNjcm9sbCBiYXIgdG8gYXBwZWFyLlxyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcbmJvZHkuc2Nyb2xsTG9jayB7XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbn1cclxuLy8gU3VwcHJlc3NpbmcgdGhpcyB0byBhbGxvdyBmb3IgbW9yZSBzcGFjZSBmb3IgdHJlZSBtZW51J3MgaW4gbW9iaWxlLlxyXG4vLyBtYWluLCBmb290ZXIgLnJvdy1iYWNrZ3JvdW5kIHtcclxuLy8gICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xyXG4vLyAgICAgICAgIHBhZGRpbmc6IHNtYWxsLXZhbHVlKCRwYWdlLWd1dHRlcik7XHJcbi8vICAgICB9XHJcbi8vIH1cclxubWFpbiB7XHJcbiAgICAvLyBDYXBwaW5nIG1haW4gY29udGVudCBhdCAxOTIwcHggYXMgdGhlcmUgc3RpbGwgaXMgZW5vdWdoIG9mIGEgZGVtYWluIG9uIDJrIG9yIDRrIHN1cHBvcnQgKCBodHRwczovL3d3dy5yZWRkaXQuY29tL3Ivd2ViZGV2L2NvbW1lbnRzL21ndTg2dS9yZXNwb25zaXZlX2Rlc2lnbl9mb3JfNGtfc2NyZWVucy8gKSBhcyBvZiAyMDI0LlxyXG4gICAgLy8gbWF4LXdpZHRoOiAxOTIwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgLy8gQWx3YXlzIGFsaWduIHRvIHRoZSBsZWZ0IHRoZW4gYWxsb3cgY2hpbGQgY29udGFpbnMgdG8gcHJvdmlkZSBjZW50ZXIgYWxpZ25tZW50LlxyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAvLyBXaGVuIHRoZXJlIGlzIG5vdCBlbm91Z2ggY29udGVudCB0byBmaWxsIHRoZSB2aWV3cG9ydCBtYWtlIHRoZSBtYWluIGNvbnRhaW5lciBncm93IHRvIHB1c2ggdGhlIGZvb3RlciB0byB0aGUgYm90dG9tIG9mIHRoZSB3aW5kb3cuXHJcbiAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAmID4gZGl2IHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIFxyXG59XHJcbi8vIE1ha2Ugc3VyZSBpbWFnZXMgc3RheSB3aXRoaW4gdGhlaXIgY29udGFpbmVycy5cclxuLmltYWdlIGltZyB7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4uZ3JpZC14IHtcclxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRnbG9iYWwtdW5jb250YWluZWQtY29udGVudC1tYXgtd2lkdGg7XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIG1hcmdpbiBydWxlIHdhcyBwdXQgaW4gcGxhY2UgZm9yID4gMTkyMCBzY3JlZW5zIGFzIHdlIGRvbid0IHdhbnQgY29udGVudCBzcGFubmluZyBhY3Jvc3MgdGhlIGVudGlyZSB2aWV3cG9ydCBidXQgd2FudCBpdCB0byBzdGlsbCByZW1haW4gY2VudGVyYWxpc2VkLiBDdXJyZW50bHkgaW4gdGhlIHByb2Nlc3Mgb2YgcmUtd3JpdGluZyB0aGUgZ3JpZCBzeXN0ZW0gdG8gdXNlIEdyaWQgaW5zdGVhZCBvZiBGbGV4Ym94LCBkdWUgdG8gaG93IEZvdW5kYXRpb24gdXNlcyBtYXJnaW4gdG8gY2FsY3VsYXRlIGl0cyBndXR0ZXJzIHRoaXMgY2Fubm90IGJlIHVzZWQgdG8gY2VudGVyYWxpc2UgdGhlIGNvbnRlbnQsIGx1Y2tpbHkgdGhlIG9ubHkgcGxhY2UgYXQgdGhlIHRpbWUgb2Ygd3JpdGluZyB0aGlzIHRoYXQgbmVlZHMgdGhpcyBpcyBtb2R1bGVzIHdoaWNoIG5vIGxvbmdlciB1c2VzIGZvdW5kYXRpb24ncyBncmlkICggaW50ZXJtcyBvZiBjb250ZW50IGJ1dCBzaXRzIHdpdGhpbiBpdCApXHJcbiAgICAmOm5vdCguZ3JpZC1tYXJnaW4teCkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAvLyBBZGRpbmcgMCB0b3AgKyBib3R0b20gb3RoZXJ3aXNlIGxpc3RpbmcgcGFnZSB3b3VsZCB2ZXJ0aWNhbGx5IGFsaWduIGluIHRoZSBjZW50ZXIgb2YgdGhlIGNvbnRhaW5lci5cclxuICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLmdyaWQtY29udGFpbmVyIHtcclxuICAgIC8vIFNldHRpbmcgd2lkdGg6IDEwMCU7IGR1ZSB0aGUgbWFpbiB1c2luZyBmbGV4Ym94IGxheW91dCBvdGhlcndpc2UgY29udGFpbmVycyB3ZXJlIGZpdHRpbmcgdGhlaXIgY29udGVudCBpbnN0ZWFkIG9mIGZpdHRpbmcgdGhlIGF2YWlsYWJsZSB3aWR0aC5cclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICB9XHJcbiAgICAvLyBNYWtlIHRoZSBjb250YWluZXIgdGFrZSBhcyBtdWNoIHZlcnRpY2FsIHNwYWNlIGFzIGF2YWlsYWJsZS5cclxuICAgICYuY29udGFpbmVyLWdyb3cge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICAgICAgLmFsaWduLWNlbnRlciB7XHJcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxufVxyXG5cclxuLy8gR2VuZXJhbCBociBmb3JtYXR0aW5nLlxyXG5ociB7XHJcbiAgICAmLm1vYmlsZS1zZXBlcmF0b3Ige1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jZm9vdGVyLWd0bS13aWRnZXQge1xyXG4gICAgbWFyZ2luLXRvcDogc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogc21hbGwtdmFsdWUoJG1vZHVsZXMtcm93LWJhY2tncm91bmQtY29sb3VyLXBhZGRpbmcpO1xyXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IGxhcmdlLXZhbHVlKCRtb2R1bGVzLXJvdy1iYWNrZ3JvdW5kLWNvbG91ci1wYWRkaW5nKTtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiBsYXJnZS12YWx1ZSgkbW9kdWxlcy1yb3ctYmFja2dyb3VuZC1jb2xvdXItcGFkZGluZyk7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNncm91cC1iYW5uZXItY2Fyb3VzZWwtY29udGFpbmVyLCAuZ3JvdXAtYmFubmVyIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbiNjYXRlZ29yeUdyaWRPdmVycmlkZSB7XHJcbiAgICAvL092ZXJyaWRpbmcgdGhlIGZvdW5kYXRpb24ncyBkZWZhdWx0IGdyaWQgYXMgdGhlIGRlc2lnbiBjYWxsZWQgZm9yIGEgNSBjb2x1bW4gbGF5b3V0LlxyXG4gICAgLmxhcmdlLTIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oMi4yKTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jY2F0ZWdvcnlIZWFkaW5nLCAjcHJvZHVjdExpc3RIZWFkaW5nIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5wb3B1cC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4jYmFza2V0U3VtbWFyeUNvbnRhaW5lcjpob3ZlciB7XHJcbiAgICAjbm9Kc0Jhc2tldE5vdGlmaWNhdGlvbiB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIGJveC1zaGFkb3c6ICRib3hTaGFkb3cxO1xyXG4gICAgICAgIGJvcmRlci1ib3R0b206IDVweCBzb2xpZCAkY29sb3VyNDtcclxuICAgIH1cclxufVxyXG5cclxuI3JlZ2lzdGVyLXN1Ym1pdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uZm9yZ290dGVuLXBhc3N3b3JkLWxpbmsge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgY29sb3I6IG1hcC1nZXQoJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItY29sb3VyLCBkZWZhdWx0KTtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1mb250LXdlaWdodDtcclxuICAgIGZvbnQtc3R5bGU6ICRmb3Jnb3R0ZW4tcGFzc293cmQtYW5jaG9yLWZvbnQtc3R5bGU7XHJcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb3Jnb3R0ZW4tcGFzc3dvcmQtYW5jaG9yLWZvbnQtc2l6ZSk7XHJcbiAgICBmb250LWZhbWlseTogZ2V0LXR5cG9ncmFwaHktZm9udC1mYW1pbHkoKTtcclxuICAgIEBpZiAoJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItbGV0dGVyLXNwYWNpbmcpIHtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogJGZvcmdvdHRlbi1wYXNzd29yZC1hbmNob3ItbGV0dGVyLXNwYWNpbmc7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1jb2xvdXIsIGhvdmVyKTtcclxuICAgIH1cclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm9yZ290dGVuLXBhc3N3b3JkLWFuY2hvci1jb2xvdXIsIGFjdGl2ZSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIEFkZGVkIHNwZWNpZmljYWxseSBmb3IgdGhlIGhlYWRlci1jb21wb25lbnRzLmh0bWwgLi4uIGkga25vdyBpdCBkZXByZWNhdGVkIGp1c3QgYSBxdWljayBhbmQgZGlydHkgZ2V0IG91dC5cclxueG1wIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3VyMy0xO1xyXG4gICAgd2hpdGUtc3BhY2U6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5hbmltYXRlX19hbmltYXRlZCB7XHJcbiAgICAmOm5vdCguYW5pbWF0ZWQtY29udGVudC1hY3RpdmUpIHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5qc29uLWNvZGUtYmxvY2sge1xyXG4gICAgQGluY2x1ZGUgY21zLWNvZGUoKTtcclxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpICogMC41O1xuXG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgfVxufVxuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKDApO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIHdpZHRoIG9mIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkd2lkdGggWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCB0byBtYWtlIHRoZSBjb2x1bW4uIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgd2lkdGg6IGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXNpemUoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXNpemVcbkBtaXhpbiBncmlkLWNvbC1zaXplKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlc1xuLy8gaHR0cHM6Ly9nZXQuZm91bmRhdGlvblxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgQHJldHVybiBmcmFjdGlvbi10by1wZXJjZW50YWdlKCRjb2x1bW5zLCAkZGVub21pbmF0b3I6ICRncmlkLWNvbHVtbi1jb3VudCk7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuICAvLyBQb3NpdGlvblxuICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoYXV0byk7XG5cbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXJzKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzXG4vLyBodHRwczovL2dldC5mb3VuZGF0aW9uXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gSXQgY2FuIGJlOlxuLy8vICAgKiBBIG51bWJlcjogVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnRcbi8vLyAgICAgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlXG4vLy8gICAgIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC5cbi8vLyAgICogYGNlbnRlcmA6IENvbHVtbiB3aWxsIGJlIGNlbnRlcmVkXG4vLy8gICAqIGBhdXRvYDogQ29sdW1uIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSBsZWZ0IChvciB0byB0aGUgcmlnaHQgZm9yIHRoZSBsYXN0IGNvbHVtbikuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIC8vIEF1dG8gcG9zaXRpb25pbmdcbiAgQGlmICRwb3NpdGlvbiA9PSBhdXRvIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICAgIGNsZWFyOiBub25lO1xuICAgIH1cblxuICAgIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQdXNoL3B1bGxcbiAgQGVsc2UgaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKGRpdmlkZSgkcG9zaXRpb24sICRncmlkLWNvbHVtbi1jb3VudCkpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuXG4gIC8vIENlbnRlciBwb3NpdGlvbmluZ1xuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICAmLCAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBcImNlbnRlclwiIG9yIFwiYXV0b1wiLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oYXV0byk7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iXX0= */
